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.

SCHEDULE
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
HW0
HW1
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
HW0
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 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
DQ
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.)
DQ
HW2
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 BigOQuestions.java JUNIT MiniLab
HW3

M5 Recursion
Work on oustanding MiniLabs/Project 2
Stack MiniLab
W5 Merge Sort
Factorials
KQUEUE MiniLab
F5 Exam II (Lists, Stacks, and Queues)
M6 Searching
RecursionQuestions.java
DQ
Car Wash
W6 Recursive Thinking
Sorting
Project 3 : NQueens
Animations that might help
CH 7.1-7.2
CH 8.1
NQueens
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)
DQ
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 III (Recursion, Sorts, and Trees)
Rescheduled to M10 due to DOGL
M9 Lab Day
Exam III (Recursion, Sorts, and Trees)
(rescheduled due to DOGL)
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
BLAST Lab Day

BST MiniLab
New due date(midnight Sunday)

M10 MEMORIAL DAY
Look ahead: Heaps, Graphs, and Sets



W10 Heaps, Sets, and Heap Sort
BLAST Lab
Questions on BLAST

DQ
F10 Review For Final


M11 Spring 2017: O/U 312 Monday, 6/5, 6:30 pm - 9:00 pm
BLAST Project