Location: MWF 1-1:50am @ Taylor 200
Instructor: Dr. Heather Guarnera; office hours in Taylor 303 by appointment
TA: Pavithra Reddy (M 7-9pm) and Brandon Charles (TR 7-8pm) @ Taylor 200
Office Hours: See schedule


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/17 M MLK Day: No classes
01/19 W Syllabus & Intro [syllabus]
[book access]
♢ Ch. 1.1 - 1.2
[01-slides]

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

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

01/31 M Heaps, priority queues, heapsort ♢ Ch. 6.1 - 6.5
[06-slides]
[viz: max-heap operations, heapsort]

02/02 W Mergesort
due: HW2
♢ Ch. 2.3
[07-slides]
[ex: merge-sort]
HW 3
02/04 F Quicksort ♢ Ch. 7.1 - 7.4
[08-slides]

02/07 M Sorting lower bounds; Linear sorting ♢ Ch. 8.1 - 8.4
[09-slides]
[viz: counting sort]
[viz: radix sort using base 10]

02/09 W Review - come prepared with questions
due: HW3


02/11 F EXAM 1 Topics
Page 1 of Exam - Instructions

02/14 M Discuss Final Project Final Project
02/16 W Binary Search Trees (BSTs) ♢ Ch. 12.1 - 12.3
[10-slides]
[ex: BST insert]
[ex: BST search]
Survey for Librarian Ian McCullough
HW 4
02/18 F Red Black Trees (RBTs)
due: survey
♢ Ch. 13.1 - 13.3
[11-slides]
[ex: RBT insert]

02/21 M Greedy Method ♢ Ch. 16.1 - 16.3
[12-slides]

02/23 W
02/25 F Divide and Conquer
due: Project Proposal & Software Outline
due: HW4
♢ Ch. 4.1 - 4.5
[13-slides]
HW 5
02/28 M Divide and Conquer Optional Extra Credit (taking place of Research Talks)
03/02 W Divide and Conquer
03/04 F Divide and Conquer; Dynamic Programming ♢ Ch. 15.1 - 15.4
[14-slides]
[viz: 0-1 knapsack problem]

03/07 M Dynamic Programming [ex: matrix-chain product]
[ex: 0-1 knapsack problem]

03/09 W Dynamic Programming; Exam Review
due: HW5


03/11 F EXAM 2
due: Extra Credit (to moodle)
Topics
Page 1 of Exam - Instructions

03/14 M No class: spring break

03/16 W No class: spring break

03/18 F No class: spring break

03/21 M No class: spring break

03/23 W No class: spring break

03/25 F No class: spring break

03/28 M Library Workshop
Final Project
03/30 W Work day

04/01 F Work day
due (to Moodle): Annotated Bibliography


04/04 M Writing Center Workshop: Outlining

04/06 W Work day

04/08 F Work day
due (to Moodle): First Draft


04/11 M Writing Center Workshop: Review

04/13 W Work day

04/15 F Work day
due (to Moodle): Peer Review
due (to Moodle): Intermediate Code


04/18 M Writing Center Workshop: Revisions

04/20 W Work day

04/22 F Work day
due (to Moodle): Presentation Draft


04/25 M (remote) Demo: Senior IS Presentations

04/27 W (remote) Work day

04/29 F IS Symposium - no class
due (to Moodle): Presentation Video


05/02 M (remote) Project presentations

Panelist Discussion
☆ Video links (TBA)
05/04 W (remote) Project presentations
Panelist Discussion
☆ Video links (TBA)
05/06 F (remote) Project presentations
due (to Moodle): Final Paper & Software

Panelist Discussion
☆ Video links (TBA)
TBA Finals Week