SCHEDULE


Week 1
Day Class Topic Reading Due Recommendations
M1 Syllabus Review
Intro to Data Structures
Review of Data Types
Chapter 1.2, Appendix B.1 to B.8, and B.11 Optional: Eclipse Exercise
W1 UML, OO Review
Arrays
Project #1 Indexing Substrings
Apendix A, Appendix B.9, B.10, B.12, and B.13 DQ #1 Project #1
F1 Time Complexity Chapter 2 DQ #2 Play: Visualizing Order and Big-Oh
More: Asymptotic Notation
Week 2
Day Class Topic Reading Due Recommendations
M2 Collection Class
Linked Structures
Random Access Lists vs Linked Lists
Big-Oh Analysis
Mini-Lab #1 Linked List
Appendix B.14 to B.16, Chapter 3.1 and 3.3*, Chapter 4.1*, 4.2, and 4.3
*Ignore references to stacks & queues for now.
DQ #3 Continue working on Project #1
W2 Quiz #1
Stack ADT
Stack Operations (and Big-Oh Analysis)
Stack as Array
Stack as Linked List
Chapter 3.2, 3.6 to 3.8, Chapter 4.4 to 4.6 Play: Stack: Array Implementation
Play: Stack: Linked List Implementation
F2 Iterators
Mini-Lab #2 Stack
Chapter 7
Week 3
Day Class Topic Reading Due Recommendations
M3 Queue ADT
Queue Operations (and Big-Oh Analysis)
Chapter 5.1 to 5.5 Mini-Lab #1
W3 Queue as Array
Queue as Linked List
Mini-Lab #3 Queue
Chapter 5.6 to 5.8
Mini-Lab #2
Play: Queue: Array Implementation
Play: Queue: Linked List Implementation
F3 Continue with Mini-Lab #3
Survey Quiz!
Project #2 Car Wash
DQ #4
Project #1
Week 4
Day Class Topic Reading Due Recommendations
M4 List ADT
Ordered, Unordered, and Indexed Lists
List as Array
List as Linked List
Chapter 6 DQ #5
W4 Sequential and Binary Search
Comparing Search Algorithms
Big-Oh Analysis
Mini-Lab #4 Binary Search
Chapter 9.1 DQ #6 Mini-Lab #3 Play: Searching a Sorted List
More: Binary Search
F4 Continue working on Project #2 and/or Mini-Lab #4 These classes might be helpful for Project #2
Car Wash, Car class, Bay class, main class, and sim. class
Week 5
Day Class Topic Reading Due Recommendations
M5 Midterm Review Midterm Sample (key)
Midterm Study Guide
BigOQuestions.java
Study hard and bring questions to the class or to my office hours!
W5 Midterm Mini-Lab #4
F5 Mid-Term Break
Week 6
Day Class Topic Reading Due Recommendations
M6 Recursion
Recursive Thinking
Recursion Vs. Iteration
Chapter 8 DQ #7 Play: Reverse a String Using Recursion
More: Recursion
W6 Sorting
Comparing Search Algorithms
Big-Oh Analysis
Mini-Lab #5 Recursion
Chapter 9.2 and 9.3 Project #2 Play: Sort Demos
More: Comparing Sorts
Play: Radix Sort
F6 Continue working on Mini-Lab #5
Project #3 The N Queens Problem
DQ #8
Week 7
Day Class Topic Reading Due Recommendations
M7 Wrap up Recursion and Sorting
W7 Tree ADT
How to Implement a Tree ADT
Tree Traversal Algorithm
Chapter 10.1 to 10.3 Mini-Lab #5
F7 Binary Tree ADT
Implementing Binary Trees Mini-Lab #6 Binary Trees
Chapter 10.4 to 10.7 DQ #9
Week 8
Day Class Topic Reading Due Recommendations
M8 Binary Search Trees Chapter 11.1 to 11.3 Project #3
W8 Balanced Binary Search Tree Mini-Lab #7 Binary Search Trees Chapter 11.4 to 11.6
F8 Heaps and Priority Queues
Heap Sort
Project #4 BLAST
Chapter 12
Read Chapter 13.7 to be able to start working on Project #4
Mini-Lab #6
Week 9
Day Class Topic Reading Due Recommendations
M9 Set ADT
Map/Dictionary ADT
Hashing and Hash Tables
Chapter 13 DQ #10
W9 Maps and Hash Tables
Continue working on Project #4
F9 Mini-Lab #8 Dictionary-Based Compression Mini-Lab #7
Week 10
Day Class Topic Reading Due Recommendations
M10 Graph ADT
Types of Graphs
Common Graph Algorithms
Chapter 15 More: Describing Graphs
W10 Continue working on Mini-Lab #8
Questions on Project #4
F10 Review For Final Final Sample
Final Study Guide
Mini-Lab #8
Finals Week
Final Exam is Sunday, November 18, from 3:30 PM to 6:00 PM
Project #4 BLAST is due Tuesday, November 20 by Midnight
IMPORTANT NOTE: The above schedule represents the current best guess concerning due dates, topics covered, and discussions. I am providing this information to give you a general idea of the pace and timing of the class. THESE DATES MAY CHANGE.