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 127 - C++ Programming I


Description
This course introduces students to the fundamentals of programming using C++. Topics include variables and assignments, decision-making with branches, repetition with loops, and data storage using arrays and vectors. Students learn to design and implement user-defined functions, work with pointers to transfer data by value or by reference, and develop object-oriented programming skills, including the use of objects, classes, and inheritance. Students gain a strong foundation in writing portable, structured, and object-oriented C++ programs suitable for a variety of applications.
Credit Hours: 3
Contact Hours: 3
Prerequisites/Other Requirements: None
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:
Computer Programming, A.A.A.S.
Other Courses Where This Course is a Prerequisite: CIS 227
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. Demonstrate proficiency with fundamental programming constructs in C++, including variables, assignments, decision-making (branches), and loops.
  2. Utilize arrays and vectors to store, access, and manipulate collections of data efficiently.
  3. Design and implement user-defined functions to structure code, transfer data by value or reference, and promote code reuse.
  4. Apply object-oriented programming principles, including the creation and use of classes, objects, and inheritance.
  5. Work with pointers to manage memory and facilitate data manipulation in functions and classes.
  6. Develop structured, portable, and maintainable C++ programs that integrate core programming and object-oriented concepts.

Course Outline:
  1. Introduction to C++
    1. Overview of programming and problem-solving
    2. Console input/output, comments, whitespace, and errors
    3. Using IDEs and the C++ development environment
  2. Variables and Assignments
    1. Primitive data types: int, double, char, strings
    2. Constants, type conversions, arithmetic operations
    3. Random numbers, debugging, and style guidelines
  3. Branches and Decision-Making
    1. If-else statements, switch statements, logical operators
    2. Boolean logic, string and character operations
    3. Conditional expressions
  4. Loops
    1. While loops, for loops, nested loops
    2. Loop control: break, continue, and scope
  5. Arrays and Vectors
    1. Single and multi-dimensional arrays
    2. Vectors and dynamic containers
    3. Iteration, modification, and common operations
  6. User-Defined Functions
    1. Function creation, parameters, and return types
    2. Pass by value vs. pass by reference
  7. Objects and Classes
    1. Introduction to object-oriented programming (OOP)
    2. Class definition, constructors, accessors/mutators
  8. Pointers and Dynamic Memory
    1. Pointer basics, dynamic allocation, and memory management
    2. Copy constructors, destructors, and smart pointers

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: ARW 100 (Previously IRW97/IRW98), 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: 100138
Course CIP Code: 11.9999
Maximum Course Enrollment: 24
General Room Request: Lab - Computer (PC)Course Software Utilized: None
High School Articulation Agreements exist?: Yes
If yes, with which high schools?: Coopersville High School
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 technological 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:27:52
Course Review & Revision Year: 2030-2031
Essential Abilities/Technical Standards:
None



Add to Catalog (opens a new window)