CSC 103, Spring 2001
Gene Fisher
Week 1:
- course syllabus -- introductory description of the course, including the course schedule
- week 1 lecture notes -- introduction to the course, introduction to programming problem solving
- week 1 lab notes -- getting started with assignment 1
- assignment 1 -- writeup for assignment 1 on lists, stacks, and queues
Week 2:
- week 2 lecture notes -- lists, stacks, and queues
- week 2 lab notes -- working seriously on assignment 1
- week 2 lab notes, part 2 -- preparation for turning in assignment 1; empirical analysis of sorting and searching
Week 3:
- week 3 lecture notes -- trees, part 1
- week 3 lab notes -- getting an early start on assignment 2; empirical algorithm analysis
- assignment 2 -- writeup for assignment 2 on trees (revised)
Week 4:
- week 4 lecture notes -- more on trees, particularly traversal
- lab quiz
Week 5:
- week 5 lecture notes -- hashing
- week 5 lecture notes, part 2 -- more on hashing
- week 5 lab notes -- hashing exercises
- assignment 3 -- hashing
Week 6:
- week 6 lecture notes -- program design issues; analytic and empirical running time calculations
- week 6 lab notes -- testing the hashing exercises
Week 7:
- week 7 lecture notes -- more kinds of trees -- heaps, b-trees, red-black trees
- week 7 lab notes -- empirical timing programs
- assignment 4 -- empirical program timing
Week 8:
- week 8 lecture notes -- more kinds of trees -- heaps, b-trees, red-black trees
- week 8 lecture notes, part 2 -- sorting code and trace output
- assignment 5 -- sorting
Week 9:
- week 9 lecture notes -- more sorting analysis; introduction to graphs
- assignment 6 -- graphs
Week 10:
- week 10 lecture notes -- more on graphs; introduction to java foundation classes (jfc)