Software engineering and research at the intersection of human sensing, intelligent systems, and interactive technologies. Projects include Java libraries, educational resources, and research prototypes developed through collaboration.
- Human-centered intelligent systems: Interactive software that responds to human behavior and context.
- Affective computing (EmotionAI): Emotion-aware interaction and adaptive systems.
- Human sensing: EEG/BCI, eye tracking, and multimodal signals.
- Extended reality and robotics: XR, human–robot interaction, and interactive prototypes.
Java libraries and developer tools for sensing, robotics, graphics, and software engineering education. Links lead to public examples and documentation.
- Cortex4J — Working with Emotiv Cortex and EEG data in Java.
- RTDE4J — Communicating with Universal Robots through RTDE and URScript.
- Turtle4J — Connecting Java applications to ROS 2 robotics.
- Simple3D4J — 3D wireframe rendering in Java
- TULIP — Tools for programming and software engineering education.
- P-code — IntelliJ IDEA plugin for programming education.
Undergraduate and graduate courses in software engineering, including software design, testing, distributed systems, and collaborative development.
- CSC 3100 — Fundamentals of Software Engineering: Software design, architecture, testing, and collaborative development.
- CSC 0364 — Fundamentals of Distributed and Parallel Systems: Concurrency, parallel computing, and distributed systems fundamentals.
- CSC 0486 — Human-Computer Interaction: User-centered design, interaction design, and usability evaluation.
- CSC 5100 — Modern Software Engineering: Distributed systems, cloud services, APIs, and software integration.
- LLM from Scratch in Java — Educational implementations for understanding language models.
- MQTT Fundamentals — Publish–subscribe communication using Java and MQTT.
- Medium — Articles and reflections.




