Schedule

March
MondayTuesdayWednesdayThursdayFriday
31
Lecture
Intro, Stacks, Queues
slides (pptx), pdf, handout, A-ink, B-ink
01 02
Lecture
Algorithm Analysis 1 (motivation, review)
slides (pptx), pdf, handout, A-ink, B-ink
03
Section
Intro and Java Generics
handout, solutions, slides
04
Lecture
Algorithm Analysis 2 (definitions, practice)
slides (pptx), pdf, handout, A-ink, B-ink
April
MondayTuesdayWednesdayThursdayFriday
07
Lecture
Priority Queues 1 (ADT, basics)
slides (pptx), pdf, handout, A-ink, B-ink
23:59 Ex 0 due
08 09
Lecture
Priority Queues 2 (analysis, buildHeap)
slides (pptx), pdf, handout, A-ink, B-ink
10 11
Lecture
Algorithm Analysis 3 (recursion!)
slides (pptx), pdf, handout, A-ink, B-ink
23:59 Ex 1 due
14
Lecture
Dictionaries 1 (ADT and BSTs)
slides (pptx), pdf, handout, A-ink, B-ink
23:59 Ex 2 due
15 16
Lecture
Dictionaries 2 (AVL trees)
slides (pptx), pdf, handout, A-ink, B-ink
17 18
Lecture
Dictionaries 3 (Wrap AVL, hashing)
slides (pptx), pdf, handout, A-ink, B-ink
23:59 Ex 3 due
21
Lecture
Dictionaries 4 (Hashing basics)
slides (pptx), pdf, handout, A-ink, B-ink
22 23
Lecture
Dictionaries 5 (More Hashing)
slides (pptx), pdf, handout, A-ink, B-ink
24 25
Lecture
Wrap Hashing; Sorting 1 (Basics)
slides (pptx), pdf, handout, A-ink, B-ink
23:59 Ex 4 due
28
Lecture
Sorting 2 (Efficient Sorts)
slides (pptx), pdf, handout, A-ink, B-ink
29 30
Lecture
MIDTERM :O
review slides
18:00-19:30 Combined Midterm Exam
TBD
01
Section
Sorting & Trie(optional)
handout, Trie slides, Sorting slides, solutions
02
Lecture
Sorting 3 (non-comparison and lower-bound)
slides (pptx), pdf, handout, A-ink, B-ink
23:59 Ex 5 due
May
MondayTuesdayWednesdayThursdayFriday
05
Lecture
Graphs 1 (Data Structures, BFS)
slides (pptx), pdf, handout, A-ink, B-ink
06 07
Lecture
Graphs 2 (BFS/DFS)
slides (pptx), pdf, handout, A-ink, B-ink
08 09
Lecture
Graphs 3 (Dijkstra), Reductions
slides (pptx), pdf, handout, A-ink, B-ink
23:59 Ex 6 due
12
Lecture
Reductions
slides (pptx), pdf, handout, A-ink, B-ink
23:59 Ex 7 due
13 14
Lecture
Parallel 1 (Fork-Join)
slides (pptx), pdf, handout, A-ink, B-ink
15
Section
Writing Parallel Programs
starter code, solutions, slides
16
Lecture
Parallel 2 (Analysis, basics)
slides (pptx), pdf, handout, A-ink, B-ink
23:59 Ex 8 due
19
Lecture
Parallel 3 (Prefix)
slides (pptx), pdf, handout, A-ink, B-ink
23:59 Ex 9 due
20 21
Lecture
Synchronization 1 (Concurrency, mutex)
slides (pptx), pdf, handout, A-ink, B-ink
22
Section
Parallel Prefix & Work & Span
handout, slides, solutions
23
Lecture
Synchronization 2 (Mutex, Race Conditions)
slides (pptx), pdf, handout, A-ink, B-ink
23:59 Ex 10 due
26
Memorial Day
27
23:59 Ex 11 due
28
Lecture
Synchronizations 3 (wrap-up), start MSTs
slides (pptx), pdf, handout, A-ink, B-ink
29
Section
Concurrency & MST
MST: handout, slides, solutions, Concurrency: handout, slides, solutions
30
Lecture
Minimum Spanning Trees
slides (pptx), pdf, handout, A-ink, B-ink
23:59 Ex 12 due
June
MondayTuesdayWednesdayThursdayFriday
02
Lecture
P/NP I (definitions, reductions)
slides (pptx), pdf, handout, A-ink, B-ink
03 04
Lecture
P/NP II (more examples, implications)
Slides from Monday, new handout
23:59 Ex 13 due
05 06
Lecture
Graph Wrap-up and Victory Lap
slides (pptx), pdf, handout, A-ink, B-ink
23:59 Ex 14 due
09 10 11 12
12:30-2:20 Combined Final exam
13