Princeton University
Computer Science Department

Computer Science 333
Advanced Programming Techniques

Robert Dondero

Spring 2011

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 11:00AM-12:20AM, Computer Science Building 105


Robert Dondero : Computer Science Building 206 : 609-258-2211 :

Office Hours: In Computer Science Building 206 after each lecture or by appointment.

Teaching Assistants:

Cole Schlesinger : Computer Science Building 214 : 609-258-1793 :

Office Hours: In Computer Science Building 214 by appointment.

Robert Dockins : Computer Science Building 215 : 609-258-1794 :

Office Hours: In Computer Science Building 215 by appointment.

Cole Schlesinger will be with us throughout the entire semester. Robert Dockins will join us after the midterm break.

Undergraduate Coordinator:

Colleen Kenny-McGinley : Computer Science 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 University bookstore and is on reserve in the Engineering Library.

Recommended Textbooks

The two Horstmann and Cornell books and the Martelli book are on reserve in the Engineering Library. The Nixon book is available through the Library as an e-book.

Academic Regulations

The Policies regarding collaboration and plagiarism are similar to those in COS 217. Please read them.

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