- Programming assignments: These assignments will give you hands-on
experience with essential real-time systems problems such as real-time
scheduling, real-time communications, priority inversion, etc. These
assignments are to be performed individually and students have to deliver
source code plus a report including documentation and compilation/execution
- Course project: The goal of this component is to give you the
opportunity to get hands-on experience with a concrete problem related to
real-time and fault-tolerant computing. The project will be performed
individually or in teams of 2 students (depending on the total number of
students in this course) during the second half of the semester.
Each student/team will prepare a project proposal in
consultation with the lecturer. Further, the teams will be responsible for
frequent progress reports, demos, a term paper, and a final presentation.
The projects can cover a variety of problems, ranging from real-time
operating systems, to real-time scheduling and communication, to robotics
and mobile computing systems. The grade for this component consists of
the following deliverables: proposal: 3%, progress reports: 5%, draft of
term paper: 3%, peer review process: 4%, final paper: 5%, project
presentation and demo: 5%.
- Homework assignments: The homework assignments (or "take-home
exams") will be essential
to practice the principles and concepts discussed in the lectures. There will
be 3-4 such homeworks with short deadlines (typically one week) and they are
due by the time class starts on the day specified in the assignments. For
each day after the due date, 15% are lost, however, after 4 days, no credit
- Participation: Participation includes paper presentations,
participation in paper discussions, paper summaries, project
presentations and demos, etc.