Princeton University
Computer Science Dept.
Computer Science 333
Advanced Programming Techniques
Andrew Koenig
Spring 1999
Directory
Schedule and Readings
|
Course Newsgroup
|
Links
|
What's New?
Lectures:
MW at 1:30-2:50
Professor:
Andrew Koenig
,
ark@research.att.com
Office hours:
by appointment
Teaching assistants:
Geliang Tong
,
tong@cs.princeton.edu
Office hours:
Monday, 10:00-12:00, room 415
George Tzanetakis
,
gtzan@cs.princeton.edu
Office hours:
Friday, 10:00-12:00, room 417
Jiannan Zheng
,
zjn@cs.princeton.edu
Office hours:
Wednesday, by appointment (afternoons preferred), room 314
TA comments on the homework assignments:
Assignment 1
Lecture notes:
1. February 1: Introduction
(PDF
slides
,
handouts
)
2. February 3: Design variations and data abstraction
(PDF
slides
,
handouts
)
3. February 7: Programming with abstract data types
(PDF
slides
,
handouts
)
4. February 9: A completely different look at abstraction
(PDF
slides
,
handouts
)
5. February 15: Abstraction and design
(PDF
slides
,
handouts
)
6. February 17: Another example of abstraction
(PDF
slides
,
handouts
)
7. February 22: Controlling copies of objects
(PDF
slides
,
handouts
)
8. February 24: Handles and use counts
(PDF
slides
,
handouts
)
9. March 8: Performance: theory and practice
(PDF
slides
,
handouts
)
10. March 22: Inheritance
(PDF
slides
,
handouts
)
11. March 24: Dynamic binding
(PDF
slides
,
handouts
)
12. March 29: An object-oriented program
(PDF
slides
,
handouts
,
C simulation of program described here
)
13. March 31: Handles and use counts (revisited)
(PDF
slides
,
handouts
)
14. April 5: Generic programming
(PDF
slides
,
handouts
,
program to use as basis for homework
)
15. April 7: Generic iterators
(PDF
slides
,
handouts
)
16. April 12: Generic programs
(PDF
slides
,
handouts
)
17. April 14: Software project management
(PDF
slides
,
handouts
)
18. April 19: Generic handles
(PDF
slides
,
handouts
,
handle code
,
expr code
)
19. April 21: Computing with functions
(PDF
slides
,
handouts
)
20. April 26: Reliable programming
(PDF
slides
,
handouts
)
21. April 28: Programming abstractly
(PDF
slides
,
handouts
)