Schedule

Below is the schedule for the semester. The schedule is subject to change, so check back often. You may need to press refresh to see the latest updates. Here you will find information about class meetings, and links to assignments and reading. Assignments that are due on a particular day are due by our class meeting time.

See the Class Notes and Class Code sections for notes and code from class.

Date Meeting Reading Assignments Due
1/19 (Tu) Introduction
1/21 (Th) Foundations Chapter 1, Chapter 2 (skip 2.3), Chapter 3
1/26 (Tu) Divide and conquer, research project intro Section 2.3 Homework 1
1/28 (Th) Recursion, LaTeX Chapter 4 through 4.4 Install LaTeX (see project for links)
2/2 (Tu) Maximum Subarray, Master Method Finish chapter 4 Homework 2
2/4 (Th) Randomized Algorithms Chapter 5 sections 5.1-5.3
2/9 (Tu) Heaps Part II intro, Chapter 6 Lab 1
2/11 (Th) Quicksort Chapter 7 Project Topic Abstract
2/16 (Tu) Linear time sorting Chapter 8
2/18 (Th) Review Project Annotated Bibliography, Homework 3
2/23 (Tu) Exam 1
2/25 (Th)
3/2 (Tu) Binary Search Trees Part III Intro, Chapter 12, skim chapters 10 and 11 for review of CS 120 data structures Project Outline
3/4 (Th) Red-Black Trees Chapter 13
3/9 (Tu) Rest Day, NO CLASS
3/11 (Th) Dynamic Programming Chapter 15 (skip 15.4) Homework 4
3/16 (Tu) Greedy Algorithms Chapter 16 (skip 16.4) Project Software Description
3/18 (Th) Amortized Analysis Chapter 17
3/23 (Tu) Elementary Graph Algorithms Chapter 22
3/25 (Th) Minimum Spanning Trees Chapter 23 Homework 5
3/30 (Tu) Single-Source Shortest Paths Chapter 24
4/1 (Th) Project First Draft
4/6 (Tu) Review Homework 6
4/8 (Th) Exam 2 (open Thursday and Friday)
4/13 (Tu) Project Preliminary Software
4/15 (Th)
4/20 (Tu)
4/22 (Th) Presentations Be ready to present
4/27 (Tu) Presentations Project Final Draft and Software