Lecture #15 - Midterm Examination Review

Web Resources:

CppReference.com, CPlusPlus.com, C++ TechLinks
Going Native 2013 - many experts
Herb Sutter's Blog, Herb Sutter on C++11, Herb Sutter keynote - Going Native 2012
Scott Meyer's Blog, S.M. on thread suspension, S.M.: C++11 Sampler
Stroustrup's Home Page, Code Project, Boost Library

Content:

This lecture will provide a review for the CSE687 Midterm Examination.
  1. The Syllabus describes topics to be covered, reading material for you to digest before coming to class, and due dates for the assigned projects.
  2. Help Session Video, Friday 3/11/2016
  3. Project #2 Help:

  4. Note:
    Everyone registered for the 8:00am session must appear for the exam in that session!

    If you turn in an exam from the 11:00am section but are registered for the 8:00am section you will have 5 points deducted from your exam score.
  5. Instructor's Solutions for Last Year's Midterm Exams:

  6. What's going to be on the this year's Midterm Exam?

    You will need to know the difference between syntax and semantics.

    Questions that ask you to produce or analyze C++ code.

    Questions about the design of this year's projects:

    Classes: composition, inheritance, initialization
    composition demos,  inheritance demos
    Class relationships - Definitions, Class relationships - class and object diagrams
    Example Package Diagram virtual function pointer tables
    Class relationships demo
    Dark Corners - hiding, defects in overloading & overriding
    temporaries

    Abstract Data Types - move, copy and assignment operations, default operations
    CompoundObjects

    Templates, function and class templates, Specialization, other template techniques, Template policies and traits

    Callable Objects, Functors and Function Pointers, Lambdas

    STL Containers and iterators
    Make sure you look at std::map and std::unordered_map.

    C++11 constructs, e.g., smart pointers, compiler generated functions, callable functions, aliases, range-based for loop

    Principles: LSP, OCP, DIP, ISP

    Programming to Interfaces,  Widget Factory demo

    Classic Factory structure, Classic Factory creating polymorphic objects
    Illustrates how to create instances of a polymorphic type with clients knowing only the base class and factory interfaces.

    Object Factory Structure, Object Factory Project
    This project implements a factory that allows clients to use derived classes but only bind to their abstractions. It also demonstrates the use of products with multiple interfaces.

    Programming to Interfaces Presentation
    Discusses interfaces, layers, factories, and breaking design, compile, and static link dependencies.

    Protocol-DllDemo Project
    Demonstrates how Dynamic Link Libraries are loaded implicitly and explicitly. I won't ask for details, but you should know how the demo works.

    RTTI, Exceptions, Casts

  7. What won't be on the exams - we haven't discussed these yet:

CST strip