Course Textbook: We will provide lecture notes, which can be found consolidated here.
Supplemental Textbook: CLRS  Introduction to Algorithms, 3rd edition by Cormen, Leiserson, Rivest, and Stein. You can obtain a free copy via the Penn Libraries
Note: The lecture schedule is tentative and subject to change as the term progresses.
Date  Topic  Required Readings 

Tue, Sep 1, 2020  Welcome to CIS 121 & Greatest Common Divisor  
Thu, Sep 3, 2020  Introduction to Big Oh  
Tue, Sep 8, 2020  Big Omega & Theta  
Thu, Sep 10, 2020  Analyzing Runtime of Code Snippets  
Tue, Sep 15, 2020  Divide and Conquer + Intro to Recurrence Relations  
Thu, Sep 17, 2020  Merge Sort + Closest Pair  
Tue, Sep 22, 2020  Randomized Quicksort  
Thu, Sep 24, 2020  Stacks and Queues, Deterministic Quicksort  
Tue, Sep 29, 2020  Heaps  
Thu, Oct 1, 2020  Heaps continued, Huffman Coding  
Tue, Oct 6, 2020  Huffman Continued  
Thu, Oct 8, 2020  Breadth First Search, Depth First Search  
Mon, Oct 12, 2020 
Last day to drop a course


Tue, Oct 13, 2020  DFS continued, Topological Sort  
Thu, Oct 15, 2020  CLASS CANCELLED  
Tue, Oct 20, 2020 
Midterm 1 (inclass)


Thu, Oct 22, 2020  Strongly Connected Components  
Tue, Oct 27, 2020  CLASS CANCELLED  
Thu, Oct 29, 2020  Shortest Paths  
Fri, Oct 30, 2020  Last day to change grade type 