Princeton University
Computer Science Department

Computer Science 333
Advanced Programming Techniques

Robert Dondero

Fall 2025


Directory
General Information | Lectures | Assignments | Project | Schedule | Policies

Please direct questions about course enrollment to Colleen Kenny, the CS Department's Undergraduate Coordinator. Ms. Kenny's contact information is provided on this page. The course instructors do not manage the course's enrollment.


Course Description

The practice of programming. Emphasis is on the development of real programs, writing code but also assessing tradeoffs, choosing among design alternatives, debugging and testing, and improving performance. Issues include compatibility, robustness, and reliability, while meeting specifications. Students will have the opportunity to develop skills in these areas by working on their own code and in group projects.


Administrative Information

Lectures:

Tuesdays and Thursdays from 2:55PM to 4:15PM in CS Building 104.

Lead Instructor:

Robert Dondero, Ph.D. : rdondero@cs.princeton.edu

Office hours: Tuesdays from 1:30PM to 2:20PM at https://princeton.zoom.us/j/3195363472 and Thursdays from 1:30PM to 2:20PM at https://princeton.zoom.us/j/3195363472.

Graduate Teaching Assistants:

Xinran Bi : xb4719@princeton.edu

Office hours: Wednesdays from 3:00PM to 3:50PM in Friend Center 010 and Wednesdays from 4:00PM to 4:50PM in Friend Center 010.

Raluca Ghilea : mg3117@princeton.edu

Office hours: Fridays from 1:00PM to 1:50PM in Friend Center 010A and Fridays from 2:00PM to 2:50PM in Friend Center 010A.

Junrui (Jocelyn) Wang : jw5134@princeton.edu

Office hours: Mondays from 4:30PM to 5:20PM in Friend Center 010B and Thursdays from 10:30AM to 11:20AM at https://princeton.zoom.us/j/5596199038.

When you join a Zoom office hour you'll be placed in the waiting room. The instructor will move you into the meeting when it's your turn.

Undergraduate Coordinator:

Colleen Kenny : CS Building 210 : 609-258-1746 : ckenny@cs.princeton.edu

Meeting Time Summary:

Monday Tuesday Wednesday Thursday Friday
10:00AM
10:30AM Office:
Jocelyn Wang
11:00AM Office:
Jocelyn Wang
11:30AM
12:00noon
12:30PM
1:00PM Office:
Raluca Ghilea
1:30PM Office:
Robert Dondero
Office:
Robert Dondero
Office:
Raluca Ghilea
2:00PM Office:
Robert Dondero
Office:
Robert Dondero
Office:
Raluca Ghilea
2:30PM Office:
Raluca Ghilea
3:00 PM
Lecture
(2:55PM)
Office:
Xinran Bi
Lecture
(2:55PM)
3:30PM Lecture Office:
Xinran Bi
Lecture
4:00PM Lecture Office:
Xinran Bi
Lecture
4:30PM Office:
Jocelyn Wang
Office:
Xinran Bi
5:00PM Office:
Jocelyn Wang
5:30PM


Prerequisites

The prerequisites for COS 333 are successful completion of COS 217 and COS 226.

You must have completed COS 217 successfully before taking COS 333.

It is possible to take COS 226 at the same time as COS 333. However, doing so is a bad idea unless you are a very good programmer. Specifically, doing so is a bad idea unless you received at least a B+ grade in COS 217. If your COS 217 grade was less than B+ and you want to take COS 226 and COS 333 concurrently, then discuss the matter with a COS 333 lead instructor during the first week of the semester.


Textbooks

The course uses these textbooks:

Required Textbook

That book is available in the Princeton University bookstore and is on reserve in the Engineering Library.

Recommended Textbooks

All of those books are available through the Princeton Library as e-books.


Academic Regulations

Please read the Policies, especially those regarding collaboration and plagiarism.


This page was written by Robert M. Dondero, Jr.