Princeton University
Computer Science Department

Computer Science 333
Advanced Programming Techniques

Robert Dondero

Spring 2021


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

The schedule will change throughout the course. Please check it frequently.


Week 1: 2/1 - 2/7

Lecture: Course Overview; The Python Language

Lecture: The Python Language

Use Survey app to express your expertise and interests in course topics

Project: Learn requirements; discuss ideas with course instructors and other students; use ProjectFinder app to find project teammates


Week 2: 2/8 - 2/14

Lecture: The Python Language

Lecture: Database Programming

Project: Discuss ideas with course instructors and other students; use ProjectFinder app to find project teammates and to tell others about your project


Week 3: 2/15 - 2/21

Lecture: Database Programming; The Project

Lecture: Graphical User Interface Programming

Assignment 1: Due on Sunday 2/21 at 9:00 PM.

Project: Discuss ideas with course instructors and other students; use ProjectFinder app to find project teammates and to tell others about your project


Week 4: 2/22 - 2/28

Lecture: Network Programming

Lecture: Web Programming

Project: Approval meeting with course instructors

(Project: TA advisers assigned to teams)


Week 5: 3/1 - 3/7

Lecture: CGI Server-Side Web Programming

Lecture: Python WSGI Server-Side Web Programming

Assignment 2: Due on Sunday 3/7 at 9:00 PM.

Project: Initial Team Directory, Project Overview, Timeline; weekly status meeting


Week 6: 3/8 - 3/14

Lecture: Java Server-Side Web Programming; PHP Server-Side Web Programming

Lecture: Programming with Concurrent Processes

Project: Updated Timeline; weekly status meeting


Week 7: 3/15 - 3/21

Spring recess

Lecture: Programming with Concurrent Threads

Assignment 3: Due on Sunday 3/21 at 9:00 PM.

Project: Updated Timeline; weekly status meeting


Week 8: 3/22 - 3/28

Lecture: The JavaScript Language

Lecture: The JavaScript Language

Assignment 4: Due on Sunday 3/28 at 9:00 PM.

Project: Updated Timeline; weekly status meeting; demonstration of prototype


Week 9: 3/29 - 4/4

Lecture: JavaScript Client-Side Web Programming

Lecture: CSS Client-Side Web Programming

Project: Updated Timeline; weekly status meeting


Week 10: 4/5 - 4/11

Lecture: Security Issues in Web Programming

Lecture: Security Issues in Web Programming

Assignment 5: Due on Sunday 4/11 at 9:00 PM.

Project: Updated Timeline; weekly status meeting; demonstration of alpha version


Week 11: 4/12 - 4/18

Lecture: XML and JSON Programming

Lecture: Mobile Programming

Project: Updated Timeline; weekly status meeting


Week 12: 4/19 - 4/25

Lecture: Software Engineering

Lecture: Software Engineering

Project: Updated Timeline; weekly status meeting; demonstration of beta version


Week 13: 4/26 - 5/2

Lecture: Programming Paradigms

Reading Period

Project: Updated Timeline; Presentation; Presentation slides


Week 14: 5/3 - 5/5

Reading Period

Project: Updated Timeline, User's Guide, Programmer's Guide, Product Eval, Project Eval, source code (due on 5/5, the Dean's Date, at 5:00 PM)


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