Software engineering research and computer science education, with a focus on human-centered AI, human sensing, human–robot interaction, and interactive visualization.
ROVER explores how people monitor, visualize, and operate robots through desktop and web interfaces.
- RTDE4J — Get started with RTDE in Java by querying the controller software version. ROVER Desktop uses a more advanced implementation for continuous feedback.
- Turtle4J — Connect Java applications to ROS 2 through rosbridge or an MQTT bridge. The examples use Turtlesim, and validation on a physical TurtleBot 4 is pending.
- ROVER Desktop — Stable v1.0.0 downloads provide a real-time digital twin for Universal Robots e-Series arms, with live RTDE feedback from a physical controller or URSim. The v2.0.0 prerelease adds offline UR3e simulation with optional Claude Desktop integration via MCP for the simulator.
- ROVER Web — Explore a simulated UR3e and exchange joint poses through MQTT. Live demo
ADAS investigates how interactive systems can use signals of human affect and cognition to adapt their behavior.
- Cortex4J — Access EEG, band power, and other EMOTIV Cortex data streams from Java.
VERO explores 3D rendering, spatial tracking, and interactive virtual environments.
- Simple3D4J — A lightweight Java library for displaying 3D wireframes and point clouds.
- Meta Pose Tracking — Stream Meta Quest tracking data over MQTT and visualize body poses in real time on a Java desktop app.
Undergraduate and graduate course materials include assignments, labs, and team projects.
- CSC 3100 — Fundamentals of Software Engineering. Software design, architecture, testing, and collaborative development.
- CSC 364 — Fundamentals of Distributed and Parallel Systems. Concurrency, parallel computing, and distributed systems.
- CSC 486 — Human–Computer Interaction. User-centered design, interaction design, and usability evaluation.
- CSC 5100 — Modern Software Engineering. Distributed systems, cloud services, APIs, and software integration.
- TULIP — Java library for reading GitHub repositories and working with Taiga projects, sprints, user stories, and tasks.
- P-Code VM — Step through P-Code programs and inspect runtime state in IntelliJ IDEA. JetBrains Marketplace
- LLM from Scratch in Java — Build a GPT-style language model in Java to understand how it works.
- MQTT Fundamentals — Practice publish–subscribe communication with Java and MQTT.
- Medium — Articles and reflections.




