CSC 210

Includes language syntax, problem solving techniques, top-down refinement, procedure
definition, loop invariance, theory of numerical errors and debugging. Covers the syntax of the
C++ language

Course Learning Outcomes

  • Explain best practices for developing a major software project
  • Build a simple class using default constructors
  • Create classes with user defined data types as members
  • Design and code classes using composition and inheritance
  • Implement a class with dynamic variables as private members
  • Create and manage a linked list as an abstract data type
  • Create template classes and functions
  • Demonstrate the use of C++ exception handlers, including throw and catch
  • Create programs using container classes from the C++ Standard Template Library (STL)
  • Implement iterators with user defined and STL classes
  • Demonstrate the use of Big O notation to measure the complexity of a search and/or sort
    algorithm
  • Design and implement a program to efficiently solve computer-related problems of
    substantial complexity (defined here to mean requiring a program of between 500 and
    2000 lines of working code), using Object Oriented Design methodologies including
    Abstraction, Encapsulation, Inheritance, and Polymorphism

Topics Covered in this Course

  • Topics Covered in this Course
  • Phases of software development
  • Object Oriented vs. Procedural program design
  • Object Oriented Design and Classes
  • Abstract data types
  • Pointers and dynamic memory as class members
  • Dynamic linked lists as ADTs
  • Class constructors
  • Composition and Inheritance
  • Inheritance and virtual functions
  • Exception handling
  • Big O notation and algorithm complexity
  • C++ Standard Template Library (STL), including vectors, lists, arrays, queues, a