Resources

Discussion forum. The best way to ask a short question about the course materials is via Ed Discussion, an online discussion forum where you can ask (and answer) questions.

Lab TAs. Undergraduate lab TAs are available to answer general computing questions in Lewis 121/122. They can assist you in debugging, provided you have first made a reasonable effort to identify the bug and isolate the problem. For non-debugging questions, use Ed Discussion or office hours.

Canvas. You can find links for Zoom office hours, electronic reserves of course materials, and recorded versions of precepts in Canvas.

Precept Assignment. 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 our course administrator Sue Giranda (sgiranda@princeton.edu). The course's teaching staff cannot manage precept assignments.

Week at a glance

F = Friend Center, CS = Computer Science Building, C = Corwin

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

L01

F101 10:00 Szymon Rusinkiewicz

L01

F101 10:00 Szymon Rusinkiewicz

P01

F110 1:30 Christopher Moretti

P01

F110 1:30 Christopher Moretti

P02

F110 3:30 Christopher Moretti

P02

F110 3:30 Christopher Moretti

P03

F108 12:30 Guðni Nathan Gunnarsson

P03

F108 12:30 Guðni Nathan Gunnarsson

P04

F110 12:30 Sam Ginzburg

P04

F110 12:30 Sam Ginzburg

P05

F108 1:30 Indu Panigrahi

P05

F108 1:30 Indu Panigrahi

P06

F110 1:30 Gongqi Huang

P06

F110 1:30 Gongqi Huang

P07

F108 2:30 Nanqinqin Li

P07

F108 2:30 Nanqinqin Li

P09

F108 3:30 Jianan Lu

P09

F108 3:30 Jianan Lu

P10

F108 7:30 Dwaha Daud

P10

F108 7:30 Dwaha Daud

Intro COS Lab Hours

7:00-11:00

Intro COS Lab Hours

3:00-7:00

Intro COS Lab Hours

5:00-11:00

Office Hours

CS222 11:00-12:00 Szymon Rusinkiewicz

Office Hours

CS222 11:00-12:00 Szymon Rusinkiewicz

Office Hours

C036 10:00-12:00 Christopher Moretti

Office Hours

Zoom 10:00-12:00 Christopher Moretti

Office Hours

F010 1:30-4:30 Sam Ginzburg

Office Hours

F010 1:30-4:30 Guðni Nathan Gunnarsson

Office Hours

F010 5:00-8:00 Gongqi Huang

Office Hours

F010 2:00-5:00 Nanqinqin Li

Office Hours

F010 3:00-6:00 Dwaha Daud

Office Hours

F010 2:00-5:00 Indu Panigrahi

Office Hours

F010 9:00-12:00 Jianan Lu

Concepts Study Hall

Frist 1:30-4:30 McGraw Tutors

Course staff


Szymon Rusinkiewicz
Lead Instructor
Extra office hours signup

Christopher Moretti
Courserunner and Lead Preceptor

Sue Giranda
Course Administrator

Dwaha Daud
Preceptor

Samuel Ginzburg
Preceptor

Guðni Nathan Gunnarsson
Preceptor

Gongqi Huang
Preceptor

Nanqinqin Li
Preceptor

Jianan Lu
Preceptor

Indu Panigrahi
Preceptor

The staff is complemented by a team of undergraduate course assistants: Mila Bileska '25, Andres Blanco Bonilla '24, Caroline Coen '25, Spencer Doyle '26, Karim Elbarbary '24, Derek Geng '26, John Hart '24, Quinn Haverstick '25, Rafay Khan '25, Shruti Roy '25, Rin Kuroda '25, Joshua Lau '26, Annie Lin '25, Javier Linero-Quintana '25, Isabel Liu '26, Libo Tan '25, Kayla Waitman '25, Harvey Wang '24, Charles Yu '26, and Joie Zhang '26.

About the course

Description. Developing skills for composing large programs, including modularity, abstraction, programming style, and best practices for code development, testing, debugging, and performance tuning. Additionally, an overview of computing environments and architectures, through the C programming language, assembly language, and machine language.

Prerequisites. COS 126, ECE 115, ISC 231-234, or approval by the COS placement officer.

COS 217 and 226 may be taken in any order. A student planning to take both can do so in the order that best fits their interests and schedule constraints.

Lectures. Lectures meet at 10–10:50am on Mondays and Wednesdays in Friend 101. Attendance is required. Laptops, tablets, and phones are prohibited, except for activities directly related to lecture, such as viewing lecture slides and taking notes.

Precepts. Precepts meet twice per week and cover details pertinent to programming assignments and exams. Come prepared to participate in the discussion, not just ask questions. This includes reading the assignment specification before the corresponding precept.

Textbooks and Other Readings

Required Textbooks. Also accessible on limited electronic reserve from the Reserves menu on Canvas.

Recommended Textbooks.

Reference Manuals. The course uses these manuals, for reference only: