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

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-17 CS 240 Intro
Introduction
1/17


01-19 Collections and Iterators 1/19

2 01-22 Generics and Iterators (.pdf)
Lab1: Iterators
1/22 PA1

01-24 Intro Algorithm Analysis 1/24


01-26 Lab2: Generics and Iterators
1/26

3 01-29 Asymototic Analsysis (.pdf) 1/29


01-31 Best/Worst/Average
Big-O Exercises
1/31
PA1 1-2

02-02 Analyzing Problems
Analysis Exercises
2/2

4 02-05 Amortized Analysis 2/5


02-07 LinkedList vs. ArrayList 2/7 PA2 PA1 3-5

02-09 Lab 3: Dynamic Arrays Lab


5 02-12 Lab 4: Linked List Lab



02-14 Stacks and Queues 2/14


02-16 Lab 5: Queue Lab


6 02-19 Exam #1 Review



02-21 Exam #1



02-23 Lab 6: Recursion 2/23

7 02-26 Developing Recurrences 2/26


02-28 Analyzing Recurrences

PA2

03-01 Characterizing Recurrences
Recurrence Exercises



8 03-04 Basic Sorts 3/4 PA3

03-06 Merge Sort 3/6


03-08 Quick Sort 3/8

9 03-11 SPRING BREAK



03-13 SPRING BREAK



03-15 SPRING BREAK


10 03-18 Radix Sort
Sort Review




03-20 Binary Trees



03-22 Lab 7: Binary Tree Lab


11 03-25 Binary Search Trees



03-27 AVL Trees

PA3

03-29 Lab 8: BST Lab


12 04-01 Exam #2 Review



04-03 Exam #2



04-05 Heap


13 04-08 Huffman Coding
PA4

04-10 Hashing



04-12 Hashing Activity


14 04-15 Hashing Lab



04-17 Hashing Wrap



04-19 Graphs


15 04-22 Graph Lab



04-24 Final Exam Review

PA4

04-26 Final Exam Review


16 04-29 Application Lab



05-01 Application Lab



05-03 NO CLASS