CIS-230: C++ Programming

School
Business, Entrepreneurship, & Professional Development
Department
Computer Information Systems
Academic Level
Undergraduate
Course Subject
Computer Information Systems
Course Number
230
Course Title
C++ Programming
Credit Hours
3.00
Instructor Contact Hours Per Semester
62.00 (for 15-week classes)
Student Contact Hours Per Semester
62.00 (for 15-week classes)
Grading Method
A-E
Pre-requisites
CIS-170
Catalog Course Description

An advanced-level course expanding upon arrays, pointers, structures, templates, and file I/O. Test Driven Development (TDD), refactoring, and UML diagrams concepts are applied. Covers theory and application in areas such as the standard template libraries including vectors, lists, stacks, queues, sets, and maps. Object oriented principles of classes, data, inheritance and dynamic binding are covered.

Goals, Topics, and Objectives

Core Course Topics
  1. C++ Basics
  2. Functions
  3. Parameters and Overloading
  4. Arrays
  5. Structures and Classes
  6. Constructors
  7. TDD (Test Driven Development) and Refactoring
  8. UML Diagrams
  9. Operator Overloading, friends, and references
  10. Strings
  11. Pointers and Dynamic Arrays
  12. Inheritance
  13. STL's (vectors, lists, stacks, queues, sets, and maps) and Iterators
  14. Polymorphism
Core Course Learning Objectives (Separated)
  1. Input, compile and execute a C++ program using basic programming concepts.
  2. Design and create a program using functions.
  3. Create a program using separate compilation, prototypes and header files.
  4. Demonstrate the use of structures.
  5. Code, manipulate and utilize character strings.
  6. Demonstrate proficient use of linear and multidimensional arrays.
  7. Declare, initialize and manipulate pointers.
  8. Create and use references.
  9. Develop a program using TDD.
  10. Demonstrate refactoring.
  11. Develop programs from UML diagrams.
  12. Demonstrate proficient use of operator overloading.
  13. Demonstrate proficient use of arrays of pointers.
  14. Design and create a program using function pointers.
  15. Design and create classes, subclasses and objects.
  16. Explain and demonstrate the use of STL’s (vectors, lists, stacks, queues, sets, and maps) and iterators.
  17. Demonstrate proficient use of exception handling.
  18. Demonstrate proficient use of Constructor and destructor functions.
  19. Demonstrate proficient use of friend classes and functions.
  20. Create and use the NEW and DELETE operators.

Assessment and Requirements

Assessment of Academic Achievement

Assessment of academic achievement may include (but is not limited to) written exams, hands-on activities and programs.

Approval Dates

Effective Term
Fall 2020
ILT Approval Date
05/03/2019
AALC Approval Date
05/15/2019
Curriculum Committee Approval Date
06/03/2019