|
|
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:
- Apply advanced object-oriented programming concepts including inheritance, polymorphism, and sophisticated class design.
- Process data using C++ file and stream operations, including reading, writing, parsing, and formatting structured data.
- Implement recursive solutions and evaluate when recursion is an appropriate problem-solving technique.
- Use exception handling to build programs that manage runtime errors and ensure robust, stable execution.
- Develop and apply function and class templates to create reusable, generic programming solutions.
- Utilize Standard Template Library containers and iterators to store, manage, and manipulate collections of data.
- Implement and analyze searching and sorting algorithms, comparing their efficiency and computational complexity.
- Design, implement, and evaluate complete C++ applications that integrate advanced programming constructs, data structures, and algorithmic techniques.
Course Outline:
- Streams and File I/O
- Input/output streams and file handling
- String streams and operator overloading
- Inheritance and Polymorphism
- Derived classes, overriding functions, virtual functions
- Abstract classes, UML, and “is-a/has-a” relationships
- Recursion
- Recursive functions and debugging recursive algorithms
- Applications in math and data structures
- Exceptions
- Exception handling and user-defined exceptions
- File I/O exception handling
- Templates
- Function and class templates
- Containers and Standard Template Library (STL)
- Lists, maps, sets, queues, deques, pairs
- Range-based for loops and common STL functions
- Searching and Sorting Algorithms
- Algorithm concepts, O-notation, and analysis
- 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)
|
|