Princeton University
Computer Science Department

Computer Science 217
Introduction to Programming Systems

Robert Dondero

Fall 2014

General Information | Schedule | Assignments | Announcements | Policies

Course Summary

The purpose of this course is to provide the fundamental background necessary to understand, design and implement the components of programming systems. Examples of such components include text editors, assemblers, compilers, loaders, interpreters, and portions of operating systems. The course is divided into three major parts: machine organization and assembly language programming, program design and development, and software tools.

Administrative Information


TTh 10:00AM-10:50AM, Friend Center 101


Please direct questions concerning your precept assignment to Colleen Kenny-McGinley, the CS Department's Undergraduate Coordinator. Colleen's contact information is provided later on this page. The course's professor, lead preceptor, and graduate student preceptors do not manage precept assignments.

Number Meeting Time Meeting Place Preceptor
1 MW 1:30PM-2:20PM CS Building 102 Petras
2 MW 3:30PM-4:20PM CS Building 102 Petras
3 MW 7:30PM-8:20PM CS Building 102 Zhang
3A MW 7:30PM-8:20PM Friend Center 111 Tom Wu
4 TTh 12:30PM-1:20PM CS Building 102 Dondero
4A TTh 12:30PM-1:20PM Friend Center 110 Kaplan
5 TTh 1:30PM-2:20PM CS Building 102 Dondero
5A TTh 1:30PM-2:20PM Friend Center 110 Sethi
6 TTh 3:30PM-4:20PM CS Building 102 Chen
7 TTh 7:30PM-8:20PM CS Building 102 Iriza
7A TTh 7:30PM-8:20PM E-Quad D221 Sethi

Lead Instructor

Robert Dondero, Ph.D.: CS Building 206 :

Office Hours: TTh 11:00AM to 11:50AM and 2:30PM to 3:20PM in CS Building 206

Lead Preceptor

Iasonas Petras, Ph.D.: CS Building 209 :

Office Hours: M 12:30PM to 1:20PM, M 4:30PM to 5:20PM and MW 2:30PM to 3:20PM in CS Building 209.

Preceptors and Graders

Alan Kaplan, Ph.D.: 221 Nassau Street Room 105:

Office Hours: T 1:30-3:00 and Th 3:00-4:30 in 221 Nassau Street Room 105

Po-Hsuan (Cameron) Chen: EQuad F310:

Office Hours: TTh 2:30PM to 3:20PM in CS Building Tea Room (2nd floor).

Alexander Iriza: CS Building 001B:

Office Hours: W 5:00PM to 5:50PM and 6:00PM to 6:50PM in CS Building 001B.

Raghav Sethi: 221 Nassau :

Office Hours: MW 11:00AM to 12:40PM in CS Building 003.

Yannan (Terry) Wang: 221 Nassau:

Office Hours: F 12noon to 12:50PM and 1:00PM to 1:50PM in 221 Nassau.

Yuxuan Wang: EQuad F210:

Office Hours: F 4:00PM to 4:50PM and 5:00PM to 5:50PM in EQuad F210.

Tom Wu: CS Building 001B:

Office Hours: F 2:00PM to 2:50PM and 3:00PM to 3:50PM in CS Building 001B.

Haoyu (Harris) Zhang: CS Building 318C:

Office Hours: MW 8:30PM to 9:20PM in CS Building 102.

Undergraduate Graders

Dorothy Chen :

Annie Chu :

Matthew Colen :

Naphat Sanguansin :

Undergraduate Coordinator

Colleen Kenny-McGinley : CS Building 210 :

Lab Teaching Assistants

Available in the Friend Center 016 and 017 computer labs. A lab teaching assistant schedule provides details.


COS 126. More specifically, you should have substantial programming experience using some high-level programming language such as Java. Prior experience with the C programming language is helpful but not essential.

Textbooks and Other Reading

The course uses these textbooks and manuals:

Required Textbook

That book is available in the University bookstore and is on reserve in the Engineering Library.

Highly Recommended Textbooks

Those books are available in the University bookstore and are on reserve in the Engineering Library.

Reference Manuals

The course uses these manuals, for reference only:

All are available at no cost through the course website.

Academic Regulations

Please study the course Policies, especially those regarding collaboration on assignments.