Prof. Nagpal offers two courses in the robotics and bio-inspired collectives research area:
  • An undergraduate class (CS189) that is a hands-on introduction to AI-Robotics where every problem set involves programming real robots and demoing them in class.
  • A graduate class (CS289) on biologically-inspired multi-agent systems where we cover topics like swarm intelligence and evolutionary computing, through discussion of classic and current research papers and through independent research projects.
  • Both classes involve active participation and discussion throughout the semester. 
Prof. Nagpal also co-leads the Embedded EthiCS @ Harvard effort.
  • Embedded EthiCS is a joint intitiative between the Computer Science and Philosophy departments to design ethics modules for every course in the CS curriculum, embedding the discussion of values and ethical reasoning in our technical education. Many of our course modules are open-source and aviable on the website. In 2019, we were awarded the Mozilla Responsible Computer Science Challenge Grant! (gazette article)
CS189 Autonomous Robotics 2020 Banner
CS189: Autonomous Robotic Systems

Building autonomous robotic systems requires making Robots that Observe, Reason, and Act. How does a robot make sense of the world from raw and noisy sensor inputs? How does it control it's actions reliably and recover from failures? When does it need to reason about the world and when can it just react? How does it balance short-term problems versus long-term goals? How does it operate in a world where others (human and robots) exist? And how do we program a robot to achieve all these things? The goal of creating a robot is the goal of creating Embodied Artificial Intelligence. In this class we will study methodologies for achieving embodied AI through a hands-on and ground up approach of programming your own. In different years we've used different themese and robots, but the class is always hands-on. Our most recent version uses the Turtlebots (roomba base, depth camera, ROS) and focuses on autonomous behavior, from low level vision and motion control, to navigation and personality.

Video! CS189 Overview Video (with clips from 2016-2020)

Turtlebots: Spring 2020 Spring 2019, Spring 2018, Spring 2016.
Epucks: Course Website (2014),  Course Website (2013)WATCH the Class Video! 
Robosoccer: Course Website (2010)WATCH our class video!

CS289: Bio-inspired Multi-agent Systems a.k.a. Collective A.I.

How do we engineer robust collective behavior from the cooperation of vast numbers of unreliable agents? This class surveys bio-inspired approaches to understanding and designing collective intelligence in different domains. A unifying theme is the desire to construct robust systems consisting of many individually unreliable but cooperative nodes, and to program complex but predictable global behavior. The class covers bio-inspired algorithms, analysis techniques, and programming paradigms for engineering self-organizing systems. We will read papers that model biological systems and provide inspiration for new ways of thinking. We will then read corresponding papers that focus on algorithms, programming paradigms, and theory for engineering self-organizing systems.Topics vary year to year, and usually include: (1) swarm intelligence: social insects and animal groups, with applications to networking and robotics, (2) cellular computing: including cellular automata/amorphous computing, and applications like self-assembling robots and programmable materials, (3) evolutionary computation and its application to optimization and design. On occasion we cover topics like synthetic biology, dna self-assembly, human collective behavior, etc. The class is primarily based on discussions of research papers, along with a research project.

Course Websites (CS289): Fall 2019, Fall 2018Fall 2017Spring 2016Spring 2015 
Course Websites (CS266): Spring 2011 | Spring 2010 | Fall 2008 (also taught 2007, 2006, 2004)

CS289 BannerCS289 Banner