CMPS 2020 Programming II: Data Structures
Week 1  Review cs2010
M   - Syllabus
W   - Review on PBV, PBR, Pointers, Dynamic Memory Allocation
Th  - Lab: Dynamic Mem Allocation w/ functions
F   - Review on structured data, struct, class, accessor, mutator
Week 2  Review C++ OOP
M   - Access Specifiers, accessors, mutators, constructors, destructor
W   - Operator overloading, Dynamic Member Variable
Th  - Lab: dynamic array Box ADT
F   - Dynamic Member Variable, GDB debugging
Week 3  Cstrings vs Strings vs MyString
M   - cstrings vs strings
W   - operator overloading
Th  - Lab: operator<< operator>>
F   - MyString.cpp operator[], comparison operators
Week 4  OOP: Inheritance
M   - Inheritance and hierarchies
W   - Inheritance II, constructor, destructor
Th  - Lab: Person => {student, faculty}
F   - Base class functions, hierarchies
Week 5  OOP: Polymorphism
M   - Polymorphism and virtual member functions, base class pointers 
W   - Virtual destructors, base class destructors
Th  - Lab: GDB - segFault, slicing, polymorphism, virtual destructor
F   - Multiple Inheritance, ABC
Week 6  Exceptions 
M   - Exception class, try, catch, throw
W   - Exceptions continued 
Th  - Lab: GDB and exceptions
F   - Template classes, STL vector
Week 7  STL ADT Vector, myVector, Midterm
M   - Review
W   - Review Activity
Th  - Lab: Midterm I - March 7th
F   - ADT myVector
Week 8 STL Vector, MyVector, Templates
M   - Review template functions, class templates
W   - Intro to STL and Vector
Th  - Lab: Templates and Inheritance
F   - hw8 functions, Midterm I Results
Week 9 ADT List Container Class
M   - Singly Linked Lists 
W   - Node container
Th  - Lab: Array Based List
F   - Linked List Operations
Week 10 Linked List Variants - Queues
M   - Doubly Linked List insert remove
W   - Enqueue + Dequeue w/ Doubly Linked Queue
Th  - Lab: bidirectional Doubly Linked List
F   - Array Based Queue
Week 11 Stacks
M   - Stack operations  Array Based Stack
W   - Recursion
Th  - Lab: Array Based Queue + Array Based Stack
F   - In-class hw11 worksheet
Week 12 Binary Search + BSTree
M   - Binary Search alg., Big O, tree node, recursive traversals
W   - Binary Search Tree, Insert, Search, BST height
Th  - Lab: BST (handwritten)
F   - Binary Search Tree Delete Op, O(lg(n))
**************************************************
Spring Break April 15-19
**************************************************
Week 13 Searhing Sorting Algorithms BigO + Midterm
M   - Linear Search Binary Search
W   - Quadratic Sorting Algorithms
Th  - Midterm II - April 25
F   - Hash Tables Intro
Week 14 Hash Tables
M   - Intro to Hash Tables 
W   - Double Hash Functions
Th  - InClass Assignment
F   - Final Review
Week 15 Final Review + QuickSort MergeSort
M   - *********
W   - *********
Th  - *********
F   - *********
Week 16 Final
M   - May 20 8:00am-10:30am
W   - *********
Th  - *********
F   - *********
**Schedule is subject to change