The final exam Other finals review Final Exam Review CSH Review - - PDF document

the final exam
SMART_READER_LITE
LIVE PREVIEW

The final exam Other finals review Final Exam Review CSH Review - - PDF document

The final exam Other finals review Final Exam Review CSH Review November 17 th 7pm 10pm Gracies Recall Final: November 18 th 12:30pm 2:30pm 70-3690 Plan for today UML Everything we learned


slide-1
SLIDE 1

Final Exam Review The final exam

  • Other finals review

– CSH Review

  • November 17th – 7pm – 10pm
  • Gracies

– Recall

  • Final: November 18th
  • 12:30pm – 2:30pm
  • 70-3690

Plan for today

  • Everything we learned

– In less than 50 minutes!

  • Course Evaluations

UML

  • Use Case Diagram

– Shows scenerios of external interaction with system

  • Sequence Diagrams

– Show sequence of method calls for a given use case

  • Class Diagram

– Shows classes that make up your system and relationships between them

C++ Intro

  • C++ is superset of C

– Designed for memory manipulation

  • Source + Header file
  • Compilation & Linking

C++ Tour 1

  • Variables:

– Basic – Pointer – Reference – Interesting operators

  • & address of
  • * dereference
  • -> dereference / access member
slide-2
SLIDE 2

C++ Tour 2

  • static
  • Const
  • Functions

– Pass by value

  • Arrays

– Almost equivalent to pointer – New / delete / delete []

Operators

  • Can redefine basic operators on classes

– Including the assignment operator – operator#

  • Friends

Constructors/Destructors

  • Default constructor
  • Copy constructor

– If you do non-trivial work in constructor

  • Should have copy constructor and operator=
  • Difference between copy & operator=
  • Initializer List

– Preferred way of doing things – Sometimes the ONLY way – Order of initialization

  • Destructors

– If you new, you must delete

The we hade Exam 1 Inheritance I

  • Basic Concepts, Terms, Syntax
  • Polymorphism
  • Virtual functions
  • Abstract functions / classes
  • Base class in Initializer list (no super)

Inheritance II

  • Memory Layout of derived class

– Why you must call constructor of base class first

  • Polymorphism / Slicing
slide-3
SLIDE 3

Memory Management

  • How/where data is stored

– Global / Heap / Stack / Code

  • Runtime Stack

– Stack frame removed when function is done

  • Heap

– new – delete

Memory Management

  • Memory Woes

– Memory Leaks – Pointer Ownership – Dangling Reference – Overwriting Arrays – Reference to local variable

IOStreams

  • Formatted vs Unformatted I/O
  • Error states and format flags
  • Insertion and Extraction

– Manipulators

IOStreams Templates

  • Defining / using templates
  • Standard Template Library (STL)

– Containers – Iterators – Algorithms – Functions

More Memory Management

  • Smart Pointers

– Takes ownership of pointer – Smart pointers and STL containers – Override operator= and operator->

slide-4
SLIDE 4

Software Testing

  • Error / Fault / Failure
  • Unit / Integration / System Test
  • Preconditions / Postconditions
  • White Box / Black Box Testing
  • Equivalence Classes
  • Assertions

Then we had exam 2 Exceptions

  • Throw
  • Try / catch

– Exception hierarchies – (…) – Stack unwinding

  • Exception specification

– Not required but guarantee if there

Exceptions

  • Error conditions

– Unexpected exception – Uncaught exception

  • Exceptions and Memory Management
  • Exceptions vs Assertions

Function Pointers

  • Syntax
  • Declaration and Assignment

– Signature must be the same!

  • Functors

– Overrides the operator() – Can have state and extra methods

More Inheritance

  • VTABLES

– That silly =0 syntax – Virtual functions and construction – Virtual functions and destructors

slide-5
SLIDE 5

Ethics

  • Hackers
  • Free Software
  • Open Source
  • GNU Public License
  • Linux woes

– SCO vs. IBM

And there you have it!

  • Any questions?
  • Thanks to all…