Aug 23, 2026  
GRCC Curriculum Database (2026-2027 Academic Year) 
    
GRCC Curriculum Database (2026-2027 Academic Year)
Add to Catalog (opens a new window)

CIS 227 - C++ Programming II


Description
This course builds on foundational C++ programming skills and advances students’ understanding of object-oriented design. Topics include file and stream processing, advanced class design, inheritance, and polymorphism. Recursion, exception handling, templates, and the use of Standard Template Library containers are explored. The course introduces searching and sorting algorithms, emphasizing algorithm efficiency and problem-solving techniques. Students will be able to design, implement, and analyze robust C++ applications that integrate advanced programming constructs and data structures.
Credit Hours: 3
Contact Hours: 3
Prerequisites/Other Requirements: CIS 127 (C or Higher)
English Prerequisite(s): None
Math Prerequisite(s): Eligible for MA107 or ALEKS Score of 30 or Higher
Course Corequisite(s): None
Academic Program Prerequisite: None
Consent to Enroll in Course: No Department Consent Required
Dual Enrollment Allowed?: Yes
Number of Times Course can be taken for credit:
Programs Where This Course is a Requirement:
None
Other Courses Where This Course is a Prerequisite: None
Other Courses Where this Course is a Corequisite: None
Other Courses Where This course is included in within the Description: None
General Education Requirement:
None
General Education Learner Outcomes (GELO):
NA
Course Learning Outcomes:
 

  1. Apply advanced object-oriented programming concepts including inheritance, polymorphism, and sophisticated class design.
  2. Process data using C++ file and stream operations, including reading, writing, parsing, and formatting structured data.
  3. Implement recursive solutions and evaluate when recursion is an appropriate problem-solving technique.
  4. Use exception handling to build programs that manage runtime errors and ensure robust, stable execution.
  5. Develop and apply function and class templates to create reusable, generic programming solutions.
  6. Utilize Standard Template Library containers and iterators to store, manage, and manipulate collections of data.
  7. Implement and analyze searching and sorting algorithms, comparing their efficiency and computational complexity.
  8. Design, implement, and evaluate complete C++ applications that integrate advanced programming constructs, data structures, and algorithmic techniques.

Course Outline:
 

  1. Streams and File I/O
    1. Input/output streams and file handling
    2. String streams and operator overloading
  2. Inheritance and Polymorphism
    1. Derived classes, overriding functions, virtual functions
    2. Abstract classes, UML, and “is-a/has-a” relationships
  3. Recursion
    1. Recursive functions and debugging recursive algorithms
    2. Applications in math and data structures
  4. Exceptions
    1. Exception handling and user-defined exceptions
    2. File I/O exception handling
  5. Templates
    1. Function and class templates
  6. Containers and Standard Template Library (STL)
    1. Lists, maps, sets, queues, deques, pairs
    2. Range-based for loops and common STL functions
  7. Searching and Sorting Algorithms
    1. Algorithm concepts, O-notation, and analysis
    2. Selection sort, insertion sort, quicksort, merge sort

Approved for Online and Hybrid Delivery?:
Yes
Instructional Strategies:
Lecture: 20-40%

Lab work: 30-50%

Assessment: 5-15%

Facilitate discussion: 5-15%

Collaborative/Peer Learning: 0-15%
Mandatory Course Components:
None
Equivalent Courses:
none


Accepted GRCC Advanced Placement (AP) Exam Credit: None
Name of Industry Recognize Credentials: None

Course prepares students to seek the following external certification:
No
Course-Specific Placement Test: None
Course Aligned with ARW/IRW Pairing: IRW 101 (Previously IRW 99)
Mandatory Department Assessment Measures:
None
GRCC Course Type:
Program Requirement: Meets the learning needs of students in a specific GRCC program.
Course Format:
Lecture - 1:1
Total Lecture Hours Per Week: 3
People Soft Course ID Number: 100170
Course CIP Code: 11.9999
Maximum Course Enrollment: 24
General Room Request: Lab - Computer (PC)Course Software Utilized: None.
High School Articulation Agreements exist?: None
School: School of STEM
Department: Computer Information Systems
Discipline: CIS
Faculty Credential Requirements:
Master’s Degree (GRCC general requirement), Other (list below), Professionally qualified through work experience in field (Perkins Act or Other) (list below)
Faculty Credential Requirement Details:
The instructor must possess knowledge of the current technology environment, 4000 hours of programming experience, knowledge of the C++ programming environment, a good background in object oriented programing, and, above all, and be able to clearly explain all topics covered in the course so that the student will be able to understand the concepts taught.
Major Course Revisions: N/A
Last Revision Date Effective: 20260220T14:29:23
Course Review & Revision Year: 2030-2031
Essential Abilities/Technical Standards:
None



Add to Catalog (opens a new window)