EC 444 Smart and Connected Systems

New Course for Fall 2018

T/Th 1:30—3:15pm

Course Description:

Hands-on introductory course to cyber-physical and IoT systems. Microcontrollers: integrated development environments (IDEs), architectures, and I/O interfaces. Hardware interfacing of signals: sensors, actuators, duty cycling, and AD/DA conversions. Cyber-physical systems: formal design and specification, real-time OS, programming, and control. IoT systems: smart phones, wireless personal area networks (WPANs), IP gateways, mobile cloud computing, reliability, security, and privacy.

Prerequisites: Introduction to Logic Design (EC311); Introduction to Software Engineering (EC327)

The course is meant to be a hands-on, giving students the opportunity to learn topics in cyberphysical and IoT systems, and then put those concepts to practice by developing and debugging small scale connected microcontroller systems. The course goals are to introduce students to (1) embedded microcontrollers and I/O, (2) cyberphysical systems concepts and real time software (3) modern wireless and connected technology, and (4) hardware and software development, debugging, and collaboration and management tools.

Course Topics


  • Introduction to microcontrollers and microprocessors.
  • Integrated Development Environment (IDEs), GNU compiler collection (gcc) with assembler, linker, and debugger, and JTAG resources; github
  • Microcontroller architecture
  • I/O including Serial Peripheral Interface (SPI), Universal Asynchronous Receiver/ Transmitter (UART), Inter-Integrated Circuit (I2C)

Hardware Interfacing of Signals

  • Analog vs digital signals
  • Event discretization
  • Analog-to-digital and Digital-to-analog conversions.
  • Sensors and Actuators
  • Low power design considerations
  • Sense-compute-actuate computing cycle.

Cyber Physical Systems

  • Introduction to cyber-physical systems (CPS): Key characteristics of CPS; Models of computation (continuous and discrete systems computing); Design principles (state-based computing systems and their state transitions); Specification, modeling, design and analysis of CPS.
  • Real time OSs
  • Software concepts for programming RT systems. Event-drive, interrupt driven, polling
  • Control systems for embedded devices, implementing PID

IoT Systems

  • Computer networking: LANs, WPANs, 6loPAN
  • WiFi, BLE, and ZigBee.
  • IP networks and gateways
  • Computing with distributed asynchronous devices
  • Device-to-device and device-to-cloud communications, Real-time vs. offline data processing, resource-constrained computing.
  • Smart phones
  • Reliability and security considerations in IoT systems
  • Privacy and trust


Course Outcomes – at the end of this course, students will have:

  1. Understanding of fundamental concepts in cyberphysical and embedded systems;
  2. Ability to program embedded and connected systems;
  3. Ability to evaluate the performance, reliability, and energy efficiency of CPS/IoT systems;
  4. Awareness of security and privacy challenges in smart and connected systems;
  5. Ability to conduct team-based systems design.


NOTE: The exact syllabus is TBD as this course is in development