Syllabus and Schedule

Subject to change

Date

Topics

Notable

Weiss Readings

W 1/17

L1. Introduction

M 1/22

L2. Recursion and induction

Chapter 1

W 1/24

L3. Big-O

2.1

F 1/26

Friday! No class

Last day to add classes

M 1/29

L4. Running time calculations

2.2-2.4

W 1/31

L5. Linked Lists and Stacks

HW1 due (Algorithm Analysis)

3.1-3.3

M 2/5

L6. Queues

3.4

W 2/7

L7. Tree Basics

HW2 due (Programming with Linked List Based Data Structures)

4.1,4.2

M 2/12

L8. Binary Search Trees

4.3

W 2/14

L9. Advanced Trees I

HW3 due (Lists and Trees, mostly theory)

4.4

M 2/19

L10. Advanced Trees II

Hand-out

W 2/21

L11. Hashing I

HW4 due (Programming with Trees)

5.1-5.3

M 2/26

L12. Hashing II

5.4-5.6

W 2/28

MIDTERM EXAM

Covers chapters 1-4

M 3/5

L13. Priority queues

6.1-6.4

W 3/7

L14. Insertion sort, Shellsort

HW5 due (Trees and Hashes, mostly theory)

7.1-7.4

M 3/12

SPRING BREAK

W 3/14

SPRING BREAK

M 3/19

L15. Mergesort, Quicksort

7.6,7.7

W 3/21

L16. Lower bounds for sorting

7.8,7.9

Th 3/22  Thursday! No class  Last Day to Drop a Class (CC except class of '04) 

M 3/26

L17. Disjoint Sets

HW 6 due (Programming with Hashtables)

8.1-8.5

W 3/28

L18. Time Complexity and Mazes

8.6,8.7

M 4/2

L19. Graphs, Topological sort

HW7 due (Analysis of Heaps and Sorting)

9.1,9.2

W 4/4

L20. Shortest paths

9.3

M 4/9

L21. Network flows

9.4

W 4/11

L22. Minimum spanning trees

HW8 due (Programming with Disjoint Sets)

9.5

M 4/16

L23. Applications of depth first search

9.6

W 4/18

L24. NP-Completeness

HW9 due (Graphs, mostly theory)

9.7

M 4/23

L25. More NP-Completeness

W 4/25

L26. Catch-up

M 4/30

L27. Review

HW10 due (Final Project)

5/1 - 5/3

Reading Period

W 5/9

Comprehensive FINAL EXAM

1:10 - 4:00 pm, 633 Mudd