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 Recursion, Algorithm Analysis, ADT Queue container
M - Recursion, fib, factorial
W - Big O, Comparing Algorithm Efficiency, time()
Th - Lab: Doubly Linked List insert remove
F - Queue
Week 11 Queues and Stacks
M - Queue operations, Stack operations
W - Array Based Queue, Array Based Stack
Th - Lab: Array Based Queue
F - In-class hw11 worksheet
Spring Break April 15-19
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))
Week 13 Searhing Sorting Algorithms BiO
M - Linear Search Binary Search
W - Quadratic Sorting Algorithms
Th - Sorting Lab
F - Better Sorting Algorithms
**************************************************
Week 14 Sorting Algorithms + Midterm
M - Quadratic Sorting Algorithms
W - Review
Th - Midterm II - May 3
F - TBA
**************************************************
Week 15 Hash Tables
M - Intro to Hash Tables
W - Double Hash Functions
Th - InClass Assignment
F - Final Review
Week 16 Final
M - *********
W - May 16 8:00am-10:30am
Th - *********
F - *********
**Schedule is subject to change