Teaching


Fall 2017 | 2018 : Graduate course

Prinicples of Modeling for Cyber-Physical Systems

"All models are wrong, but some are useful" [George E.P. Box] - This course is about building useful models

Course Website


Design of complex and reliable cyber-physical systems (CPS) requires the creation of mathematical models, both of the environment and of the system itself. Such models allow us to analyze, control, verify, and optimize a system’s performance. The modeling choice is largely dictated by the intended use of the model plus the intricacies of the underlying physical domain. This course will provide a solid foundation for understanding different modeling paradigms, and explore them through a deep dive and hands on implementation for three CPS domains: Energy, Medical, and Automotive cyber-physical systems. Students will come out of this course with advanced and transferrable knowledge of model-based design methods and tools, and will be ready for tackling multi-disciplinary systems projects. In addition, you will become domain experts in energy, medical, and automotive cyber-physical systems.


View Course Lectures from 2017


Spring 2018: Undergraduate course

F1/10 Autonomous Racing: Perception, Planning, and Control for self-driving cars

Its 1/10 the scale, but 10 times the fun !

Course description and syllabus:


Students will work in teams to build, drive, and race 1/10th scale autonomous cars, while learning about the principles of perception, planning, and control. You will learn to use robot operating system (ROS), integrate various sensors (IMU, Cameras, LIDAR) on an embedded computer, and implement algorithms for localization, mapping, path planning, and control. The course culminates in a F1/10 ‘battle of algorithms’ race amongst the teams.


Spring 2016: Guest Lecture (UPenn)

Machine Learning for the Internet of Things


Teaching Assistant, Guest Instructor [2010,2011,2012,2013] (UPenn)

ESE519:Real-Time and Embedded Systems


The course spana a variety of topics ranging from microcontroller basics, computer architecture through the eyes of an embedded developer, peripherals interfacing and device drivers, real-time concepts like scheduling, concurrency, synchronization and real-time controls. I mentored the folowing projects:

  • AutoNET: An automotive engine control unit (ECU) network test-bed.
  • Robo Soccer face off [2010, 2011, 2012]: Fully autonomous soccer playing robots.
  • Mortal Kombat face off : Nintendo game control hack with gesture recognition.
  • Body Sensor Networks - Wireless electrocardiograph (ECG) sensor.
  • Autonomous Obstacle Avoidance using a IR depth sensor, roomba and a laser range sensor (LIDAR).
  • KinectVR: Robotic arm control using the MS Kinect sensor.
  • Sensor Logistics: GPS based real time tracking for shipments/packages.