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 - Sorting Algorithms II
Week 14 Mergesort, Quicksort, Heapsort
M - Mergesort Algorithm intro
W - Quicksort Algorithm intro
Th - Lab: insertion + selection
F - Heapsort
Week 15 Hash Tables
M - Intro to Hash Tables
W - Double Hash Functions
Th - InClass Assignment
F - Final Review
Week 16 Final
M - *********
W - *********
Th - *********
F - *********
Week 17 Final
M - May 20 8:00am-10:30am
W - *********
Th - *********
F - *********
**Schedule is subject to change