Computer Science 445

Analysis of Algorithms
Fall 2008
Thomas VanDrunen



Meeting time: MWF 8:00-9:05 am.
Meeting place: Armerding 123
Office hours: MTuWThF 2:00-3:00 pm; Th 9:00-11:00 am.
Contact: 112 Armerding; 752-5692; Thomas.VanDrunen@wheaton.edu
http://cslab.wheaton.edu/~tvandrun/cs445

Syllabus: ps pdf



Final: Tuesday, Dec 16, 8:00 am.


Moon's dayWoden' s dayFrigga's day

Aug 25

NO CLASS

Aug 27

Introduction

Daily: Read Chapter 2; do 2-3 and 2.3-5

Aug 29

Background (CLRS 2)

Daily: Read Section 3.1; do 3.1-(1, 4, 5), 3.2-1

Sep 1

NO CLASS

Sep 3

Asymptotics (CLRS 3)

Daily: Read Section 3.2; do 3-1.d and 3-4.(a-c)

Sep 5

Asymptotics (CLRS 3)

HW: 2.3-7; 2-2; 3-1.(b, e); 3-4.(d-h). Due 9/12.
Daily: Read Sections 4.(1 & 2); do 4.1-(1 & 5) and 4.2-1

Sep 8

Recurrences (CLRS 4)

Daily: Read 4.(3 & 4)

Sep 10

The master method (CLRS 4)

Daily: Read Sections 7.(1 & 2); do 7.2-(1, 2, 4)

Sep 12

Quicksort (CLRS 7)

Daily: Read Sections 8.(1, 2, 3, 4); do 8.1-(1, 3, 4)

Sep 15

Linear sorting algorithms (CLRS 8)

HW: 4-(3, 6); 7-(1, 3)
Daily: Read 27.(1 & 2); do 27.1-(3, 6)

Sep 17

Sorting networks (CLRS 27)

Daily: Read 27.(3-5); do 27.3-(2, 3) and 27.5-1

Sep 19

Sorting networks (CLRS 27)

Daily: Read 15.1; do 15.1-5

Sep 22

Dynamic programming (CLRS 15)

HW: 27-3.(a,b), 15-6
Daily: Read 15.2 quickly, 15.3 carefully; do log problem

Sep 24

Dynamic programming (CLRS 15)

Project

Sept 26

Dynamic programming (CLRS 15)

Daily: Read 16.1&2, do 16.2-4

Sept 29

Greedy algorithms (CLRS 16)

HW: 16.2-(3, 5), 16-1
Daily: Try 16.2-4 again

Oct 1

Greedy algorithms (CLRS 16)

Daily: Read 16.3. Extra. Do 16.3-(1,3)

Oct 3

Greedy algorithms (CLRS 16)

Daily: Read 17.1&2, do 17.1-(1,3), 17.2-2

Oct 6

Amortized analysis (CLRS 17)

HW: 17-2
Daily: Read 22.1&2, proof sketch, 22.2-(6&7)

Oct 8

Intro to graph theory -- BFS(CLRS 22.(1&2))

Daily: Read 22.3&4

Oct 10

Intro to graph theory -- DFS (CLRS 22.(3&4))

Daily: Read 24 intro and 24.1; Do 24.1-(2 & 3)

Oct 13

HW catchup

Oct 15

Single-source shortest path: Bellman-Ford (CLRS 24)

Daily: Read 24.(2 & 3); do 24.2-3, 24.3-(2 & 3)

Oct 17

Single-source shortest path: Dijkstra (CLRS 24)

Daily: Read 26.1; do 26.1.(1, 2, 6)

Oct 20

NO CLASS

Oct 22

Network flow (CLRS 26)

Daily: Read 26.2

Oct 24

Network flow (CLRS 26)

Oct 27

Network flow: Ford-Fulkerson (CLRS 26)

Daily (for 10/31): Read 32.1; do 32.1.(2 & 4)

Oct 29

MIDTERM

Oct 31

String-matching (CLRS 32)

HW: 26-(1, 2), due 11/7Daily: Read 32.3

Nov 3

String-matching (CLRS 32)

Daily: Read 33.1; Do 33.1-(2, 4)

Nov 5

Computational geometry (CLRS 33)

Daily: Read 33.3

Nov 7

Computational geometry (CLRS 33)

HW: 32.3-4; 33-3
Daily: Read LP 2

Nov 10

Review deterministic finite acceptors etc (LP 2)

Daily: Read LP 3

Nov 12

Context-free languages (LP 3)

Project
Daily: Read LP 4.1 and 4.2; do 4.1.1

Nov 14

Turing machines (LP 4)

Daily: Read LP 4.(3&4) quickly, 4.5 carefully

Nov 17

Turing machines (LP 4)

HW: 5.4.2
Daily: Read LP 5.(1-4, 7)

Nov 19

Undecidability (LP 5)

Daily: Read LP 6.(1&2)

Nov 21

Computational complexity (LP 6)

Daily: Read LP 6.(3&4)

Nov 24

Computational complexity (LP 6)

Nov 26

NO CLASS

Nov 28

NO CLASS

Dec 1

NP-completeness (LP 7)

Dec 3

Algorithmic approach to NP-completeness (CLRS 34)

Dec 5

NP-complete prob lems (LP 7 and CLRS 34)

Dec 8

Approximation algorithms (CLRS 35)

Dec 10

Approximation algorithms (CLRS 35)

Dec 12

Review