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.


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 HW0
HW1
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
HW0
HW1 (moodle)
M2 MiniLab 1 : LL MiniLab
Challenge Assignment (optional)
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.
Linked List Hints
DQ #3
W2 More list structures and analysis
F2 MiniLab 1: LL MiniLab
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
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)
End of Material for Exam I
CH 5.4, 5.5, 4.4 (Queues first) LL MiniLab Car Wash
    Car class
    Bay class
    main class
    sim. class
F4 EXAM I
JAVA, Lists, Stacks, and Queues
BigOQuestions.java JUNIT MiniLab
HW3

M5 Recursion
Work on oustanding MiniLabs/Project 2
Stack MiniLab
W5 Merge Sort
Factorials
KQUEUE MiniLab
F5 TBA
Watch this space
M6

Searching
Sorts
Merge Sort
Factorials
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 Project 4: BLAST
F8 Exam II (Recursion, Sorts, and Trees)
M9 Memorial Day
No Class
W9 Maps and Hash Tables
Implementations From Java:
Modular Math
Lab Day
Ed. 3, Chapter 14 Binary Search Trees
F9 Heaps and Heap Sort
BLAST Lab Day


M10 Look ahead: Heaps, Graphs, and Sets


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

DQ
F10 Mandatory class!!!
Review For Final
Final list of topics for exam



M11 Spring 2018: O/U 312 Monday, 6/11/18, 6:30 pm - 9:00 pm
T11 Last day to turn in work without prior approval. BLAST due
W11 BLAST DROP-DEAD DATE!!! BLAST Drop-dead date SUMMER!!!!