Modules

Introduction to CIT 5940

Date
Topics / Due Dates
Readings
Jan 22
Welcome & Java Review
Jan 24
File I/O
RandomAccessFile, Iterator interface
HW 1 released
Jan 26
Recitation Homework Expectations & File I/O
Jan 29
Java Collections
Jan 31
Algorithm Analysis
HW 2 released
Feb 2
Recitation Using the Right Collection for the Job
Slides

Linear Data Structures

Date
Topics / Due Dates
Readings
Feb 05
List ADT
Feb 07
Stacks & Queues
HW 1 Due
Feb 09
Recitation Lists & Stacks
Problem & Tests
Slides

Trees

Date
Topics / Due Dates
Readings
Feb 12
Binary Trees
Feb 14
Huffman Trees

HW 2 Due

HW 3 released
Feb 16
Recitation Huffman Encoding
Exercises, Tests
Feb 19
Binary Search Trees
Feb 21
Heaps, & Priority Queues
Feb 23
Recitation BST
Slides & Exercise
Feb 26
Heaps & AVL Trees
8.1-8.5
Feb 28
Quad Trees
HW 4 Released
Mar 1
HW 3 Due

Design Patterns

Date
Topics / Due Dates
Readings
Mar 11
Design Patterns: Flyweight & Visitor
Mar 13
Design Patterns: Composite & Strategy
Mar 15
Recitation
Slides & Exercise

Hashing

Date
Topics / Due Dates
Readings
Mar 18
Homework 5 Prep (Collections, File I/O, Tries)
Mar 20
Hashing Intro, Open Hashing
HW 4 Due
HW 5 Released
Mar 22
Recitation Tries & Hashing
Slides and Exercise
Mar 25
Closed Hashing
Mar 27
More Hashing
Google’s sparsehash
Mar 29
Recitation Hashing & Slides

Indexing

Date
Topics / Due Dates
Readings
Apr 1
Indexing Intro
Apr 3
Indexing
HW 5 Due
HW 6 Released
Apr 5
Recitation Indexing & Slides

Graphs

Date
Topics / Due Dates
Readings
Apr 10
Graphs (BFS, DFS) & Homework 7
Apr 12
Recitation Indexing Trees & Graphs Intro
Slides
Exercise
Apr 17
Topological Sort, Shortest Paths
HW 7 Released
Shortest Paths, Minimal Cost Spanning Trees
HW 6 Due
Apr 19
Recitation Graph Implementations
Exercise & Slides (on Ed)
Apr 22
APSP
Apr 23
Project Proposals Due!
Apr 24
Git & GitHub
Additional VCS Notes!
Apr 26
Recitation Project Proposals & Critiques
Apr 29
Dynamic Dispatch
May 1
HW 7 Due