Week 1: 1/21 - 1/23
Lectures: Course introduction; abstract data types (ADTs) [ slides ]
Reading: Chapter 4 in Walls and Mirrors.
Recitation: No recitations this week
Assignments: First programming assignment is available
Week 2: 1/26 - 1/30
Lectures: Measuring the efficiency of algorithms [ slides ]
Reading: Sections 3.2,3.3 in Rosen, Section 10.1 in Walls and Mirrors.
Recitation: Using checkin, review of linked lists, help on programming assignment
Week 3: 2/2 - 2/6
Lectures: Stacks and Queues [ slides ]
Reading: chapters 7 and 8 in Walls and Mirrors
Recitation: Review of big-O analysis, generics, stacks
Assignments: Second programming assignment is available
Week 4: 2/9 - 2/13
Lectures: Queues (cont). Advanced sorting algorithms using divide and conquer strategies; evaluating complexity of recursive algorithms [ slides ]
Reading: Walls and Mirrors 10.2, Rosen 7.1, 7.3
Recitation: Programming a queue; work on programming assignment
Week 5: 2/16 - 2/20
Lectures: Sorting algorithms using divide and conquer strategies (cont)
Reading: Walls and Mirrors 10.2, Rosen 7.1, 7.3
Recitation: recursion
Assignments: Second written assignment is available
Week 6: 2/23 - 2/27
Lectures: Wednesday: Midterm. Mon, Fri: Trees, binary search trees
[ slides ]
Reading: Walls and Mirrors ch. 11
Recitation: Review for midterm, recursion
Week 7: 3/2 - 3/6
Lectures: Trees, binary search trees (cont)
Reading: Walls and Mirrors ch. 11
Recitation: Iterators, recursion
Week 8: 3/9 - 3/13
Lectures: Priority queues and heaps [ slides ]
Reading: Walls and Mirrors ch. 12.2
Recitation: More iterators
Week 9: 3/23 - 3/27
Lectures: Monday: grammars [ slides ] Wednesday: Working in teams - a talk by Debbie Bartlett. Friday: Balanced search trees [ slides ]
Reading: Walls and Mirrors ch. 6.2, ch. 12,13
Recitation: implementing a heap
Week 10: 3/30 - 4/3
Lectures: Balanced search trees (cont). Friday: graphs [ slides ]
Reading: Walls and Mirrors ch. 13; ch. 14.1-14.2
Recitation: programming quiz. You will use the binary tree and tree node classes.
Week 11: 4/6 - 4/10
Lectures: Monday: graphs (cont). Wednesday: midterm. Friday: more graphs [ slides ]
Reading: Walls and Mirrors ch. 14
Recitation: help with programming assignment, go over written hw, command-line arguments, review for midterm
Week 12: 4/13 - 4/17
Lectures: graphs - directed acyclic graphs and topological sorting of graphs; graph algorithms [ slides ], relations [ slides ]
Reading: Walls and Mirrors ch. 14, Rosen 8.1-8.5 (relations)
Recitation: Implementing graphs.
Week 14: 4/27 - 5/1
Lectures: Dijkstra's algorithm (slides in the graph algorithms set), more problems on graphs [ slides ]
hash tables [ slides ]
Reading: Walls and Mirrors ch. 14 (graphs), 13 (hash tables)
Recitation: Review of relations and grammars.
Week 15: 5/4 - 5/8
Lectures: hash tables (cont); discussion of final [ slides ]
Reading: Walls and Mirrors ch. 13
Recitation: Programming part of final.
Week 16:
Wed -- special review session 1-3pm at CSB130. Thu -- final exam at 7am.
