Calendar

(subject to change)

Jump to this week

Week 1

Week 1

Topics/Goals:
Lecture:
Assessment:

Tues
February 12

Topics/Goals:
Introductions/Divide and Conquer Intro
  • Familiarize yourself with course basics
  • Be able to describe learning
  • Understand motivation for group and tech policies
  • Recall recurrence relations and inductive proofs
Lecture:
Assessments:

Thurs
February 14

Topics/Goals:
Dynamic Programming (MWIS)/Greedy (Scheduling)
  • Describe MWIS and Scheduling Problems
  • Design a recurrence relation for a dynamic programming problem
  • Understand process of designing and testing a greedy algorithm
Assessments:
  • Rough Draft of PSet 1 due to Canvas @ 9pm

Fri
February 15

No class: Spring Carnival

Sun
February 17

Topics/Goals:
Lecture:
Assessments:
  • PSet 1 due to Canvas @ 9pm
  • PSet 2 assigned

Week 2

Week 2

Topics/Goals:
Lecture:
Assessment:

Mon
February 18

Topics/Goals:
Lecture:
Assessments:
  • Pset 1 Self-grade and reflection due @ 7pm

Tues
February 19

Topics/Goals:
D&C (Closest Points) / Greedy (Scheduling)
  • Describe Closest Points D&C strategy
  • Apply greedy design strategy
Assessments:

Thurs
February 21

Topics/Goals:
DP (MWIS) / Greedy (Scheduling)
  • Create MWIS Dynamic Programming Algorithm
  • Describe recursive relations of MWIS
  • Test greedy algorithms
Assessments:
  • Quiz 1

Fri
February 22

Topics/Goals:
Lecture:
Assessments:
  • Rough Draft of PSet 2 due to Canvas @ 9pm

Sun
February 24

Topics/Goals:
Lecture:
Assessments:
  • PSet 2 due to Canvas @ 9pm
  • PSet 3 assigned

Week 3

Week 3

Topics/Goals:
Lecture:
Assessment:

Mon
February 25

Topics/Goals:
Lecture:
Assessments:
  • PSet 2 Self-grade and reflection due @ 7pm

Tues
February 26

Topics/Goals:
D&C (Closest Points)
  • Describe why closest points algorithm is correct
  • Analyze time complexity of closest points algorithm
Lecture:
Assessments:

Thurs
February 28

Topics/Goals:
Greedy Scheduling / Loop Invariants
  • Prove correctness of greedy scheduling
  • Prove correctness of loops using loop invariant
Assessments:
  • Quiz 2 completed on Canvas by 6pm on Friday

Fri
March 1

Topics/Goals:
Lecture:
Assessments:
  • Rough Draft of PSet 3 due to Canvas @ 9pm

Sun
March 3

Topics/Goals:
Lecture:
Assessments:
  • PSet 3 due to Canvas @ 9pm

Week 4

Week 4

Topics/Goals:
Lecture:
Assessment:

Mon
March 4

Topics/Goals:
Lecture:
Assessments:
  • PSet 3 Self-grade and reflection due @ 7pm
  • PSet 4 assigned

Tues
March 5

Topics/Goals:
D&C (QuickSort) / Loop Invariants
  • Create and analyze loop invariants
  • Describe and analyze pivot's role in QuickSort
Lecture:
Assessments:

Thurs
March 7

Topics/Goals:
DP (Knapsack) / Greedy (Scheduling)
  • Practice Dynamic Programming Set-up
  • Describe multi-exchange arguments
Lecture:
Assessments:
  • Quiz 3 on Canvas

Fri
March 8

Topics/Goals:
Lecture:
Assessments:
  • Rough Draft of PSet 4 due to Canvas @ 9pm
  • Quiz 3 on Canvas due @ 6pm

Sun
March 10

Topics/Goals:
Lecture:
Assessments:
  • PSet 4 due to Canvas @ 9pm
  • Post review preferences to Canvas Discussion by 10pm

Week 5

Week 5

Topics/Goals:
Lecture:
Assessment:

Mon
March 11

Topics/Goals:
Lecture:
Assessments:
  • PSet 4 Self-grade and reflection due @ 7pm

Tues
March 12

Topics/Goals:
Review for Midterm 1
Assessments:

Thurs
March 14

Topics/Goals:
NO CLASS
Lecture:
Assessments:
  • Midterm 1 (self-scheduled): Available for Pick-up @ noon on Wednesday 3/13

Fri
March 15

Topics/Goals:
Lecture:
Assessments:
  • Midterm 1 (self-scheduled): Last submissions @ 6 PM

Sun
March 17

Topics/Goals:
Lecture:
Assessments:

Week 6

Week 6

Topics/Goals:
Lecture:
Assessment:

Mon
March 18

Topics/Goals:
Lecture:
Assessments:

Tues
March 19

Topics/Goals:
Randomized QuickSort
  • Describe impact of pivot choice on runtime of QuickSort
  • Evaluate expectation values of random variables
Lecture:
Assessments:

Thurs
March 21

Topics/Goals:
DP Knapsack / Greedy Huffman
  • Create a dynamic programming algorithm for Knapsack
  • Prove correctness of dynamic programming algorithms
  • Describe why prefix free codes are good
Lecture:
Assessments:

Fri
March 22

Topics/Goals:
Lecture:
Assessments:
  • Rough Draft of PSet 6 due to Canvas @ 9pm
  • Programming Assignment 1 due @ 5pm

Spring Break

Spring Break

Week 7

Week 7

Topics/Goals:
Lecture:
Assessment:

Mon
April 1

Topics/Goals:
Lecture:
Assessments:
  • PSet 6 due to Canvas @ 9pm
  • PSet 7 assigned

Tues
April 2

