CISC211 Object Oriented C++

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

  1. Course Number and Title

    CISC211 Object Oriented C++
  2. Number of Credits

    4 credits
  3. Minimum Number of Instructional Minutes Per Semester

    3000 minutes
  4. Prerequisites

    CISC122 (C or better)

    Corequisites

    None
  5. Other Pertinent Information

    None
  6. 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.
  7. Required Course Content and Direction

    1. Learning Goals:

      Course specific

      The students will be able to:
      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:

      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 Core Learning Goals:

      This course is not in the Core.

      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 Students:

      Departmentally selected textbook. Details provided by the instructor of each course section. See course format.
  8. Teaching Methods Employed

    Class time will be devoted to classroom lecture, guided discovery in the laboratory, and discussion.

Review/Approval Date - 2/08