Princeton University
Computer Science Department

Computer Science 333
Advanced Programming Techniques

Robert Dondero

Fall 2021


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

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 1:30PM to 2:50PM in room Friend Center 006.

Lead Instructor:

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

Office hours: Tuesdays and Thursdays from 3:30PM to 4:30PM in my office, Corwin 038. It's fine to visit me face-to-face. However, I prefer that you visit me via Zoom at https://princeton.zoom.us/j/3195363472. When you join the Zoom meeting you'll be placed in the waiting room along with other students who wish to see me. I'll move you into the meeting in order of arrival. Throughout the semester I'll be happy to meet with you outside of my regularly scheduled office hours when appropriate.

Graduate Teaching Assistants:

Brianna (Bri) Butler : bb5943@princeton.edu

Office hours: Mondays and Wednesdays from 8:30PM to 9:30PM. My Monday office hours will be on Zoom at https://duke.zoom.us/j/9165062271. When you join the Zoom meeting you'll be placed in the waiting room along with other students who wish to see me. I'll move you into the meeting in order of arrival. My Wednesday office hours will be held at Friend Center 010.

Joshua (Josh) Gardner : jg41@princeton.edu

Office hours: Wednesday evenings at 7:30PM and Friday afternoons at 3:00PM in Friend Center room 010 (a.k.a. "The Fishbowl"). I have a strong preference for meeting with students face-to-face for office hours, however I will also accommodate students who prefer to meet remotely at the following Zoom link: https://princeton.zoom.us/j/5511376813.

Anat Kleiman : anatk@princeton.edu

Office hours: Wednesdays from 1:30PM to 2:30PM and Fridays from 12:30PM to 1:30PM via Zoom at https://princeton.zoom.us/j/4791099140.

Dorothy (Dora) Zhao : dorothyz@princeton.edu

Office hours: Mondays from 7:30PM to 8:30PM in Friend Center 010. Saturdays from 11:00AM to 12noon via Zoom at https://princeton.zoom.us/j/4036501701. When you join the Zoom meeting you'll be placed in the waiting room along with other students who wish to see me. I'll move you into the meeting in order of arrival.

Undergraduate Coordinator:

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


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 the 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.