In this computer science course, students will develop practical software skills for programming resource-constrained systems using appropriate languages and techniques. Topics include the embedded programming model, memory layout and static allocation, bit-level data manipulation, I/O, drivers, interrupt-driven programming, communication protocols, cross-compilation and hardware debugging, and an introduction to real-time operating system concepts. Emphasis is placed on developing reliable, resource-efficient software and on building the mental models needed to reason about hardware and software as a unified system.
Prerequisites
Completion of IT-CS 301 with a grade of 2.0 or higher; AND admission to the Bachelor of Science Computer Science Degree; OR permission from a Computer Science program advisor.