Course Schedule

Readings are from Bailey's Java Structures. Additional readings may be given occasionally. Links will be added here with additional information about lectures and lab assignments. All dates are subject to change, and are provided only as a general guideline.


Topic and/or Event Readings
Sept. 11 Introduction and Overview Ch. 0; Topic Notes: Introduction and Overview; Topic Notes: Java and OOP Review
Sept. 14 Java; Associations; Pre and Postconditions; Assertions Ch. 1, Ch. 2, App. B; Topic Notes: Associations
Sept. 16 Vectors Ch. 3; Topic Notes: Vectors
Sept. 18 Start Lab 1; Lab: The Silver Dollar Game -
Sept. 21 Generics; Asymptotic Analysis Ch. 4; Ch. 5.1Topic Notes: Generics; Topic Notes: Complexity
Sept. 23 Asymptotic Analysis; Recursion Ch. 5.2.1; Topic Notes: Recursion and Mathematical Induction
Sept. 25 Start Lab 2; Lab: Word Generator -
Sept. 28 Mathematical Induction Ch. 5.2.2-5.4
Sept. 30 Sorting Ch. 6.1-6.6; Topic Notes: Sorting
Oct. 2 Start Lab 3; Lab: Comparators are my Favorite Sort of Vectors
Oct. 5 Advanced Sorting Algorithms; Sorting Correctness and Complexity Proofs Ch. 6.7-6.10
Oct. 7 Sorting Wrapup; Iterators Ch. 7, Ch. 8; Topic Notes: Iterators
Oct. 9 Iterators; Lists Ch 9.4; Topic Notes: Linked Structures
Oct. 12 No Class: Columbus Day
Oct. 14 Exam Review; Lists; Lab: The Two Towers Problem
Oct. 16 Exam 1 (during class)
Oct. 19 Lists Ch 9.4, 9.6, 9.8
Oct. 21 Lists Wrapup; Stacks; Lab: P.S.: It's Just a Stack Rest of Ch. 9, Ch. 10.1; Topic Notes: Linear Structures
Oct. 23 Stack Implementations
Oct. 26 Stack Wrapup; Queues Ch 10.2-10.4
Oct. 28 Ordered Structures Ch. 11; Topic Notes: Ordered Structures
Oct. 30 BestOf Lab Discussion; Java Practice; Lab: Best Of
Nov. 2 Trees: Introduction and Terminology; Binary Trees Ch. 12.1-12.6; Topic Notes: Trees
Nov. 4 Tree Traversals Ch. 12.7-12.10
Nov. 6 Tree Lab Discussion; Lab: Lexicon
Nov. 9 Huffman Trees; Priority Queues Ch. 13; Topic Notes: Priority Queues
Nov. 11 Heaps and Heap Sort
Nov. 13 Exam Review
Nov. 16 Exam 2 (during class)
Nov. 18 Search Trees Topic Notes: Binary Search Trees; Ch. 14.1-14.8
Nov. 20 Practice with Search Trees; Mini-lab: Practice with Search Trees
Nov. 23 Balanced Search Trees
Nov. 25-27 No Class: Happy Thanksgiving!
Nov. 30 Class Cancelled
Dec. 2 Introduction to Graphs and Graph Implementations Ch. 16.1-16.3; Topic Notes: Graphs
Dec. 4 Graph Algorithms; Lab: Dijkstra's Road Trip Ch. 16.4-16.5
Dec. 7 Maps and Dictionaries Ch. 15.1-15.3; Topic Notes: Maps and Hashing
Dec. 9 Hash Tables Ch. 15.4-15.7
Dec. 11 Course Evaluations; Lab Discussion; Review
Dec. 14 Hashing Wrapup; Review; Bonus Topics
Dec. 18-22 Final Exam (self-scheduled)