Skip to content

Syllabus

CS:5980 Topics in Computer Science III

Foundations of Embedded Systems

The University of Iowa
The College of Liberal Arts and Sciences
Fall 2026

Course Description

This course gives an overview of the principles underlying the design and analysis of embedded systems, software systems that interact with the physical environment, typically to control the behavior of physical devices. This kind of software can be found in a rapidly increasing variety of commercial products, from smart appliances to medical devices to automobiles. An understanding of embedded computation focuses on the continuous dynamics of the physical world; the reactive nature of the interaction of embedded software with its physical environment; the different ways system components communicate and cooperate; and system requirements concerning safety, timeliness, stability, and performance. The development of techniques and tools to approach the design, analysis, and implementation of embedded systems in a principled way is an active area of research. The course seeks to give students a coherent introduction to this emerging field.

Learning Objectives

In this course students will:

  1. Learn about formal models of reactive systems and specification languages for them.
  2. Understand the difference between synchronous and asynchronous models of concurrency together with their pros and cons.
  3. Understand the difference between discrete-time and continuous-time behavior.
  4. Learn how to design reactive systems by building formal models for them.
  5. Learn how to specify temporal properties of reactive systems.
  6. Practice with automated and interactive tools to verify properties of system models.

Students should be prepared to put in considerable time and effort into reading to become familiar with the course’s topics, and into homework and exercises to gain experience with the techniques seen in class.

Outline of Course Topics

The course will span a large subset of the following topics.

The synchronous model of reactive computation. Reactive components and their properties. Deterministic, non-deterministic, combinational, stateful and event-triggered components. Synchronous parallel composition. Designing synchronous systems. Synchronous networks. Safety requirements. Invariants. Requirement-based design. Complexity of automated invariant verification.

The asynchronous model. Asynchronous processes. Executions and interleaving semantics. Asynchronous parallel composition. Safety and progress requirements. Synchronization. Fairness assumptions. Correctness under fairness assumptions. Liveness requirements. Introduction to Linear Temporal Logic. Syntax and semantics. LTL specifications. Asynchronous protocols.

The timed model. Clocks. Parallel composition. Modeling imperfect clocks. Timed-based protocols.

Dynamical systems. Feedback control loops. Continuous-time components. Sufficient conditions for the existence and uniqueness of executions. Equilibria and stability. Designing controllers. Open- and closed-loop controllers.

Required Textbook, Readings, and Other Materials

The required textbook is:

Principles of Cyber-Physical Systems by R. Alur. MIT Press, 2015, ISBN: 9780262548922

The full book is available online to University of Iowa students. A paper copy of the book is also on reserve in the Engineering Library. Lecture slides will be posted on the course website and will be part of the required readings. Additional reading materials will be made available on the course website as needed.

Types of Assessments

  • Two midterm exams and one final exam.
  • Homework assignments.
  • Graded in-class quizzes.
  • Ungraded exercises.

Course Meeting Time and Place

Tue & Thu @ 3:30pm - 4:45pm, E264 CB

Department

Computer Science

Instructor

Cesare Tinelli

Student Drop-in Hours

Students are invited to drop by in person or on Zoom (884 316 858) during the hours listed below to discuss questions about the course material or other concerns.

DayTime
Monday2:30pm - 3:30pm
Wednesday11:30am - 12:30pm
Thursday01:30pm - 02:30pm

The instructor is also available by appointment if you are unable to attend the scheduled drop-in hours.

Teaching Assistant

Xiang Liu

Student Drop-in Hours

DayTime
Tuesday10:30am - 12:00pm
Friday1:00pm - 2:30pm

The TA is also available by appointment if you are unable to attend the scheduled drop-in hours.

Departmental Executive Officer (DEO)

Alberto Segre

Student Complaints

Students with a complaint about a grade or a related matter should first discuss the situation with the TA and/or the course instructor, and finally with the DEO (Chair) of the CS department. Sometimes students will be referred to the department or program’s Director of Undergraduate Studies (DUS) or Director of Graduate Studies (DGS).

Undergraduate students should contact CLAS Undergraduate Programs for support when the matter is not resolved at the previous level. Graduate students should contact the CLAS Graduate Affairs Manager when additional support is needed.

