Classes are in Webster 101. See the index page
for categorical listings of all assignments and topics. Problem Set links will not work until the
assigments are released.
Week 1: Introduction and Basic Concepts
- Mo 08/21 - #1 - Introduction to Algorithms:
Study resources include CLRS Chapter 1; Topic 01 Notes; and
screencasts 01A-C (or 01* for all of them) in Laulima (these screencasts were my first
attempt and are of poor quality).
- We 08/23 - #2 - Examples of Analysis with Insertion Sort:
Study resources include CLRS Chapter 2 sections 2.1 and 2.2;
Topic 02 Notes up through "Worst Case Rate of Growth";
screencasts 02A-C in Laulima (up through "Detailed Analysis of Insertion Sort");
MIT Lecture 01.
Quiz on above Topic 02 material in class today (and on future days for every
numbered topic).
Week 2: Continuing Basic Concepts
- Mo 08/28 - #2 - Examples of Analysis with Merge Sort:
Rest of CLRS Chapter 2; rest of Topic 02 Notes; screencasts
02D and 02E. Don't forget Quiz on remainder of Topic 02.
- Mo 08/28 - Last day to withdraw without "W"
- Tu 08/29 - Problem Set #0
(practice homework, Topic 1) due 23:55 (11:55 pm) in Laulima (not graded, but discussed
in class)
- We 08/30 - #3 - Growth of Functions and Asymptotic Concepts:
CLRS Chapter 3;
Topic 03 Notes ; screencasts 03*, available in Laulima and YouTube;
MIT Lecture 02
(beginning-16:50).
Week 3: Analysis of Basic Data Structures
- Mo 09/04 - Holiday (Labor Day)
- Tu 09/05 - Problem Set #1
(Topic 2) due 23:55 (11:55 pm) in Laulima
- We 09/06 - #4 - Basic ADTs (Stacks, Queues, Lists and Trees):
CLRS Chapter 10;
Topic 04 Notes;
screencasts 04* in Laulima and YouTube;
(not covered in MIT video lectures).
Week 4: Probabilistic Analysis, Randomization, and Hash Tables
Week 5: Divide and Conquer and Binary Search Trees
- Mo 09/18 - #7 - Divide & Conquer and Analysis of Recurrences:
CLRS Sections 4.1 & 4.3-4.5;
Topic 07 Notes; screencasts 07*;
MIT Lecture 02
(16:51-end) and
MIT Lecture 03
(through about 13:07: we don't cover Strassen or Fibonacci numbers).
- Tu 09/19 - Problem Set #3 (Topics 5
& 6) due 23:55 (11:55 pm)
- We 09/20 - #8 - Binary Search Trees:
CLRS Sections 12.1-12.3 (see also Theorem 12.4);
Topic 08 Notes; screencasts 08*;
(No corresponding MIT lecture identified).
Week 6: Advanced Sorts and Queues (Heaps, Priority Queues, Heapsort, Quicksort)
- Mo 09/25 - #9 - Heap, Heapsort and Priority Queues:
CLRS Chapter 6 (all);
Topic 09 Notes; screencasts in Laulima and YouTube;
(no corresponding MIT lecture identified)
- Tu 09/26 - Problem Set #4 (Topics 7 &
8) due 23:55 (11:55 pm)
- We 09/27 - #10 - Quicksort:
CLRS Chapter 7 (Chapter 8 is in notes but will be continued on Monday);
Topic 10 Notes;
screencasts in Laulima and YouTube;
MIT Lecture 04
Week 7: O(n) Sorts and Midterm
- Mo 10/02 - #10 - Theoretical Limits, and O(n) Sorts; Midterm Review:
CLRS Chapter 8;
Topic 10 Notes;
screencasts in Laulima and YouTube;
MIT Lecture 05 (but we
don't go into as much detail)
- Tu 10/03 - No problem set!
- We 10/04 - Midterm 1, Topics 1-8
Week 8: Balanced Trees; Midterm Results Review
- Mo 10/09 - #11 - Balanced Trees (2-3-4 and Red-Black):
Sedgewick Chapter 15 & CLRS Chapter 13;
Topic 11 Notes;
screencasts 11*;
MIT Lecture 10. (Read
Sedgewick first to understand the 2-4 tree and how a RBT is a representation of a 2-4
tree. Allow extra time for this material!).
- Tu 10/10 - Problem Set #5 (Topics 9
& 10a, quicksort) due 23:55 (11:55 pm)
- We 10/11 - Midterm Results/Review and #11 continued
Week 9: Problem Solving with Dynamic Programming and Greedy Algorithms
- Mo 10/16 - #12 - Dynamic Programming:
CLRS Chapter 15 (and optionally Sedgewick Chapter 37);
Topic 12 Notes;
screencasts 12*;
MIT Lecture 15
- Tu 10/17 - Problem Set #6 (Topics 10b
linear sorts & 11)
due 23:55 (11:55 pm)
- We 10/18 - #13 - Greedy Algorithms:
CLRS Sections 16.1-16.3;
Topic 13 Notes;
screencasts 13*;
(MIT Lecture 16: only
briefly mentioned at 48:16)
- Fr 10/20 - Last day for withdrawal with W
Week 10: Graph Representations and Basic Algorithms
- Mo 10/23 - #14 - Graph Representations and Breadth-First Search:
CLRS 22.1-22.2; Goodrich & Tamassia section on Graph Representations in Laulima;
Optionally Newman (2010) chapter 9 in Laulima;
Topic 14 Notes;
screencasts 14A-C;
MIT Lecture 16 (just
the first few minutes for graph representations; the rest focuses on MST).
- Tu 10/24 - Problem Set #7 (Topics 12
& 13) due 23:55 (11:55 pm)
- We 10/25 - #14 - Depth-First Search, Topological Sort, and Strongly Connected Components:
CLRS 22.3-22.5; screencasts 14D-F.
Week 11: Amortized Analysis, Union-Find, and Minimum Spanning Trees
- Mo 10/30 - #15 - Amortized Analysis & #16 - Sets and Union-Find:
CLRS 17.1-17.2, 21.1, & 21.3; Also see Lemma 21.11, 21.12, 21.13 and Theorem 21.14;
Topic 15 Notes (skip Potential Method) &
Topic 16 Notes (skip Linked List representation: Forest is
much better);
MIT Lecture 13
- Tu 10/31 - Problem Set #8
(Topic 14)
- We 11/01 - #17 - Minimum Spanning Trees:
CLRS Chapter 23;
Topic 17 Notes;
screencasts 17*;
MIT Lecture 16 (second part).
Week 12: Finding Shortest Paths in Graphs
Week 13: Midterm; Maximum Flow in Graphs
- Mo 11/13 - Midterm 2: Topics 9-17
- Tu 11/14 - No problem set!
- We 11/15 7- #20 - Maximum Flow:
CLRS Sections 26.1-26.3;
Topic 20 Notes;
screencasts 20*.
Week 14: Multithreading and Midterm Results Review
- Mo 11/20 - #22 - Multithreading:
CLRS Chapter 27 (emphasis on sections 27.1 and 27.3);
Topic 22 Notes;
no screencasts.
- Tu 11/21 - Problem Set #10
(Topics 18 & 19) due 23:55 (11:55 pm)
- We 11/22 - Review of Midterm Results
Week 15: NP-Completeness and Approximation Algorithms
- Mo 11/27 - #24 - Complexity Theory & NP-Completeness:
CLRS Chapter 35;
Topic 24 Notes;
screencasts 24*;
not covered in MIT video lectures.
- Tu 11/28 - Problem Set #11
(Topics 20 & 22) due 23:55 (11:55 pm)
- We 11/29 - #25 - Approximation Algorithms:
CLRS Chapter 34;
Topic 25 Notes;
screencasts 25*;
not covered in MIT video lectures.
Week 16: Special Topic and Wrapup
- Mo 12/04 - #23 - String Matching:
CLRS Chapter 32 (emphasis on sections 32.1 and 32.3);
Topic 23 Notes
- We 12/06 - Special Topic and Review (LAST DAY CLASS). Introduction to social network
analysis algorithms taught in ICS 422 Network Science. Review for final exam. Nothing to
study in advance.
Finals Week:
- Monday 12/11 from 2:15-4:15 pm, BUSAD A101: Final Exam
- Cumulative on all topics (1-20, 22, 24, & 25).
Last modified: Fri Dec 1 01:29:55 HST 2017