Paul Bodily About Courses Research Outreach Tips for Communicating Teaching Philosophy Vitae

Schedule

Note: Projects and homework listed on Tuesdays are due Tuesday at 11pm; those listed on Thursdays are due Friday at 11pm.

DateOptional ReadingTopicVideoProj DueHW Due
1Jan 81.1-1.2Introductionintroduction
2Jan 102.1-2.2Insertion Sortcorrectness
efficiency
project18
3Jan 152.3Merge Sortmerge sort
4Jan 173.1-3.2Asymptotic Notation
Analysis Tools
Big Theta
Big O, Big Omega
monotonicity
floor/ceiling
modular arithmetic
polynomials
exponentials
logarithms
factorials and funct iteration
project34
5Jan 224.1Max Subarrayintroduction
description
analysis
hw1
6Jan 244.3Substitutionintroduction
example 1
changing variables
project72hw2 (due 1/25)
7Jan 294.4-4.5Recursion Trees
Master Method
tree height
description
description
hw3
8Jan 316.1-6.3Heap Property
Heapsort
introduction
max-heapify
building
sorting
hw4
9Feb 56.4-6.5Priority Queuespriority queueproject157hw5
10Feb 77.1-7.3Quicksortquicksort
analysis
11Feb 128.1-8.4Linear Sortingcomparison bound
counting sort
radix sort
bucket sort
project164hw6
12Feb 1410.1-10.4Elementary Data StructuresStacks and queues
Linked Lists
Trees
project171hw7
13Feb 1911.1-11.2Hash Tables IDirect-address tables
Hash tables
14Feb 2111.3-11.4Hash Tables IIHash functions
Open addressing
project246
15Feb 26C++ TemplatesTemplates as operators
16Feb 28Midterm Examhw8
17Mar 512.1-12.3Binary Search TreesIntroduction
Querying
Insertion/deletion
project257
18Mar 713.1-13.2Red-black TreesIntroduction
Rotations
19Mar 1215.1,15.3-15.4Dynamic ProgrammingMotivation
Rod cutting
DNA sequence alignment
Ingredients for DP
project307hw9
20Mar 1416.1-16.3GreedyActivity selection
Design
Huffman codes
project363
22Mar 2618.1-18.2B-TreesIntroduction
Operations
hw10
23Mar 2817.1-17.3Amortized AnalysisAggregate
Accounting
Potential
project431
24Apr 219.1-19.2Fibonacci HeapsFibonacci intro
Operations
hw11
25Apr 421.1-21.3Disjoint SetsIntroduction
Linked lists
Forests
hw12
26Apr 922.1-22.3Graphs IIntroduction
Representation
Breadth-first search
BFS trees
Depth-first search
hw13
27Apr 1122.4-22.5Graphs IITopological sort
Strongly connected components
project565
28Apr 1623.1-23.2Spanning TreesIntroduction
Kruskal's algorithm
Prim's algorithm
hw14
29Apr 1824.3,26.1Paths
Flow Networks
Dijkstra's algorithm
Introduction
project595hw15
30Apr 2334.1-34.5NP-CompletenessIntroduction
31Apr 25Reviewproject658hw16
32May 2Final Exam @ 7:30am

The schedule is subject to change. The final is Thursday, May 2, 7:30 - 9:30am in our normal classroom. The final is comprehensive.