Course’s College Administrative Home

The College of Liberal Arts and Sciences (CLAS) is the home of this course, and CLAS governs the policies and procedures for its courses. Graduate students, however, must adhere to the academic deadlines set by the Graduate College.

Drop Deadline

You may drop an individual course before the drop deadline; after this deadline you will need collegiate approval.You can look up the drop deadline for this course here. When you drop a course, a “W” will appear on your transcript. The mark of “W” is a neutral mark that does not affect your GPA. To discuss how dropping (or staying in) a course might affect your academic goals, please contact your Academic Advisor. Directions for adding or dropping a course and other registration changes can be found on the Registrar’s website. Undergraduate students can find policies on dropping CLAS courses here. Graduate students should adhere to the academic deadlines and policies set by the Graduate College.

ICON Site

To access the ICON course site, log into Iowa Courses Online (ICON) using your Hawk ID and password. The ICON site will contain links to other course resources such as the course website (which will contain most information pertaining to the course and the lectures), the Piazza discussion page (for announcements, questions and discussions) and the recorded lectures.

Communicating with the Instructors

The instructors welcome questions related to the course. Students are strongly encouraged to post their class-related questions on Piazza (publicly or privately, as appropriate) rather than emailing questions to the teaching staff. Questions sent by email will receive lower priority. We are committed to answering all questions posted on Piazza within 24 hours.

We will make any course-related announcements on Piazza and will occasionally send direct email notifications to all students in the class. Students are responsible for all official correspondences sent to their UI email address (uiowa.edu) and must use this address for any communication with instructors outside of Piazza. For the privacy and the protection of student records, UI faculty and staff can only correspond by email with UI addresses.

Academic Excellence and Workload

The University of Iowa expects students to set high academic standards for themselves and work hard towards achieving them. You can achieve true academic excellence only through dedicated work. An average workload of 6 hours a week besides class attendance should be considered the norm for this course. More effort might be needed depending on your background, predisposition and academic ambition.

Grading System

Final grades will be awarded based on the following ranges:

GradeRange
A89-100
B75-88
C61-74
D50-60
F0-49

Final scores near a cutoff will be individually considered for the next higher grade. Plus (+) and minus (-) grades will also be given; their cutoffs will be determined at the end of the semester. A+ will be given to scores close or above 100.

Course Grades

The weighting of items in grade determination will be the following:

ItemWeight
Participation and quizzes10%
Homework assignments16%
Midterm I22%
Midterm II22%
Final exam30%

No extra-credit assignments or tests will be given on an individual basis, although they may be given to the whole class.

Class Attendance and Participation

Lectures will be in person for the UI students. Grinnell students will be able to attend the same lectures remotely via Zoom. Lectures will be taught in person, with frequent (ungraded) in-class exercises or other forms of active participation. Students are expected to attend all lectures and, in case they cannot attend a lecture, timely watch its recorded version. Students are responsible for all announcements made in class and material covered there regardless of whether they attended/watched the lecture or not.

Up to 5 absences are allowed for any reason. Past that limit they are subject to the general policies below:

Since a substantial percentage of your grade will be based on class participation, it is in your interest to attend every class and be ready to make significant contributions to in-class discussions. Participation includes being up to date with the course readings to be able to answer questions from the instructor and actively contribute to the solution of in-class exercises.

Accommodations

Students with disabilities are urged to contact the instructor at the beginning of the semester to discuss suitable accommodations. Accommodation requests will then have to be sent to the instructor in writing, by email. Beyond that, the course will follow the general policy below:

Other Expectations of Student Performance

Academic Honesty and Misconduct

All students in CLAS courses are expected to abide by the college’s standards of academic honesty. Undergraduate academic misconduct must be reported by instructors to CLAS according to these procedures. Graduate academic misconduct must be reported to the Graduate College according to Section F of the Graduate College Manual.

In general, you are allowed and encouraged to discuss with other students concepts and ideas that relate to the class and the homework assignments. However, for individual homework assignments, it is important to ensure that these discussions do not lead to the actual exchange of written material. The use of AI tools is also allowed but subject to disclosure and attribution. See the AI policy below.

