Tentative ScheduleΒΆ

All readings are from the textbook chapters unless otherwise specified via instructor-supplied notes and/or videos. Quizzes, homework and exams will be conducted online through Canvas.

Week

Topics

Assigned Reading.

Due

1

Preliminaries; Python basics

Ch 1

2

Algorithm analysis; Lists; Dictionaries

Ch 2; Ch 8.2; Additional notes

Quiz 1

3

Stacks, Queues and Deques

Ch. 3.1 through 3.5

HW 1

4

Lists; Skip Lists

Ch 3.6 - 3.10; Ch. 8.4

Quiz 2

5

Recursion

Ch 4; Ch 8.3

HW 2

6

Searching; Hash Tables

Ch 5.1 - 5.2; Additional notes

Quiz 3

7

Sorting; Analysis of sorting algorithms

Ch 5.3 - 5.7; Additional notes

HW 3

8

Binary Trees and Heaps

Ch 6.1 - 6.6; Ch 8.6

Exam 1

Spring Break

9

Binary Search Trees

Ch 6.7 - 6.12; Additional notes

Quiz 4

10

Graphs; Breadth First Search

Ch 7.1 - 7.4

HW 4

11

Depth First Search

Ch 7.5 - 7.7

Quiz 5

12

Greedy algorithms on graphs

Ch 7.8 - 7.12; Additional notes

HW 5

13

Dynamic Programming

Ch 4.7; Additional notes

Quiz 6

14

Dynamic programming

Additional notes

Exam 2