Princeton University
Computer Science Department

Computer Science 217
Introduction to Programming Systems

Christopher Moretti

Fall 2020

General Information | Schedule | Assignments | Announcements | Policies


Developing programming skills for systems building, including modular program design, programming style, testing, debugging, and performance tuning. Additionally, an introduction to ARM assembly language and machine language.

Administrative Information

Important Links

Precept Schedule

All times listed are "Princeton time" (United States Eastern time).

The best way to get a spot in the precept of your choice is to regularly check the registrar's Course Offerings page and/or the listings on TigerHub. In our experience, more than a quarter of the total class enrollment changes precepts during shopping period. Please direct further questions concerning your precept assignment to Colleen Kenny, the CS Department's Undergraduate Coordinator. Colleen's contact information is provided later on this page. The course's teaching staff cannot manage precept assignments.

Meeting Time Section Preceptor
MW 1:30PM-2:20PM P01 Xiaoyan Li
MW 3:30PM-4:20PM P02 Xiaoyan Li
MW 7:30PM-8:20PM P03 Donna Gabai
MW 9:00PM-9:50PM P08 Donna Gabai
TTh 12:30PM-1:20PM P04 Ben Kaiser
TTh 12:30PM-1:20PM P04A Pi Songkuntham
TTh 1:30PM-2:20PM P05 Anne Kohlbrenner
TTh 1:30PM-2:20PM P05A Weicong Dong
TTh 3:30PM-4:20PM P06 Huihan Li
TTh 3:30PM-4:20PM P06A Scott Karlin
TTh 4:30PM-5:20PM P10 Dale Lee
TTh 7:30PM-8:20PM P07 Juan Duque

Lead Instructor

Christopher Moretti, Ph.D. :

Watch Party: Tuesday and Thursday 10:00am-11:00am

Office Hours: Friday 1:00pm-3:00pm

Lead Preceptor

Xiaoyan Li, Ph.D. :

Office Hours: Thursday 12:00noon-2:00pm

Faculty Preceptors

Donna Gabai :

Office Hours: Monday 10:00pm-12:00midnight (except 9/28)

Scott Karlin, Ph.D. :

Office Hours: Wednesday 10:00am-12:00noon

Graduate Student Preceptors

Weicong Dong :

Office Hours: Tuesday 3:00pm-5:00pm

Juan Duque :

Office Hours: Tuesday 5:00pm-7:00pm

Ben Kaiser :

Office Hours: Friday 10:00am-12:00noon

Anne Kohlbrenner :

Office Hours: Sunday 2:00pm-4:00pm

Dale Lee :

Office Hours: Wednesday 5:30pm-7:30pm

Huihan Li :

Office Hours: Monday 10:00am-12:00noon

Pi Songkuntham :

Office Hours: Thursday 2:00pm-4:00pm

Undergraduate Graders

Undergraduate Coordinator

Colleen Kenny :

Lab Teaching Assistants

Available on Zoom via LabQueue. 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 Textbooks

Highly Recommended Textbook

Recommended Textbook

Reference Manuals

The course uses these manuals, for reference only:

Academic Regulations

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