This course is not available to students with credit in CIS 300. Under an asynchronous embedded-system environment where the system controls multiple devices and responds to interrupts from various peripherals, concurrent programming is more appropriate than single threaded programming. The design of hard real-time embedded systems, including language and operating system support, scheduling theory, schedulability analysis, fault tolerance, and design tools. In this course, students implement simple but complete real-time embedded systems. Students implement device drivers and applications on top of real-time operating systems and bare hardware.
Students build simple, but complete, distributed real-time embedded systems.