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 122 (Lewis 138 on Thursdays). 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. The course's teaching staff cannot manage precept assignments. Dramatic unresolved scheduling concerns can be addressed to the department's Undergraduate Program Manager: Colleen Kenny (ckenny@princeton.edu).

Week at a glance

F = Friend Center, CS = Computer Science Building, C = Corwin Hall, N = 221 Nassau Street, L = Lewis Library

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 Zak Kincaid

L01

F101 10:00 Zak Kincaid

P01

F009 1:30 Christopher Moretti

P01

F009 1:30 Christopher Moretti

P02

F009 3:30 Christopher Moretti

P02

F009 3:30 Christopher Moretti

P03

F009 12:30 Donna Gabai

P03

F009 12:30 Donna Gabai

P04

F109 12:30 Berlin Chen

P04

F109 12:30 Berlin Chen

P09

F111 12:30 Ryan Oet

P09

F111 12:30 Ryan Oet

P05

F009 1:30 Donna Gabai

P05

F009 1:30 Donna Gabai

P06

F109 1:30 Jocelyn Wang

P06

F109 1:30 Jocelyn Wang

P07

F108 3:30 Anny Zhou

P07

F108 3:30 Anny Zhou

P10

F111 3:30 Indu Panigrahi

P10

F111 3:30 Indu Panigrahi

P08

F110 7:30 Lana Glisic

P08

F110 7:30 Lana Glisic

Intro COS Lab Hours

L122 (L138 on Th) 7:00-11:00

Intro COS Lab Hours

L122 3:00-7:00

Intro COS Lab Hours

L122 5:00-11:00

Concept Hours

CS233 11:00-12:00 Zak Kincaid

Concept Hours

CS233 11:00-12:00 Zak Kincaid

Office Hours

Zoom 3:00-5:00 Donna Gabai

Office Hours

Zoom 2:30-5:30 Indu Panigrahi

Office Hours

F010 9:00-12:00 Anny Zhou

Office Hours

F010 2:30-5:30 Ryan Oet

Office Hours

F010 5:00-8:00 Berlin Chen

Office Hours

C036 10:00-1:00 Christopher Moretti

Office Hours

F010 2:30-4:30 Donna Gabai

Office Hours

F010 2:00-5:00 Lana Glisic

Office Hours

Zoom 6:00-9:00 Jocelyn Wang

Concepts Study Hall

Frist 7:30-10:30 McGraw Tutors

Concepts Study Hall

Frist 7:30-10:30 McGraw Tutors

Course staff


Zak Kincaid
Lead Instructor

Christopher Moretti
Lead Preceptor

Donna Gabai
Preceptor

Berlin Chen
Preceptor

Lana Glisic '24
Preceptor

Ryan Oet
Preceptor

Indu Panigrahi '23
Preceptor

Jocelyn Wang
Preceptor

Anny Zhou
Preceptor

The staff is complemented by a team of undergraduate course assistants: Anika Agarwal, Kate Alvarez, Myles Anderson, Colin Baird, Praneeth Bhandaru, Mila Bileska, Vincent Cai, Eva Engel, Sava Evangelista, Nora Graves, Christine Guo, Quinn Haverstick, Daniel Hu, Ava Krocheski-Meyer, Han Lee, Annie Lin, Xuan Lin, Isabel Liu, Sonny Lowe, Mary Ma, Albert Shi, Timothy Sim, Kaitlyn Wen, Leo Yu, and Sarah Yuan.

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 answering iClicker questions or annotating notes on lecture slides.

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. These books have been registered with the University's online bookstore for purchase. They are also accessible on limited electronic reserve from the Reserves menu on Canvas.

Recommended Textbooks.

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