This course explores the fundamentals of computer systems, from program execution and data representation to networking and I/O. Students learn about compilers, processors, memory hierarchies, interrupts, and communication protocols. Through hands-on projects, including writing software for embedded systems, participants gain practical skills in building and understanding modern computing technologies.
This course provides comprehensive knowledge on designing and implementing networked embedded systems for the Internet of Things (IoT). Students explore system-level building blocks including software-hardware interaction, sensors and actuators, wired/wireless networking, embedded software development, and on-device machine learning, with emphasis on performance evaluation, energy efficiency, and practical implementation.
This course explores the fundamental principles and implementation of operating systems, covering essential concepts from process management and thread scheduling to memory virtualization and file system organization. Students learn about system calls, synchronization mechanisms, and communication between processes, while examining different operating system architectures and their impact on system performance and security.