CS 245 Computing Systems
This course takes a top-down, cohesive approach from operating systems to assembly architecture with a comprehensive perspective of current types of operating systems from PCs, laptops to mobile devices and beyond as well as their microarchitectures. Fundamental concepts include threads, dynamic memory allocation, protection, and I/O. Programming applications include both with C/C++ programming, Unix system programming, command-line Linux tools, and operating system kernel code.