CISC211 Object Oriented C++

Department of Science, Technology, Engineering & Mathematics: Computer/Information Science

I. Course Number and Title
CISC211 Object Oriented C++
II. Number of Credits
4 credits
III. Number of Instructional Minutes
IV. Prerequisites
CISC122 (C or better)
V. Other Pertinent Information
VI. Catalog Course Description
This course introduces the advanced programming techniques in C++ utilizing digital game programming. It will introduce students to C++ object oriented programming, as well as OpenGL and its components.
VII. Required Course Content and Direction
  1. Course Learning Goals

    Students will:

    1. develop a working knowledge of the concepts of Object Oriented Programming (OOP);
    2. apply the concepts of OOP software design principles;
    3. apply C++ concepts, such as inheritance, data abstraction, and polymorphism;
    4. demonstrate programming ability using C++ and Open GL; and
    5. skillfully apply essential programming concepts in the completion of lab assignments.
  2. Planned Sequence of Topics and/or Learning Activities

    Course Outline:

    1. C++ overview
      1. Basic Syntax
        1. Variables, Constants, and Calculations
        2. Keywords
        3. Control Structures
      2. Advanced Pointers
      3. Standard Template Library
      4. Polymorphism
      5. Inheritance
    2. Open GL Overview
    3. Game Architecture
      1. Real Time Software Design
      2. Game Logic
      3. Rendering
    4. Data Structures
      1. Structures
      2. Classes
      3. Linked Lists
      4. Stacks
      5. Queues
      6. Tables
      7. Trees
    5. User Input
      1. Keyboard
      2. Mouse
      3. Joystick
    6. Artificial Intelligence
      1. System Structure
      2. Core Technologies
        1. Finite State Machines
        2. Rule Systems
      3. Planning and Problem Solving
      4. Action Oriented AI
    7. 2D Game Programming
      1. 2D Data Structures
      2. Sprite Based Characters
      3. Mapping Matrices
      4. Basic 2D Algorithms
      5. Special Effects
      6. Collision Detection
  3. Assessment Methods for Course Learning Goals

    The assessment of Course Learning Goals is based on participation in class discussions, written tests, labs, and other assignments, as well as performance-based tasks as appropriate.
  4. Reference, Resource, or Learning Materials to be used by Student:

    Departmentally-selected textbook. Details provided by the instructor of each course section. See course syllabus.

Review/Approval Date - 2/08; New Core 8/2015