Courses
SYSC 3310 (Winter 2019, Fall 2019) – Introduction to Real Time Systems
Principles of event-driven systems. Microcontroller organization. Development of embedded applications. Programming external interfaces, programmable timer. Input/output methods: polling, interrupts. Real-time issues: concurrency, mutual exclusion, buffering. Introduction to concurrent processes.
SYSC 4310 (Fall 2019) – Computer Systems Architecture
Evolution of computer systems architecture to improve performance. Memory hierarchy, hardware accelerators. Instruction level parallelism, pipelining, vector processing, superscalar, out-of-order execution, speculative execution. Thread level parallelism, multi-core, many-core, heterogeneous systems. Processor-level interconnect bus, non-uniform memory access. Application-oriented architectures. Virtualization.
SYSC 5807 – Section Z (Winter 2020) – Hardware/Software Co-Design
Principles of hardware/software co-design. Power, performance and size trade-offs. Top-down design using High Level Synthesis. Bottom-up design using Hardware Description Languages. Softcore processors on FPGAs and associated toolchain porting.
Senior projects (Capstone) supervision
Robotic mobile printer
Development of a robotic mobile printer, capable of spray-painting an uploaded image on the floor.
Robotic crate carrier based on 3D models
Development of a sensorless robotic system capable of moving crates, based on a software 3D representation of the physical world.
Robotic guitar player
Development of a robotic guitar player, capable of performing pre-recorded music as well as improvising in real-time along with human players.
eHealth – Smartphone App for vascular pulse measurement (2018/2019)
Smartphone application capable of vascular pulse measurement through image processing.
eHealth – Wearable heart-rate and temperature monitor (2018/2019)
Wearable device capable of monitoring user’s heart rate and body temperature.
Other
Attended Carleton Educational Development Center Certificate in University Teaching course