Prereq: CS 216 or CS 218.
This course provides an introduction to computer systems and explores computer architecture, operating systems, and networks from a programmer's perspective. The course also introduces advanced programming and debugging tools. Topics include hardware instruction sets, machine language and C language program representations, linking/loading, operating systems (process management, scheduling, memory management, interprocess communication, and file systems), network programming (socket programming and web protocols), and common security attacks and solutions.
This course provides an introduction to computer systems and explores computer architecture, organization and operating systems from a programmer's perspective. Topics include data representation in computer systems, hardware instruction sets, machine language and C language program representations, processor architecture, memory hierarchy, linking/loading and shared libraries, process management, scheduling, memory management, basic input/output and file system implementation, common security attacks and countermeasures, and basics of concurrent programming.