Summary: UW/CSE Systems Programming -- CSE 333
Draft of September 14, 2009
Structural place in the curriculum
· 4 credits (3 weekly lectures, 1 weekly section, no lab)
· Pre-requisites: Hardware/Software Interface
· Subsequent courses: The following courses would have this course as a pre-requisite: Computer Graph-
ics, Computer Vision, Software for Embedded Systems. The following courses would have this course
as recommended or strongly recommended: Operating Systems, Networks. It would also be useful to
students in Databases, Compilers, and similar areas.
· Taken by: Required for CE hardware track and students in other courses that list it as a prerequsite;
elective for all other CS and CE students.
· Catalog description: To be determined
Course Overview / Goals
The focus of this course is techniques for designing, developing, and debugging programs in C and C++, in-
cluding programs that have multiple source files, communicate with the operating system, and potentially do
asynchronous or parallel computation and I/O. The course would include tools like debuggers and Makefiles
that are needed for effective programming in this environment, but that would not be the core intellectual
component of the course. The focus would be programs that are "closer to the machine" than those in the
Software Design and Implementation course, which would be complementary to the material covered here.