Princeton University
Computer Science Department

Computer Science 333
Advanced Programming Techniques

Robert Dondero

Fall 2017

General Information | Topics | Assignments | Project | Schedule | Policies

Course Summary

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


TTh 1:30PM-2:50PM, Friend Center 008

Lead Instructor:

Robert Dondero, Ph.D. : CS Building 206 : 609-258-2211 :

Office Hours: Tuesdays and Thursdays from 3:00PM to 4:00PM in CS Building 206 -- and I usually can extend my office hours beyond 4:00PM when students request that I do so

Teaching Assistants:

Akash Kapoor :

Office Hours: Wednesdays 11:00AM to 1:00PM in Friend Center 010

Jerry Yu-Chieh Wei :

Office Hours: Mondays 4:30PM to 6:30PM in CS Building 003

Undergraduate Coordinator:

Colleen Kenny-McGinley : CS Building 210 : 609-258-1746 :


COS 217 and COS 226. You should have successfully completed COS 217 before taking COS 333. It is possible to take COS 226 at the same time as COS 333, but doing so is a bad idea unless you are a very good programmer.


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.