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

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-18 CS 240 Intro



01-20 Collections and Iterators 1/20 Reading

2 01-23 Lab1: Collection Practice



01-25 Generics and Iterators
Iterator Lab (optional)
1/25 Reading PA1

01-27 Lab2: Generics and Iterators


3 01-30 Search and Intro to Analysis 1/30 Reading


02-01 Asymptotic Analysis



02-03 Lab3: Benchmarking Search


4 02-06 Analyzing Algorithms 2/6 Reading


02-08 Algorithm Analysis Exercises



02-10 Lab4: Recursion


5 02-13 Analyzing Recursive Algorithms 2/13 Reading
PA1 (2/14, 11:59PM)

02-15 Solving Recurrences



02-17 Characterizing Recurrences
Recurrence Activity



6 02-20 Sorting Introduction
Sort Activity
2/20 Reading PA2

02-22 Merge Sort 2/22 Reading


02-24 Quicksort 2/24 Reading

7 02-27 Radix Sort
sort summary activity
2/27 Reading


03-01 Midterm Review



03-03 Midterm Exam


8 03-06 Array-Based Lists 3/6 Reading


03-08 LinkedList vs ArrayList activity 3/8 Reading


03-10 Linked List Lab

PA2 (5:00PM)
9 03-13 SPRING BREAK



03-15 SPRING BREAK



03-17 SPRING BREAK


10 03-20 Stack, Queue, Deque 3/20 Reading PA3

03-22 Queue Implementation
Queue Lab
3/22 Reading


03-24 Stack and Queue Lab


11 03-27 Trees 3/27 Reading


03-29 Dictionaries and Sets
BST Activity
3/29 Reading


03-31 Expression Tree Lab


12 04-03 AVL Tree Activity 4/3 Reading


04-05 Red Black Trees 4/5 Reading


04-07 BST Lab


13 04-10 Heap 4/10 Reading
PA3 (4/11 11:59PM)

04-12 Huffman Coding 4/12 Reading


04-14 Heap Lab


14 04-17 Hash Tables 4/17 Reading PA4

04-19 Hash Tables
Hashing Activity
4/19 Reading


04-21 Hashing Lab


15 04-24 Graphs



04-26 Graph Lab



04-28 Application Lab


16 05-01 Application Lab



05-03 Final Exam Review

PA4