ESE 350 – Introduction to Embedded System (Spring)
This course introduces the use of microcontrollers, sensors and actuators in building real systems that interact with the physical world. This course focuses heavily on learning by doing. Readings, lectures, and discussions serve to support the main concepts of the laboratory exercises while pre-lab quizzes, laboratory reports, and exams ensure that the concepts are well understood. Each team of an EE student and SE student will be loaned a microcontroller kit. Topics covered will be I/O, polling, interrupts, timers, etc. Each team develops hardware and software systems to read sensors, drive motors and communicate between kits. The final weeks will feature an open-ended project where students design and develop an embedded system of their own. Examples of such systems include an m&m sorting machine, a building security system with a keypad and a smart dust bin which opens without touch.
Prerequisites: ESE or CIS undergraduate standing.
ESE519 – Graduate Real-Time and Embedded Systems (Fall)
The primary objectives of this course are to:
- Obtain a broad understanding of the technologies and applications for the emerging and exciting domain of real-time systems and embedded wireless networks
- Get in-depth hands-on experience in designing and developing a real operational embedded network system, and
- Design and develop foundational systems software, sensor-actuator-controller algorithms and network protocols.
Prerequisites: Programming in C/C++, ESE 350 or equivalent, one course on computer networks and senior or graduate standing. Prior hands-on experience with network programming, operating systems and assembly language are essential.