Topics/Goals:
Randomized QuickSort
  • Analyze Expectation values using indicator random variables
  • Analyze comparisons of 2 array elements in QuickSort
Lecture:
Assessments:
  • PSet 6 Self-grade and reflection due @ 7pm

Thurs
April 4

Topics/Goals:
Dynamic Programming Correctness/Huffman Coding
  • Create good loop invariants
  • Use loop invariants to prove DP correctness
  • Describe encoding problems
Lecture:
Assessments:
  • Quiz 6 on Canvas due by 6pm on Friday

Fri
April 5

Topics/Goals:
Lecture:
Assessments:
  • Rough Draft of PSet 7 due to Canvas @ 9pm
  • Quiz 6 on Canvas due by 6pm on Friday

Sun
April 7

Topics/Goals:
Lecture:
Assessments:
  • PSet 7 due to Canvas @ 9pm

Week 8

Week 8

Topics/Goals:
Lecture:
Assessment:

Mon
April 8

Topics/Goals:
Lecture:
Assessments:
  • PSet 7 Self-grade and reflection due @ 7pm
  • PSet 8 assigned

Tues
April 9

Topics/Goals:
Quick Sort/Shortest Path Algorithms
  • Analyze average runtime of QuickSort
  • Compare and contrast shortest path algorithms
Lecture:
Assessments:

Thurs
April 11

Topics/Goals:
Huffman Codes
  • Describe prefix free codes and why they are desirable
  • Describe Huffman's algorithm
  • Prove correctness o Huffman's algorithm
Lecture:
Assessments:

Fri
April 12

Spring Symposium, No Class, No Rough Draft Due This Week

Sun
April 14

Topics/Goals:
Lecture:
Assessments:
  • PSet 8 due to Canvas @ 9pm

Week 9

Week 9

Topics/Goals:
Lecture:
Assessment:

Mon
April 15

Topics/Goals:
Lecture:
Assessments:
  • PSet 8 Self-grade and reflection due @ 7pm
  • PSet 9 assigned

Tues
April 16

Topics/Goals:
Huffman's Algorithm
  • Describe why Huffman's algorithm is correct
  • Analyze runtime of Huffman's algorithm
  • Describe the relationship between the algorithm and data structure
Assessments:

Thurs
April 18

Topics/Goals:
Midterm 2 Review and Huffman Runtime
  • Analyze runtime of Huffman's algorithm
  • Describe the relationship between the algorithm and data structure
  • Review for exam
Lecture:
Assessments:
  • Midterm 2 (self-scheduled): Available for Pick-up @ 10 AM

Fri
April 19

Topics/Goals:
Lecture:
Assessments:
  • Midterm 2 (self-scheduled): Submitted by 6 PM

Sun
April 21

Topics/Goals:
Lecture:
Assessments:
  • PSet 9 due to Canvas @ 9pm

Week 10

Week 10

Topics/Goals:
Lecture:
Assessment:

Mon
April 22

Topics/Goals:
Lecture:
Assessments:
  • PSet 9 Self-grade and reflection due @ 7pm
  • PSet 10 assigned

Tues
April 23

Topics/Goals:
Shortest Paths
  • Consider variations to BFS Shortest Path
  • Describe Dijkstra's Algorithm
  • Prove Correctness of Dijkstra's Algorithm
Lecture:
Assessments:

Thurs
April 25

Topics/Goals:
Shortest Path Algorithms (Dijkstra/Bellman-Ford)
  • Analyze runtime of Dijkstra
  • Prove correctness of Dijkstra
  • Determine appropriate subproblems for Bellman-Ford
Assessments:
  • Quiz 9 (There is no Quiz 8) due to Canvas at 6pm on Friday

Fri
April 26

Topics/Goals:
Lecture:
Assessments:
  • Rough Draft of PSet 10 due to Canvas @ 9pm
  • Quiz 9 (There is no Quiz 8) due to Canvas at 6pm on Friday

Sun
April 28

Topics/Goals:
Lecture:
Assessments:
  • PSet 10 to Canvas @ 9pm
  • PSet 11 assigned

Week 11

Week 11

Topics/Goals:
Lecture:
Assessment:

Mon
April 29

Topics/Goals:
Lecture:
Assessments:
  • PSet 10 Self-grade and reflection due @ 7pm
  • PSet 11 assigned

Tues
April 30

Topics/Goals:
Bellman Ford
  • You know the drill: describe, analyze, prove
Lecture:
Assessments:
  • Programming Assignment 2 Due @ 9 pm (soft deadline)

Thurs
May 2

Topics/Goals:
NP Complete Problems
  • Analyze runtime of Bellman Ford
  • Describe the landscape of problems
  • Describe how to compare the difficulty of problems
Assessments:
  • Quiz 10 due to Canvas at 6pm on Friday

Fri
May 3

Topics/Goals:
Lecture:
Assessments:
  • Rough Draft of PSet 11 due to Canvas @ 9pm
  • Quiz 10 due to Canvas at 6pm on Friday

Sun
May 5

Topics/Goals:
Lecture:
Assessments:
  • PSet 11 to Canvas @ 9pm

Week 12

Week 12

Topics/Goals:
Lecture:
Assessment:

Mon
May 6

Topics/Goals:
Lecture:
Assessments:
  • PSet 11 Self-grade and reflection due @ 7pm
  • PSet 12 available

Tues
May 7

Topics/Goals:
NP Hard Reductions
  • Describe reductions from 3SAT to Hamiltonian Path and Subset Sum
  • Prove that the reductions are correct and in P
Lecture:
Assessments:

Thurs
May 9

Topics/Goals:
Reflections/Review
Assessments:
  • Overall Reflection and Self-Grade Due @ 8:00 am
  • Quiz 11 due to Canvas by 6pm on Friday.