Course Schedule (subject to adjustments)

Last revised on: 12/12/03 1:14 PM

Reading is assigned from Goodrich et al: "G:1" means the 1st chapter from that book.

Lec#
Date
 Topic and/or Event
 Reading
 Notes
1
9/4

Introduction: administrativia; objects, interfaces; (C++ background)

 G:1
 
2
9/9

OO Design

 G:2
hw1 due
3
9/11

Analyzing Algorithms - first look

 G:3,
G:A
(pg.657)
to be revisited regularly
4
9/16

Recursion, stacks; queues

 G:4
 
5
9/18

Linked Lists, etc.

 G:4
 hw2 due
6
9/23

Vectors, Lists and Sequences

 G:5
 
7
9/25

Iterators [and containers], Bubble-sort

 G:5
 hw3 due
8
9/30

Trees; tree traversals

 G:6
 
9
10/2

Binary trees; Tree representations

 G:6
 hw3x due
10
10/7
     hw4 due
11
10/9

Priority Queues; PQsort

 G:7
 
10/14
   No class
 

Monday schedule;
 hw5 due

12 
10/16

Heaps; Heapsort

 G:7
 
13
10/21

Dictionaries: hash tables

 G:8
 
14
10/23

Ordered dictionaries (binary search)

 G:8
 
15
10/28
   Midterm
 G:1-8
 hw6 due
16
10/30

Guest lectures: vision; programming languages

 
17
11/4

Midterm overview

ppt, doc
18
11/6

Binary Search trees

 G:9
 
19
11/11

Skip Lists

 G:8
Veteran's day
(another SL paper)
20
11/13

skiplists (continued); randomized algorithms

 G:8
 hw7 due
21
11/18

Randomized binary search trees;
Sorting: merge sort;

 G:9-10
 
22
11/20
Sorting: quick sort    
23
11/25
Sorting: Lower bounds; bucket-sort    hw8 due
11/27
   No class   Thanksgiving
24
12/2

Guest Lectures: Databases, Graphics

 G:12
 
25
12/4

Graphs, Graph traversals: dfs, bfs

 G:12
 hw9 due
26
12/9

More graph algorithms

 G:12
 
27
12/11

Review

 G:1-12
 hw10 due
 
12/15
   Final Exam (9-11am)
 G:1-12
in mcs-148 (regular room)