CS221

0418-221 Computer Systems (4 credits)

Catalog Description

The course provides a programmer’s view on computer systems and serves as a foundation for courses on system programming, compilers, computer architecture, and operating systems, where a deeper understanding of the system’s hierarchy is developed. Besides explaining the basic system architecture, it concentrates on the instruction, operating system, and assembly language level. It emphasizes the data representation of numerical and non-numerical data on the machine level. The course addresses the needs of assembly programming language that enables to write programs for the system level such as, in particular, software-hardware interfacing modules, device drivers, interrupt handlers as well as integrating of assembly code into high-level language programs. Intensive laboratory exercises will train the students in this field of programming. 

Lecture hours: 3, lab hours: 3.

Prerequisites: CS220