Midterm Study Guide

The midterm will be online. It will be a combination of multiple choice questions and programming exercises. The multiple choice portion will be closed book. For the programming portion you will be allowed to use online reference or the text.

The topics include:

  • Software development phases
  • Classes and objects:
    • Public, private, protected
    • Inheritance
    • Virtual methods
    • Shallow and deep copy
    • Overloaded operators
    • Polymophism
  • Heap storage
    • New and delete
    • dangling pointers
    • memory leak
  • Pointers
    • NULL
    • Pointer arithmetic
  • Complexity
    • Complexity of sort and search algorithms
    • Analyzing coding
    • Finding Big-O
    • Complexity Classes
    • Polynomial vs Exponential algorithms
  • STL
    • Vector, Map, Pair (repl problems)
    • Container classes
    • Sequential Containers
    • Random Access Containers and iterators
    • Iterators
  • Linked Lists
    • Single, double, circular
    • Inserting, deleting
    • Traversal
    • Ordered vs Forward
    • Forward vs tail build
  • Recursion
    • Infinite
    • Base case
    • memoization

Several of the problems will require programming,. You must use C++ and Code VS on your computer to solve a small problem. Each problem will be a github classroom activity, with built-in test code.
Use this sample to learn how to do it: Discard-Card

Scroll to Top