The University of Iowa

CS:4980 Foundations of Embedded Systems

Syllabus

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.

Lectures

MWF, 11:30am - 12:20pm, C31 PC.

Instructor

Prof. Cesare Tinelli
1410 SC
(319) 335-0735
cesare-tinelli + @ + uiowa.edu

Walk-in hours: Tue 2:00pm-3:30pm, Thu 3:30pm-5:00pm, and by appointment.

Students are invited to drop by during these hours to discuss questions about the course material or concerns about the course. The instructor is also available by appointment if you are unable to attend my walk-in hours.

Teaching Assistant

Arjun Viswanathan
201N MLH
(319) 335-0713
arjun-viswanatha + @ + uiowa.edu

Walk-in hours: Wed 2:30pm-3:30pm, Fri 10:30am-11:30am, Wed 3:30pm-3:30pm, Fri 3:30pm-3:30pm, and by appointment.

DEO

Prof. Alberto Segre
14G MLH
(319) 335-1713
alberto-segre + @ + uiowa.edu

Prerequisites

Officially: CS:2210 with a minimum grade of C- and CS:2230 with a minimum grade of C-.

In practice: The course requires a level of mathematical maturity commensurate with either ECE:3600 (Control Systems) or one of the Computation Theory requirements of the BS program in Computer Science. It is suitable for students who have or are pursuing an undergraduate or graduate degree in computer science, computer engineering, or electrical engineering.

Web Sites

Most of the information about the class, including handouts and assignments, will be available from the class web site:

http://cs.uiowa.edu/~tinelli/classes/4980/Spring20

We will also use Piazza, a class discussion service highly catered to getting students help fast and efficiently from classmates as well as the teaching staff:

https://piazza.com/uiowa/spring2020/cs4980/home

Finally, we will use ICON for homework and grade posting and for homework submissions.

Students are expected to check both the class web site and the Piazza discussion board on a regular basis (at least every other day) for announcements regarding the course.

Textbook and Readings

The required textbook is

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

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.

Additional reading materials will be made available on the course web site as needed.

Computer Accounts and Software

It will be helpful to use your account on the CS lab machines because they will have a working installation of software tools we might use in the course. Instructions on how to access those machines, on-site or remotely, and use the installed software will be provided on the course website.

Although you are welcome to use your own computer for course work, you are responsible for installing any necessary software. We regret that will not be able to provide assistance for any problems with your own installation.

Homework Assignments

A few exercises may be given during the course of the semester, covering the material from the textbook and the lectures. These exercises are required but will not be collected or graded. They can be done individually or in groups.

For each main topic there will be a graded homework assignment to be done individually.

Project

There will be a course project to be done in teams of two-three people consisting in developing an AI application from a list provided by the instructor. Team members will be asked to submit a confidential evaluation of how well they and their teammates performed as team members. Each evaluation will be be incorporated into an individual calculation of the project grade.

Exams

There will be two midterm exams and no final exam. The midterms will be held during class time respectively on February 28 and April 22 27, 2020.

Grading

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


Item Weight
Class attendance and participation 10%
Course Project 25%
Homework 25%
Midterm Exam I 20%
Midterm Exam II 20%


The following cutoffs will be used to determine letter grades. In the ranges below, x stands for your total score at the end of the semester. 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.


Score Grade
88 <= x < 100 A
75 <= x < 88

B

60 <= x < 75 C
50 <= x < 60 D
00 <= x < 50 F

Grades are not curved in this course. It is theoretically possible for everyone in the class to get an A (or an F). Your final grade depends only on your own final score and not on that of others.

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.

Cheating

Academic dishonesty will not be tolerated. In particular, under no circumstances should you pass off someone else's work as your own. This also applies to code or other material that you might find on the Internet.

Homework Assignments: Sharing solutions of graded homework assignments between students 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.
Students are allowed and encouraged to discuss with other students concepts and ideas that relate to the class and the homework assignments. However, it is important to ensure that these discussions do not lead to the actual exchange of written material.

Course Project: The same policies for homework assignments also apply to the course project but extended to project teams. In addition, all members of a team are responsible for the submitted team work and will be disciplined equally in case of academic dishonesty.

Midterm Exams: The midterms are individual tests. Once given the test, each student must be complete it without any help, of any kind, from others. Evidence of external help or of copying or sharing solutions of exam questions may lead to a fail grade. 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 (online version). Be aware that repeated academic dishonesty offenses lead to suspension or expulsion from the University.

General Course Policies

Communicating with the Instructors: We 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 will try to answer all questions posted on Piazza by the end of the following day.
We will occasionally send email announcements to all students in the class. Recall that you are responsible for all official correspondence sent to your Hawkmail address (see the general College Policies below).

Assigned Readings: 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 assignments.

Additional Readings and Discussions: Students are encouraged to go over any specifically suggested readings and consult any relevant materials beyond those provided on the course's web site. They are also encouraged to discuss the course topics with their classmates. It is a genuinely helpful learning activity having to formulate one's own thoughts about the material well enough to express them to others.

Attendance: Students are expected to attend all classes. Their knowledge and grade depend on it. They are responsible for all announcements and material covered during class even if they did not attend. Up to 5 absences are allowed for any reason.

Extra Credit: No extra-credit assignments or tests will be given on an individual basis (although they may be given to the whole class).

Make-up Exams: Make-up exams will be offered only if there is a serious, documented reason for not being able to take a scheduled exam, and if the request is made at least a week before the exam.

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

College Policies

This course follows the general policies of the College of Liberal Arts and Sciences (see http://clas.uiowa.edu/faculty/teaching-policies-resources-syllabus-insert).