Course Information

Lectures are held every Monday, Wednesday, and Friday, from 2 to 2:50 PM in Metcalf Chemical Laboratory Auditorium.

CS 33 is taught by Professor Tom Doeppner (twd).

The course is intended primarily for sophomore computer science students and computer engineers. It fulfills a core requirement for the A.B. and Sc.B. tracks in computer science, and is required for the Computer Engineering concentration.

In order to take CS 33, you should have taken CS 15, CS 18 or CS 19 (or have Tom's permission). Familiarity with a C-like language (such as C++ or Java) will help you with this course. However, knowing C is not a prerequisite for the course.

Important Documents

Course Missive

Course Syllabus

Collaboration Policy

From the Course Announcement: High-level computer architecture and systems programming. The course covers the organization of computer systems (in terms of storage units, caches, processors, and I/O controllers) and teaches students assembly-language programming and Clanguage programming. Extensive programming exercises introduce students to systems-level programming on Linux systems, as well as to multithreaded programming with POSIX threads. Students will learn the basics of how compilers work and will be introduced to the functions of operating systems.