SCHEDULE


IMPORTANT NOTE:The COMP210 schedule might change during the quarter! Watch this space frequently for any changes (or any updates) during the quarter.
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
W1 Arrays
Project #1 Indexing Substrings
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 Linked Structures Chapter 4.1*, 4.2, and 4.3
*Ignore references to stacks & queues for now.
Submit your code from Stage 1 of the Indexing Substrings project.
W2 Collection Class
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*
*Ignore references to stacks & queues for now.
Submit your code after completing Stage 2 of the Indexing Substrings project. Continue working on Project #1
F2 Quiz #1: Time Complexity and Linked Lists • [solo quiz]
Continue working on Mini-Lab #1 Linked List
Continue working on Project #1 Indexing Substrings
     
Week 3
Day Class Topic Reading Due Recommendations
M3
Stack ADT
Stack Operations (and Big-Oh Analysis)
Stack as Array
Stack as Linked List
Mini-Lab #2 Stack
Chapter 3.2, 3.6 to 3.8, Chapter 4.4 to 4.6 DQ #3
Mini-Lab #1
Play: Stack: Array Implementation
Play: Stack: Linked List Implementation
W3 Queue ADT
Queue Operations (and Big-Oh Analysis)
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 Quiz #2: Stacks • [take home]
Continue with Mini-Lab #3
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
Chapter 9.1 DQ #6 Mini-Lab #3 Play: Searching a Sorted List
More: Binary Search
F4 Quiz #3: Lists • [solo quiz]
Mini-Lab #4 OrderedList and Binary Search
Week 5
Day Class Topic Reading Due Recommendations
M5
Recursion
Recursive Thinking
Recursion Vs. Iteration
Chapter 8 DQ #7
Play: Reverse a String Using Recursion
More: Recursion
W5 Quiz #4: Recursive Functions • [in pairs]
More on Recursion
F5 Catch-up day
Week 6
Day Class Topic Reading Due Recommendations
M6
More Recursion
Sorting
Big-Oh Analysis
Mini-Lab #5 Sorting and Recursion
Chapter 9.2 and 9.3 Mini-Lab #4 Play: Sort Demos
More: Comparing Sorts
Play: Radix Sort
W6 Continue working on Mini-Lab #5
Project #3 The N Queens Problem
DQ #8
Project #2
Read about TimSort
F6 Quiz #5: Topics and Concepts • [solo quiz]
Mini-lab and Project Work Day
Week 7
Day Class Topic Reading Due Recommendations
M7 Tree ADT

Binary Tree ADT
Implementing Binary Trees
Chapter 10.1 to 10.3, 10.4 to 10.7
W7 Tree Traversal Algorithm Mini-Lab #6 Binary Trees DQ #9
Mini-Lab #5
F7 Quiz #6: Binary Tree Concepts • [open book quiz]
Binary Search Trees
Chapter 11.1 to 11.3 Play: Binary Search Tree
Week 8
Day Class Topic Reading Due Recommendations
M8 Binary Search Trees
MiniLab #6.5 Binary Search Trees
Balanced Binary Search Tree
Mini-Lab #7 AVL Trees (optional)
Chapter 11.4 to 11.6 Project #3 Play: AVL Tree
Play: Red/Black Tree
W8 AVL Trees
Red/Black Trees
See Links from M8 for playing with AVL and Red/Black trees
F8 Quiz #7: BST • [solo quiz]
Project #4
Chapter 13 (Section 13.7 will help with Project)
Week 9
Day Class Topic Reading Due Recommendations
M9 Set ADT
Map/Dictionary ADT
Hashing and Hash Tables
Chapter 13 DQ #10
Mini-Lab #6
W9 Continue working on Project #4
F9 Quiz #8: Hashing • [group quiz]
Heaps and Priority Queues
Chapter 12 Mini-Lab #6.5 Play: Minheap
Week 10
Day Class Topic Reading Due Recommendations
M10 Graph ADT
Types of Graphs
Common Graph Algorithms
Chapter 15 More: Describing Graphs
W10 More on Graphs
F10 Quiz #9: Graphs • [solo quiz]
Class wrap-up
Course evaluations
Finals Week