Princeton University
Computer Science Department

Computer Science 217
Introduction to Programming Systems

Robert Dondero

Fall 2014


Directory
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

Lectures

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

Precepts

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 : rdondero@cs.princeton.edu

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 : ipetras@cs.princeton.edu

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: ak18@cs.princeton.edu

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: pohsuan@princeton.edu

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

Alexander Iriza: CS Building 001B: airiza@princeton.edu

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

Raghav Sethi: 221 Nassau : raghavs@princeton.edu

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

Yannan (Terry) Wang: 221 Nassau: yannanw@princeton.edu

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

Yuxuan Wang: EQuad F210: ywthree@princeton.edu

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

Tom Wu: CS Building 001B: tongbinw@princeton.edu

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

Haoyu (Harris) Zhang: CS Building 318C: haoyuz@princeton.edu

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

Undergraduate Graders

Dorothy Chen : dschen@princeton.edu

Annie Chu : anyuanc@princeton.edu

Matthew Colen : mcolen@princeton.edu

Naphat Sanguansin : naphats@princeton.edu

Undergraduate Coordinator

Colleen Kenny-McGinley : CS Building 210 : ckenny@cs.princeton.edu

Lab Teaching Assistants

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


Prerequisites

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.