Computer Science 445

Analysis of Algorithms
Fall 2018
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
Extra information about assignments


Final exam: Wednesday, Dec 19, 1:30 pm - 3:30 pm


Moon's dayWoden' s dayFrigga's day

Aug 27

NO CLASS

Aug 29

Introduction

Daily: Skim Ch 1; Read Ch 2; do 2.2-(2&4), 2.3-(3 & 6)

Aug 31

Review of algorithmic analysis and correctness proof (CLRS 2)

Daily: do 2.3-7 and 2-3c

Sept 3

NO CLASS

Sept 5

More review (CLRS 2).
Slides

Daily: Read Sec 3.(1 & 2); do 3.1-(4 & 5) and 3-1.d
HW: 2-2; 3-1(b,e); supplemental problem. Due 9/17.

Sept 7

Asymptotics (CLRS 3)

Daily: Read Sec 4.(1-3); do 3-4.(a, b, c)

Sept 10

Divide and conquer (CLRS 4)

Daily: Read Sec 4.(4 & 5)

Sept 12

Solving recurrences (CLRS 4)
Slides

Daily: Do 4.5-1 and 4-1(a,b)

Sept 14

The master method (CLRS 4)
Slides

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

Sept 17

Quicksort (CLRS 7)
Slides

HW assigned 9/5 due
Daily: Read Sec 8.(1-4); do 8.1-(1, 3, 4)
HW: 4-(2 & 5); 7-(1 & 4). Due 9/26.

Sept 19

Limits of comparison-based sorting (CLRS 8)
Slides

Daily: Read Sec 15.1; do "hero" problem

Sept 21

Dynamic programming (CLRS 15)
Slides

Daily: Read Sec 15.3 (sections 2 and 4 optional); do "log" problem

Sept 24

Dynamic programming (CLRS 15)

Daily: Read Sec 16.(1&2); do 16.2-4
HW: 8-4, 15-(4 & 6). Due 10/3

Sept 26

Greedy algorithms (CLRS 16)

HW assigned 9/17 due
Daily: Read Section 16.3; do 16.3-(2-4).

Sept 28

Greedy algorithms (CLRS 16)

Daily: Read Section 16.4; do 16.4-1.

Oct 1

Greedy algorithms (CLRS 16)
Slides

Daily: Read Section 17.(1-3); do 17.1-(1 & 3), 17.2-2

Oct 3

Amortized analysis (CLRS 17)
Slides

HW assigned 9/24 due

Oct 5

Review

Oct 8

TEST

Oct 10

B-trees

Daily: Read ch 18
HW: 16-2 and 17-2. Due 10/19

Oct 12

B-trees


In class: Implement insertion into a B tree.

Oct 15

B-trees

Daily: Read 30.(1&2). Do 30.1-(2 & 3)

Oct 17

Fast Fourier Transform

Daily: Read 30.3. Some exercises...

Oct 19

Fast Fourier Transform

HW assigned 10/10 due
Daily: Read 33.1
HW: 30-1 and implementing Graham's Scan. Due 10/31

Oct 22

NO CLASS

Oct 24

NO CLASS

Oct 26

Computational geometry

Daily: Read 33.3

Oct 29

Computational geometry

Oct 31

Review

HW assigned 10/19 due

Nov 2

TEST

Daily: Review LP Ch 1 as necessary. Read 2.(1&2); do 2.2.(6 & 10)

Nov 5

Review finite automata (LP 2)

Daily: Read 2.(3 & 4), 3.(1 & 2)

Nov 7

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

Daily: Reread 3.(1&2) as necessary; read 3.3 carefully; get the main points of 3.(4 & 5); do 3.3.2 (a, b)

Nov 9

Review context-free languages (LP 3)

Daily: Read 4.1, do 4.1.1

Nov 12

Finish CFLs; Turing matchines (LP 4.1)
Slides

Daily: Read 4.2 carefully. Also read 4.(3 & 4)
HW: 3.1.10.(a & b). 4.1.(8-10). Due 11/19

Nov 14

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

Daily: Read 4.5; do 4.5.1

Nov 16

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

Daily: Read 5.(1-4); determine the main point for every section

Nov 19

Undecideability (LP 5)
Slides

HW assigned 11/12 due
Daily: Read 5.(6 & 7). Do 5.4.2(a & b)
HW: 5.4.2.(c-i). Due 12/5

Nov 21

NO CLASS

Nov 23

NO CLASS

Nov 26

Undecidability (LP 5)
Slides

Daily: Read 6.(1-4)

Nov 28

Finish undecidability; start computational complexity (LP 6)

Nov 30

Computational complexity (LP 6)

Reread 6.(3 & 4); do 6.3.2

Dec 3

Finish computational complexity

Daily: Read 7.(1 & 2)

Dec 5

NP-completeness (LP 7)
Slides

HW assigned 11/19 due
Daily: Read 7.3 through pg 328; skim CLRS 34.5; do 7.3.3
HW: LP 7.3.4 f & h; CLRS 34.5-2. Due 12/13

Dec 7

NP-complete problems (CLRS 34 and LP 7)

Daily: Do 7.3.4 (a, b, & c)

Dec 10

Algorithmic approach to NP-completeness (CLRS 34)
Slides

Dec 12

Concluding remarks on NP-completeness

HW assigned 12/5 due next day

Dec 14

Review