The purpose of the course is to provide the student with an understanding of the particular challenges posed by real-time systems, particularly those for embedded and pervasive applications. Topics include the hardware and software co-development methodology, scheduling, tasks, semaphores, message queues, kernel objects, RTOS services, handling exceptions and interrupts, timer services, I/O concepts, memory management, and inter-task synchronization and communication. This course meets the expectations for alumni working in industry.
The course introduces the concepts of real-time systems from the user and designer viewpoint. The requirements, design, implementation, and basic properties of real-time application software are described with an overview of system software. Related topics such as interrupts, concurrent task synchronization, sharing resources, and software reliability are discussed. A team project on a real-time prototype application may be incorporated in the course.
Course materials include textbooks, papers, lecture slides, project guides, and other online materials.
The course grade will be based on in-class participation, exercise assignments, quizzes, course projects, and 2 exams. The grade proportions are as follows:
A complete description of the honor code can be found here .
To summarize: "Violations of the Honor Code are acts of academic dishonesty and include but are not limited to plagiarism, cheating, fabrication, aid of academic dishonesty, lying to course instructors, lying to representatives of the Honor Code, bribery or threats pertaining to academic matters, or an attempt to do any of the aforementioned violations."