Prerequisites:

The assumed knowledge is what is covered in ECE 2030 (which is intro to computer engineering, covering CPU datapath, instruction-set, basic principles of pipelining, memory, buses, and networks in addition to sequential and combination logic); and CS 2330 (imperative programming and translation).

If you have not had these courses then it is likely you will have significant difficulty in handling CS 2200.

Course Outline:

A broad exposure to computer system, including the organization of the processor, memory hierarchy, storage devices, parallel processors, and the networking hardware, the software abstractions in the operating systems for orchestrating their usage, and the networking protocols to connect the computer system to its environment.

Learning Objectives:

To give undergraduates a broad exposure to systems (broadly defined to include architecture, operating systems, and networks) in the sophomore year. The intent is to unravel to the starry-eyed eager undergraduates what is inside a "box" these days. So this course will cover the hardware artifacts that go into the box, as well as the software abstractions for using them. This course is designed to get undergraduates initiated into systems and networks early so that they can "explore" in more detail in their junior year specific aspects of systems and networks. This will replace the two systems courses in the junior year in the currently approved semester curriculum.

There are 5 topics to be covered in the course: processor, memory hierarchy, I/O subsystem, parallel systems, and networking. There will be significant project component to go with each topic. Hence the 3 lab hours in the course credit. An excellent knowledge of C programming is essential for completing the projects. There are junior-level "fun" specialization courses as follow-on to this course that will allow students to explore each of these five topics (or some combination thereof) in more detail. There are also follow-on senior level courses in architecture, O/S, and networks more along the lines of the quarter courses (such as 4760, 4431, 4380) to round off these specialization areas.


Return to Class Homepage