Computer Science 445

Analysis of Algorithms
Fall 2022
Thomas VanDrunen



Meeting time: MWF 12:55-2:05 pm.
Meeting place: MEY 181

Office hours: Drop-in 3:30-4:30 MWF; also schedule through Calendly
Contact: 163 Science; 752-5692; Thomas.VanDrunen@wheaton.edu


Syllabus



Final exam: Thursday, Dec 15, 10:30 am - 12:30 pm


Moon's dayWoden' s dayFrigga's day

Aug 22

NO CLASS

Aug 24

Introduction

Aug 26

Review of algorithmic analysis and correctness proof (CLRS 2)
Slides

Aug 29

More review (CLRS 2).
Slides

Aug 31

Asymptotics (CLRS 3)
Slides

Sept 2

More about asymptotics (CLRS 3); begin divide and conqure (CLRS 4)
Slides

Sept 5

NO CLASS

Sept 7

Solving recurrences (CLRS 4)
Slides

Sept 9

The master method (CLRS 4)
Slides

Sept 12

Quicksort (CLRS 7)
Slides

Sept 14

Limits of comparison-based sorting (CLRS 8)
Slides

Sept 16

Amortized analysis (CLRS 17)
Slides

Sept 19

Dynamic programming (CLRS 15)
Slides

Sept 21

Dynamic programming (CLRS 15)
Slides

Sept 23

Finish DP; begin greedy algorithms (CLRS 16)
Slides

Sept 26

Greedy algorithms (CLRS 16)

Sept 28

Greedy algorithms (CLRS 16)
Slides

Sept 30

Review

Oct 3

TEST

Oct 5

Fast Fourier Transform (CLRS 30)
Slides

Oct 7

Fast Fourier Transform (CLRS 30)
Slides

Oct 10

Finish FFT

Oct 12

Computational geometry (CLRS 33)
Slides

Oct 14

Computational geometry (CLRS 33)

Oct 17

NO CLASS

Oct 19

NO CLASS

Oct 21

Fibonacci heaps (CLRS 19)
Slides

Oct 24

Fibonacci heaps (CLRS 19)

Oct 26

Review

Oct 28

TEST

Oct 31

Review finite automata (LP 2)
Slides

Nov 2

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

Nov 4

Review context-free languages (LP 3)
Slides

Nov 7

Finish CFLs; Turing matchines (LP 4.1)
Slides

Nov 9

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

Nov 11

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

Nov 14

Undecideability (LP 5)
Slides

Nov 16

Undecidability (LP 5)
Slides

Nov 18

Finish undecidability; start computational complexity (LP 6)
Solution to LP 3.1.10.b
Slides

Nov 21

Computational complexity (LP 6)

Nov 23

NO CLASS

Nov 25

NO CLASS

Nov 28

Finish computational complexity

Nov 30

NP-completeness (LP 7)
Slides

Dec 2

NP-complete problems (CLRS 34 and LP 7)
Slides

Dec 5

Algorithmic approach to NP-completeness (CLRS 34)
Slides

Dec 7

Concluding remarks on NP-completeness

Dec 9

Review
Slides