Computer Science 445

Analysis of Algorithms
Fall 2020
Thomas VanDrunen



Meeting time: MWF 12:55-2:05 pm.
Meeting place: Science 131

Office hours: MTuWF (not Th) 3:30-4:30 pm; Th 9:30-10:30 am and 1:00-3:00 pm. Contact: 163 Science; 752-5692; Thomas.VanDrunen@wheaton.edu


Syllabus
Solutions to selected exercises and other supplemental material for CLRS
Lectures from a similar class at MIT taught, in part, by Charles Leiserson
(See Schoology for information about assignment turn-in etc)


Final exam: Wednesday, Dec 16, 10:30 am - 12:30 pm


Moon's dayWoden' s dayFrigga's day

Aug 24

NO CLASS

Aug 26

Introduction

Aug 28

Review of algorithmic analysis and correctness proof (CLRS 2)

Aug 31

More review (CLRS 2).

Sept 2

Asymptotics (CLRS 3)

Sept 4

Divide and conquer (CLRS 4)

Sept 7

NO CLASS

Sept 9

Solving recurrences (CLRS 4)

Sept 11

The master method (CLRS 4)

Problem set from ch 2 & 3 due

Sept 14

Quicksort (CLRS 7)

Sept 16

Limits of comparison-based sorting (CLRS 8)

Sept 18

Amortized analysis (CLRS 17)

Sept 21

Dynamic programming (CLRS 15)

Problem set from ch 4 and 7 due

Sept 23

Dynamic programming (CLRS 15)

Sept 25

Greedy algorithms (CLRS 16)

Sept 28

Greedy algorithms (CLRS 16)

Sept 30

Greedy algorithms (CLRS 16)

Problem set from ch 8 and 17 due

Oct 2

Review

Oct 5

TEST

Oct 7

Fast Fourier Transform (CLRS 30)

Oct 9

Fast Fourier Transform (CLRS 30)

Oct 12

Finish FFT; start computational geometry (CLRS 33)

Problem set from ch 15 and 16 due

Oct 14

Computational geometry (CLRS 33)

Oct 16

Computational geometry (CLRS 33)

Oct 19

Linear programming (CLRS 29)

Problem set for ch 30 due

Oct 21

NO CLASS

Oct 23

Linear programming (CLRS 29)

Problem set for ch 33 due

Oct 26

Review

Oct 28

TEST

Oct 30

Review finite automata (LP 2)

Nov 2

Finite automata and regular expressions (LP 2); begin context-free languages (LP 3)

Nov 4

Review context-free languages (LP 3)

Nov 6

Finish CFLs; Turing matchines (LP 4.1)

Nov 9

Turing machines (LP 4.(2-4))

Nov 11

Non-deterministic Turing machines (LP 4.(5))

Nov 13

Undecideability (LP 5)

Problem set for LP ch 3 & 4 due

Nov 16

Undecidability (LP 5)

Nov 18

Finish undecidability; start computational complexity (LP 6)

Nov 20

Computational complexity (LP 6)

Nov 23

NO CLASS

Nov 25

NO CLASS

Nov 27

NO CLASS

Nov 30

Finish computational complexity

Dec 2

NP-completeness (LP 7)

Problem set for LP ch 5 due

Dec 4

NP-complete problems (CLRS 34 and LP 7)

Dec 7

Algorithmic approach to NP-completeness (CLRS 34)

Dec 9

Concluding remarks on NP-completeness

Problem set for LP ch 7 due next day (12/10)

Dec 11

Review