CS 240: Algorithms and Data Structures
James Madison University, Fall 2021

The schedule below represents my current best estimate concerning due dates (and everything else). I am providing this information to give you a general idea of the pace and timing of the class. This schedule will certainly change as the semester progresses.

WEEK DATE TOPIC READING/EXERCISES OUT IN
1 08-25 Introduction
Introduction (.pdf)
01.01-01.02


08-27 Java Generics Lab Generics Tutorials PA1
2 08-30 Intro Algorithm Analysis 04.01-04.03


09-01 Asymototic Analsysis (.pdf) 04.04-04.07


09-03 Every Case/Worst Case (.pdf)
Algorithm AnalysisExercises
04.08,04.11

3 09-06 Analyzing Problems 04.09-04.13


09-08 Amortized Analysis 05.01-05.03, Amortization Tutorial


09-10 Dynamic Arrays Lab


4 09-13 LinkedList vs. ArrayList 05.04-05.07
PA1
9/14, 11:00PM

09-15 Stacks 05.08-05.09


09-17 Linked List Lab
PA2
5 09-20 Queues 05.12-05.13


09-22 Stack/Queue worksheet '5.14


09-24 Queue Lab


6 09-27 Developing Recurrences 06.01 + pdf


09-29 Analyzing Recurrences
06.02-06.05


10-01 Characterizing Recurrences
Recurrence Exercises
Videos

7 10-04 basic sort exercises 09.01-09.07
PA2 (10/5)

10-06 Merge Sort 09.09-09.10


10-08 Recursion Lab


8 10-11 Quick Sort 09.11


10-13 Radix Sort 09.13-09.14


10-15 radix_activity.pdf
Sort Wrap Up
Sound of Sorting
09.16-09.17 PA3
9 10-18 Binary Trees 08.01-08.06


10-20 Expression Tree Lab



10-22 FALL BREAK


10 10-25 Binary Search Tree Activity 08.11-08.12


10-27 AVL Trees AVL .pdf, 11.01


10-29 BST Lab 08.13-08.15

11 11-01 Red Black Trees Red Black Trees
PA3 (11/2)

11-03 Heap 08.16-08.17, 09.12


11-05 Huffman Coding Activity 08.18 PA4
12 11-08 Hashing Intro 10.01-10.04


11-10 Hashing Activity (.pdf) 10.06-10.09


11-12 Hashing Lab


13 11-15 Hashing Wrap 10.10


11-17 Graphs
Graph Activity
12.01-12.03


11-19 Graph Lab


14 11-22 THANKSGIVING BREAK



11-24 THANKSGIVING BREAK



11-26 THANKSGIVING BREAK


15 11-29 Graph Algorithms
dijkstra_exercises.pdf
12.04-12.05


12-01 Final Exam Review

PA4

12-03 Graph Algorithm Lab


16 12-06 Final Exam Practice



12-08 Application Lab



12-10 Application Lab


EXAM
WEEK
12-13 Section 4: 1:00-3:00PM


12-17 Section 3: 10:30-12:30