CS 240: Algorithms and Data Structures
James Madison University, Spring 2019

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 01-07 Introduction (.pdf)
Data Structures and ADTs
01.01-01.02


01-09 Java Generics Lab Generics Tutorials


01-11 Intro Algorithm Analysis 04.01-04.03

2 01-14 Big-O (.pdf)
Lecture Video Part 1
Lecture Video Part 2
04.04-04.07 PA1

01-16 Big-O-2 (.pdf)
Algorithm AnalysisExercises
04.08,04.11 HW1

01-18 Analyzing Problems 04.09-04.13

3 01-21 MLK DAY



01-23 List ADT
Dynamic Arrays Lab
05.01-05.03


01-25 Amortized Analysis Amortized Tutorial
HW1
4 01-28 Linked Lists
LinkedList vs. ArrayList
05.04-05.05
PA1

01-30 Linked List lab 05.06-05.07 PA2

02-01 Begin stacks
05.08-05.09

5 02-04 Queues
Queue Lab
05.12-05.13


02-06 Stack/Queue worksheet




02-08 Midterm Review 05.14

6 02-11 Midterm #1



02-13 Recursion Lab 06.01-06.05


02-15 Analyzing Recursive Methods
06.06 + pdf homework2.pdf
homework2.tex
PA2
7 02-18 Analyzing Recursive Methods





02-20 SNOW DAY



02-22 Analyzing Recursive Methods
Recurrence Exercises
Videos

8 02-25 basic sort exercises 09.01-09.07 PA3

02-27 Merge Sort 09.09-09.10
HW2

03-01 Quick Sort 09.11

9 03-04 SPRING BREAK



03-06 SPRING BREAK



03-08 SPRING BREAK


10 03-11 Review Sorts 09.16-09.17


03-13 Midterm Review



03-15 Midterm #2


11 03-18 Binary Trees 08.01-08.06


03-20 Expression Tree Lab 08.07-08.10


03-22 Binary Search
Binary Search Tree Activity
08.11-08.12
PA3
12 03-25 BST Lab 08-13-08.15


03-27 AVL Trees pdf + 11.01 PA4

03-29 Huffman Coding Activity
08-18-08.21

13 04-01 Heap 08.16-08.17


04-03 Priority Queue Lab 09.12


04-05 Start Hashing 10.01-10.04

14 04-08 Hashing Lab
10.06-10.10


04-10 Hashing Activity (.pdf)



04-12 Graphs
Graph Worksheet
12.01-12.03 PA5 PA4
15 04-15 Graph Lab 12.04-12.05


04-17 Graph Algorithms
Exercise (.pdf)




04-19 Application


16 04-22 Application



04-24 Review

PA5
Exams 04-29 Section 2 Final: 8:00-10:00AM



05-01 Section 1 Final: 8:00-10:00AM