Research: The lab participates in educating PhD students in Computer Science and Electrical and Computer Engineering. Students pursuing MS and undergraduate degrees may enroll in directed research credits applicable to their degrees for work done in the lab.

Classroom teaching: Over the years, Gaurav has taught robotics, embedded systems, and introductory computer science courses (listed below). Due to his administrative responsibilities, he is not currently teaching.

  • CS 109: Introduction to Computer Science, Fall 2016, Spring 2017: An introductory freshman-level survey of computer science.
  • CS 698: Practicum in Teaching Computer Science, Fall 2015, Spring 2016, Fall 2016, Spring 2017, Fall 2017, Spring 2018: Teaching Computer Science PhD students how to be effective teachers and teaching assistants.
  • CS 109: Introduction to Computing, Fall 2013 (co-taught with P. Rosenbloom), Spring 2014, Spring 2015, Spring 2016An introductory freshman class on computing as a new scientific domain and a survey of computer science.
  • CS 599: Sequential Decision Making in Robotics, Spring 2011: An advanced graduate seminar on algorithms for sequential decision-making problems in robotics.
  • CS 547: Sensing and Planning in Robotics, Fall 1999, Fall 2000, Fall 2002, Fall 2003, Fall 2004, Fall 2005: The class introduced students to sensing and planning techniques in mobile robotics. In 1998, the class material had become outdated; I completely revamped it with a new syllabus and an emphasis on the mathematical principles underlying the treatment of uncertainty in modern robotics. A new set of readings and a new title accompanied the change. The class was supported by an Intel-sponsored
    laboratory grant.
  • CS 546: Intelligent Embedded Systems, Spring 2001 (as CS599), Spring 2002 (as CS599), Spring 2003, Spring 2006:  This seminar-style class introduced students to algorithms and programming techniques for distributed, embedded systems. It was supported by an Intel-sponsored laboratory grant.
  • CS 445: Introduction to Robotics, Fall 2001, Spring 2004, Spring 2005: An undergraduate introduction to robotics with an accompanying LEGO-based lab.
  • EE/CS 547: Sensing and Planning in Robotics, Fall 1998
  • CS/EE 545: Introduction to Robotics, Spring 1996: The class introduced students to basic kinematics, dynamics and control for robot manipulators. The focus was on understanding classical techniques in manipulator modeling and control.

Outreach: The lab participates in the annual USC Robotics Open House and other outreach events on a regular basis.