IMPORTANT NOTE:The following schedule represents my current best guess concerning due dates (and everything esle). I am providing this information to give you a general idea of the pace and timing of the class. THESE DATES MAY CHANGE (especially for Spring because of DOGL.) Please do not depend upon this schedule in purchasing airline ticket or making other irrevocable scheduling decisions without consulting me first. You were warned.

Refresh this page fairly often.

Skip directly to Week 1 | Week 2 | Week 3 | Week 4 | Week 5 | Week 6 | Week 7 | Week 8 | Week 9 | Week 10
DAY CLASS READING DUE Good time to start working on ...
M1 Intro/Syllabus
Review of Data Types
Definition of Division (mod)
Intro to Data Structures
Appendix B.1 - B.8, B.11 Optional: Eclipse Exercise
W1 UML, OO Review
CH 1, Appendix B.9 - B.13 DQ #1 Indexing Substrings
F1 Time Complexity
Linear Indexing Project
CH 2 DQ #2
HW1 (moodle)
M2 Random Access Lists vs Linked Lists
Basic Operations, Big-O Analysis for Random Access Lists
Appendix A
Appendix B.14 - B.16
CH 3.1, 3.3* (Skip 3.2)
CH 4.1*, 4.2, 4.3
CH 6.1*, 6.4
*Ignore references to stacks & queues.
DQ #3
W2 More list structures and analysis
F2 Exam I : JAVA Review
Linked Lists and Lab Time
Appendix B.15 - B.16 HW 2
M3 Linked List Implementation of the Basic Operations,
Big-O Analysis for Linked Lists
CH 6.5
W3 MiniLab 1 : LL Mini-Lab JUnit Introduction

Unit Tests
F3 Finish LL Mini-Lab
Work on MiniLab 2 : JUnit Mini-Lab
pp. 173 - 179
(Skip Figure 6.14 on pp. 174 - 176, but read Figures 6.15 & 6.16.)
M4 Intro to Stacks & Queues
Stacks & Queues: Array Implementation
MiniLab 3 : Stack Mini-Lab
CH 3.2, 3.4, 3.7, 3.8, 5.1, 5.3 Project 1 : Indexing Substrings HW3
W4 Queues & Stacks: LL Implementation
MiniLab 4 : KQueue Mini-Lab (leading into Project 2 : Car Wash)
CH 5.4, 5.5, 4.4 (Queues first) LL MiniLab Car Wash
    Car class
    Bay class
    main class
    sim. class
F4 java.util.Stack class, java.util.Queue interface
End of material for Exam I JUNIT MiniLab

M5 Recursion
Work on oustanding MiniLabs/Project 2
Stack MiniLab
W5 Exam I (JAVA, Lists, Stacks, and Queues) KQUEUE MiniLab
F5 Mid-Quarter Break
No class

Merge Sort
Car Wash
W6 Recursive Thinking
Project 3 : NQueens
Animations that might help
CH 7.1-7.2
CH 8.1
F6 Finish Searching/Sorting
Trees: Tree Traversal Algorithms
Breadth-First Traversal Algorithm
Pre-Order Depth-First Traversal Algorithm
In-Order Depth-First Traversal Algorithm
Post-Order Depth-First Traversal Algorithm
CH 9.1-9.4

M7 Lab day for NQueens and tree labs MiniLab 5: Binary Trees
W7 Trees CH 9.4-9.7
(Skim 9.5)
Binary Trees +
Junit Tests
F7 Binary Search Trees CH 10.1-10.4
MiniLab 6 : Binary Search Trees

+ JUnit Tests
M8 Work on Tree MLs
Binary Trees
W8 Balanced Binary Search Trees
Red Black Tree Applet
Red-Black Tree animation
10.5-10.9 NQueens
F8 Exam II (Recursion, Sorts, and Trees)
M9 Hashing Functions
Hash Tables
Lab Day
CH 14 Project 4 : BLAST
W9 Maps and Hash Tables
Implementations From Java:
Modular Math
Lab Day
Binary Search Trees
F9 Heaps and Heap Sort

M10 Look ahead: Heaps, Graphs, and Sets

W10 Heaps, Sets, and Heap Sort
Questions on BLAST

F10 Review For Final

M11 Fall 2017: O/U 312 Sunday, 11/19, 11:30 am - 2:00 pm BLAST Project