Hold on just a sec...
3 credits
Spring 2026 Lecture Upper DivisionSoftware for embedded systems; programming with extreme constraints on memory, storage, and processing power; programming models, including synchronous, asynchronous, and concurrent; programming systems that run forever; use of Finite State Machines (FSMs); review of embedded hardware and available boards; asynchronous and synchronous serial connections (e.g., RS232 and SPI); General Purpose I/O (GPIO) pins; relays, servos, and other peripherals; design for low power; battery characteristics; systems that communicate over computer networks and the Internet; current industry practices; design of embedded projects; working in teams. CS 35200 (Compilers) and CS 35400 (Operating Systems) are recommended, but not required.
Learning Outcomes1Understand basics of embedded systems.
2Understand how and why many Internet of Things (loT) devices use the cloud.
3Understand how embedded systems are employed in a variety of situations, including smart homes and buildings, security systems, cars, and planes.
4Understand the three basic programming models, and when each is appropriate.
5Understand how synchronous and asynchronous serial devices operate.
6General characteristics of batteries and which type of battery is appropriate for various embedded designs.
7Understand the use of relays and how embedded logic that operates on low voltage can control high voltage peripherals.
8Understand why systems that use sensors and actuators must be calibrated.
9Understand how to build and demonstrate a working embedded system.