This course assumes that work submitted by students will be generated by the students themselves, working individually or in teams. This means that the following will be considered violations of academic integrity: a student has another person or an AI tool do the writing of any substantive portion of an assignment or exam for them; this includes hiring a person or a company to write homework or exam solutions.

In addition, the following is also explicitly disallowed.

  • Graded homework: Sharing solutions of graded homework between teams or copying someone else’s work, including posted solutions from previous editions of the course, is not allowed. Doing that will result in a zero on the assignment and a report to the CS Department’s chair and the College. For team assignments, all members of a team are responsible for the submitted teamwork and will be disciplined equally in case of academic dishonesty. Make sure you are fully aware of what is being submitted if you are not the submitter.

  • Exams: The midterm and final exams are individual tests. Each student must complete them without any help from others. Exam answers showing strong similarities and/or duplication will receive a fail grade and the students involved will be reported to the Department and the College.

If you are unclear about what constitutes academic dishonesty, it is your responsibility to contact the instructors or consult the CLAS policy, also available at the original CLAS policy URL. Be aware that repeated academic dishonesty offenses lead to suspension or expulsion from the University.

Artificial Intelligence (AI) Policy

Using AI tools like ChatGPT, Copilot and so on, in homework assignments is permitted. However, students must disclose such use in their submission. Moreover, they must use AI only to get help in solving problems from the assignment. You should not just pass the assignment to the LLM and ask for a solution. For each problem in an assignment, you must indicate how AI-generated material informed your solution process and the final solution, including how you validated any AI-generated response included in your solution. Each assignment may contain more specific guidance on how these tools might be part of your process and how to provide transparency about their use in your work.

Readings and Discussions

Students are expected to study all the material assigned as required readings, even if that material is not explicitly discussed in class or in the homework. They are encouraged to go over any specifically suggested readings and consult any relevant materials beyond those provided on the course website. They are also encouraged to discuss the course topics with their classmates. It is a genuinely helpful learning activity to formulate one’s own thoughts about the material well enough to express them to others.

Homework Assignments

There will be 5-6 graded homework assignments, some to be done individually, and some to be done in teams of 2 people. See ICON for the expected release dates and submission deadlines. These will be adjusted as needed.

For the team assignments, each team member will be expected to be involved in all aspects of the assignment (no dividing up the work). The whole team is responsible for the work submitted. Although the work is shared, each student will receive an individualized grade. Team members will be asked to submit an evaluation of how well they and their teammates performed as team members. Each evaluation is confidential and will be incorporated into the calculation of the individual grade.

Each student is responsible for contacting other students and forming a team. The discussion forum on Piazza can be used to establish initial contacts. It is okay to form different teams for each project. Teams of 1 are accepted but not encouraged. No reduction of work will be granted to them.

Exams

There will be two midterm exams and one final exam. They will be all on campus for the UI students and all online for the Grinnell students. The midterms will be held outside class time. The final exam will be held during exam week, per university schedule, and will last two hours. The midterms will each cover material from approximately one third of the course, including information presented in lectures and the assigned readings. The final will be comprehensive. All exams will test your knowledge of basic concepts, terms, and general techniques discussed in the course. More information will be provided later in the course. In preparation for each exam, it is strongly recommended that students complete all the readings, exercises, and homework assigned until then.

Date and Time of the Final Exam

The final examination date and time will be announced by the Registrar generally by the fifth week of classes, and it will be announced on the course ICON site once it is known. Consult the Registrar’s final exam schedule for the date, time, and place once it is published. Do not plan your end-of-semester travel plans until the final exam schedule is made public. It is your responsibility to know the date, time, and place of the final exam.

Make-up Exams

The Registrar’s Office website details which types of schedule conflicts qualify for make-up exams and the processes students should follow to request make-up exams. Not all conflicts qualify for make-up exam times, and requests must be made by the deadlines listed. Emergency situations will be considered on a case-by-case basis.

Regrading

Students thinking a graded assignment or test has been misgraded and deserves a regrading are invited to let the instructors know. The instructors welcome and will give full consideration to all well-motivated regrading requests.

Student Support Resources and Related Policies

Students are invited to connect/drop by during the posted drop-in hours to discuss questions about the course material or concerns. The instructors are also available by appointment if you are unable to attend the scheduled drop-in hours.

The university provides several sources of support. See the following links for more information: