General Information

Welcome to PIPS!

Zoom and Sakai links for all lectures
(for lectures)
(for lecture slides, materials, and announcements)

First lecture

On Jan 19, 2021 at 09:30am via Zoom

What is this course about?

Introduction to programming embedded control systems that lie at the heart of robots, drones, and autonomous vehicles. Topics will include modeling physical systems, designing feedback controllers, timing analysis of embedded systems and software, software implementations of controllers on distributed embedded platforms and their verification.

Some more details …

Traditionally, computers have been used to process data. So programming computers consisted of listing the sequence of computations the computer was expected to perform. But increasingly computers are being transformed from purely data processing machines to being the brain of physical devices like cars and robots that are expected to “do” things and behave in an intelligent manner in complex situations. Here, the “doing things” take precedence over computations that might be necessary in the process.

How should computers be programmed for this new role? This is what this course will be about. In order for computers to be able to make physical systems do things, we need to be able to correctly specify what they need to do, and how to do them. Again, this is fundamentally different from specifying computations. Instead, we will discuss how to model the behavior of physical systems, how to control such behavior or how to enforce a desired behavior, and finally how to encode such control strategies as computer programs.

Target Audience

This will be an introductory course that will require no background in control theory, signal processing, embedded or real-time systems. It is targeted towards senior undergraduate students and graduate students of Computer Science. The exposition in this course will primarily be theoretical in nature, and will require a background in calculus and differential equations. The course is more about understanding the theoretical foundations of systematically programming intelligent physical systems. While the material in the course will rely quite a bit on control theory, which is traditionally a part of Electrical Engineering, all necessary results will be described from first principles and anyone with a background in calculus should be able to follow.


The course requires basic understanding of programming and compilation and a good understanding of basic calculus and differential equations.

Goals and Key Learning Objectives

After completion of this course, students should be able to list and understand the key aspects of programming embedded control systems. They would know how to model simple dynamics of physical systems, and how to design simple controllers to influence and manipulate such dynamics. Finally, they would develop an appreciation for the difference between designing and implementing control algorithms. In particular, they would understand the basic principles of implementing provably correct and verifiable controllers. They would also get an exposure to emerging research topics such as cyber-physical systems and networked control systems.

COMP 590 Vs 790

This course is offered both as a 590 and also as a 790. Both the offerings have the same contents, lectures, and examinations. The 790 version has an additional term paper requirement that is not in the 590 version.

Course Requirements

COMP 590 version:

  • Problem solving in class, and class participation: In addition to lecturing by the instructor, numerical problems will be solved in each class. Students will be invited to volunteer and solve some of these problems on the board, or assist the instructor in solving them. There will be credits given for participating in such exercises and for facilitating interesting discussions.
  • In-class exams: Two exams will be administered during the semester based on the material covered in the lectures.
  • Final exam: There will be a comprehensive final examination at the end of the course. It will be closed book. Calculators (but no computers) will be allowed.

COMP 790 version:

  • All 590 requirements + Readings and term paper: Students taking this version of the course (instead of COMP 590) will be assigned an additional reading list. They will be required to submit a term paper on a topic related to this course. The topic will have to be decided in consultation with the instructor.

Grading Criteria (590 version)

The breakup of grades is tentatively set as follows:

  • 20% in class participation (especially in problem solving)
  • 25% first in-class exam
  • 25% second in-class exam
  • 30% final exam

Grading Criteria (790 version)

The breakup of grades is tentatively set as follows:

  • 20% in class participation (especially in problem solving)
  • 20% first in-class exam
  • 20% second in-class exam
  • 30% final exam
  • 10% term paper

Course Policies

  • Attendance and participation: This is an interdisciplinary course that will provide the groundwork necessary for understanding a number of emerging research topics like cyber-physical systems and autonomous systems. There are no suitable textbooks that can serve as substitutes to the discussions planned during class. Hence, the students will benefit from attending all the lectures and participating in the discussions and problem solving sessions. No attendance will however be recorded. But those participating in the discussions and attempting to solve problems being discussed in the class will receive credits, as outlined above.
  • Assignments: There will be no graded assignments in this course. However, the problems (including numerical ones) to be discussed and solved in class will be available in advance. Students are highly encouraged to try them out before coming to class, in order to better participate when they are solved in the class.
  • In-class and final exams: All exams will be closed book and closed notes. The use of a calculator is allowed. The calculator has to be approved by the instructor prior to the exam. The duration of the exams will be announced in advance. Students who do not attend or miss any exam will be given a 0 score and there are no provisions for make-up exams.
  • Term paper (for 790): Students will be required to identify a topic related to this course that is more advanced than the material covered in the lectures. They will be given 1-2 research papers on this topic as a starting point, but will have to search and identify more papers and study them. They will then write and submit a term paper on this topic, summarizing the state-of-the-art, and outlining what in their opinion are open problems and how could they possibly be addressed?

Course Materials

All course materials will be available via Sakai.


Please contact Samarjit Chakraborty if you have any questions.