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
3/1

8 03-04 Basic Sorts
basic sort exercises
3/4 PA3

03-06 Merge Sort 3/6


03-08 Quick Sort Exercises 3/8

9 03-11 SPRING BREAK



03-13 SPRING BREAK



03-15 SPRING BREAK


10 03-18 radix_activity.pdf
3/18


03-20 Binary Trees 3/20


03-22 Lab 7: Expression Trees 3/22

11 03-25 Binary Search Tree Activity 3/25


03-27 AVL Trees 3/27
PA3

03-29 Lab 8: BST Lab


12 04-01 Exam #2 Review



04-03 Exam #2



04-05 Heap 4/5

13 04-08 Huffman Coding Activity 4/8 PA4

04-10 Hashing Intro 4/10


04-12 Closed Hashing
Hashing Activity (.pdf)
4/12

14 04-15 Lab 9: Hashing



04-17 Hashing Wrap



04-19 Graphs
Graph Activity
4/19

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