Location: MWF 11-11:50am & 12-1:50pm @ Taylor 200
Instructor: Dr. Heather Guarnera
Instructor Office Hours: M 10-11 and by appointment @ Taylor 303
TA Office Hours: Leilani Torres (Tue 4-6pm) & Siham Boumalak (M 6-8pm) @ Taylor 200


This schedule is subject to change. Resources correspond to activities or materials covered during class on the listed day. You are expected to read the assigned chapters (♢) before class. Plicker questions will be based on assigned readings. In-class activities (★) are due by the following class meeting unless otherwise stated. Homework assignments (☆) are listed on the day they are assigned. Videos (╠) are optional; they are supplemental to the assigned reading.

Date Day Topic Resources Assignments
01/15 W Intro [syllabus]
[book access]
♢ Ch. 1.1 - 1.2
[01-slides]
01/17 F Project Discussion - Q&A with Seniors Final Project
01/20 M No classes - MLK Day

01/22 W Insertion sort; Analyzing Algorithms ♢ Ch. 2.1 - 2.2
[02-slides]
HW 1
01/24 F Growth of functions ♢ Ch. 3.1 - 3.2
[03-slides]

01/27 M Basic Data Structures
(stacks, queues, linked lists, trees)
♢ Ch. 10.1, 10.2, 10.4
[04-slides]
01/29 W Hash tables & hash functions
due: HW1
♢ Ch. 11.1 - 11.2, 11.4
[05-slides]
[ex: chaining]
[ex: linear probing]
[ex: double hashing]
HW 2
01/31 F Hash tables & hash functions

02/03 M Heaps, priority queues, heapsort ♢ Ch. 6.1 - 6.5
[06-slides]
02/05 W Mergesort
due: Project Proposal (Topic & Software Outline)
♢ Ch. 2.3
[07-slides]
[ex: merge-sort]
02/07 F Quicksort ♢ Ch. 7.1 - 7.4
[08-slides]
HW 3
02/10 M Sorting lower bounds; linear sorting
♢ Ch. 8.1 - 8.4
[09-slides]
[viz: counting sort]
[viz: radix sort using base 10]
02/12 W Review
due: HW2


02/14 F Library Workshop
02/17 M EXAM 1 Topics
Page 1 of Exam - Instructions

02/19 W Binary Search Tree (BST) ♢ Ch. 12.1 - 12.3
[10-slides]
[ex: BST insert]
[ex: BST search]
02/21 F Red Black Tree (RBT)
due: Annotated Bibliography
♢ Ch. 13.1 - 13.3
[11-slides]
[ex: RBT insert]

02/24 M Greedy Method ♢ Ch. 15.1 - 15.3
[12-slides]
HW 4
02/26 W Divide and Conquer
due: HW3
♢ Ch. 4.1 - 4.5
[13-slides]
02/28 F Divide and Conquer
ACM SIGCSE - no plicker
Complete worksheet with partner
[master theorem handout]
[video pt 1]
[video pt 2]
[video pt 3]
[video pt 4]

03/03 M Divide and Conquer
03/05 W Review [master theorem handout - solutions]
03/07 F EXAM 2 Topics
Page 1 of Exam - Instructions
03/10 M Dynamic Programming
♢ Ch. 14.1 - 14.4
[14-slides]
[viz: 0-1 knapsack problem]
[ex: matrix-chain product]
[ex: 0-1 knapsack problem]

03/12 W Dynamic Programming


03/14 F Dynamic Programming
due: First Draft
due: HW4
due: Writing Center Appointment


03/17 M No classes - Spring Break

03/19 W No classes - Spring Break

03/21 F No classes - Spring Break

03/24 M No classes - Spring Break

03/26 W No classes - Spring Break

03/28 F No classes - Spring Break

03/31 M Graph representation; searches and topological sort ♢ Ch. 20.1-20.4
[15-slides]
[ex: BFS]
[ex: DFS]
HW 5
04/02 W Graphs (continued)


04/04 F Minimum Spanning Tree (MST)
due: Peer Review
♢ Ch. 21.1-21.2
[16-slides]
[ex: Prim]
[ex: Kruskal]
04/07 M Minimum Spanning Tree (MST)

04/09 W due: Intermediate Code

04/11 F Shortest Paths ♢ Ch. 22.1-22.5
[17-slides]
[ex: dijkstra (undirected graph)]
[ex: dijkstra (digraph)]
[ex: DAG]
[ex: Bellman Ford]
04/14 M Shortest Paths

04/16 W Shortest paths
due: HW 5


04/18 F EXAM 3

04/21 M TBA

04/23 W TBA

04/25 F Project Discussion
due: Final Presentation, Paper, & Software


04/28 M Project Discussion

04/30 W Project Discussion

05/02 F Attend IS Symposium

05/05 M Project Discussion

Exam Week
05/12 F Exam Day (11am section meets 12-2:30pm; 12pm section meets 4-6:30pm)