Info Schedule Assignments Policies Canvas Ed

COS 217 - Spring 2021

Detailed information about this course is available farther down this page, but we find that precept and office hour info is what students really seek on the Info page. Thus, here is the standard weekly schedule of events: lecture Q&A sessions, precepts, office hours, and LabTA availability. The session names act as links to the Zoom meeting (protected by CAS login) or the resource website. All times listed are "Princeton time" (United States Eastern time). Changes in any given week will be announced on Ed. For users of small devices on which the calendar grid does not display well, here is an image version.

8:00am

9:00am

10:00am

11:00am

12:00 noon

1:00pm

2:00pm

3:00pm

4:00pm

5:00pm

6:00pm

7:00pm

8:00pm

9:00pm

10:00pm

11:00pm

P01

1:30-2:20 Donna Gabai

P01

1:30-2:20 Donna Gabai

P02

3:30-4:20 Christopher Moretti

P02

3:30-4:20 Christopher Moretti

P03

7:30-8:20 Donna Gabai

P03

7:30-8:20 Donna Gabai

P05

12:30-1:20 Christopher Moretti

P05

12:30-1:20 Christopher Moretti

P06

1:30-2:20 Huihan Li

P07

1:30-2:20 Anne Kohlbrenner

P06

1:30-2:20 Huihan Li

P07

1:30-2:20 Anne Kohlbrenner

P08

3:30-4:20 Weicong Dong

P09

3:30-4:20 Scott Karlin

P08

3:30-4:20 Weicong Dong

P09

3:30-4:20 Scott Karlin

P11

7:30-8:20 Juan Duque

P11

7:30-8:20 Juan Duque

Lecture Q&A

10:00-11:00 Szymon Rusinkiewicz

Lecture Q&A

10:00-11:00 Szymon Rusinkiewicz

Office Hours

12:00-1:00 Juan Duque

Office Hours

9:00-11:00 Donna Gabai

Office Hours

2:30-3:30 Christopher Moretti

Office Hours

5:00-7:00 Weicong Dong

Office Hours

12:00-1:00 Juan Duque

Office Hours

2:00-4:00 Scott Karlin

Office Hours

8:00-10:00 Huihan Li

Office Hours

2:30-3:30 Donna Gabai

Office Hours

1:00-3:00 Christopher Moretti

Office Hours

4:00-6:00 Anne Kohlbrenner

LabTA Hours

7:00-11:00

LabTA Hours

3:00-7:00

LabTA Hours

5:00-11:00

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. Dramatic unresolved scheduling concerns can be addressed to Colleen Kenny (ckenny@cs.princeton.edu), the COS Undergraduate Coordinator. The course's teaching staff cannot manage precept assignments.


Course Staff

Lead Instructor: Szymon Rusinkiewicz (smr@cs.princeton.edu)

Lead Preceptor: Christopher Moretti (cmoretti@cs.princeton.edu)

Faculty Preceptor: Donna Gabai (dgabai@cs.princeton.edu)

Faculty Preceptor: Scott Karlin (scott@cs.princeton.edu)

Graduate Preceptor: Weicong Dong (weicongd@princeton.edu)

Graduate Preceptor: Juan Duque (jduque@princeton.edu)

Graduate Preceptor: Anne Kohlbrenner (akohlbrenner@princeton.edu)

Graduate Preceptor: Huihan Li (huihanl@princeton.edu)

Undergraduate Graders: Eesha Agarwal, Elizabeth Berzin, AnneMarie Caballero, Anika Duffus, Katie Dykstra, Sophie Goldman, Annika Hsi, Vedrana Ivezic, Khandaker Momataz, Ayo Oguntola, Miguel Opeña, Indu Panigrahi, Rishwanth Raghu, Maithili Singne, Anton Stengel, Elliott Strahan, Lauren Tang, Nasko Tenev, Kevin Wang


Course Summary and Prerequisites

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.

COS 126 is the prerequisite. More specifically, you should have substantial programming experience using some high-level programming language such as Java or C++. Prior experience with the C programming language is helpful but not essential. If you have not taken COS 126 but wish to start in this course, a placement exam is available. Contact the COS placement officer with any questions.


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: