ITCS 2550 - C++ Programming 2 Credit Hours: 3.00 Prerequisites: ITCS 2530
ITCS 2550 provides students with a continuing study of C++ object‑orientated programming language. Students learn additional concepts of operator overloading, multiple public and private inheritance, C++ pointers, files and streams, virtual functions, linked lists, and basic C++ CLASS libraries. Additional CLASS libraries will be used as required. Primarily, the course emphasizes object‑orientated concepts and design. Students code programs involving objects, classes, multiple inheritance, new data types, C++ pointers, and file I/O. Students implement all programs and/or examples on microcomputers.
Billable Contact Hours: 3
Search for Sections OUTCOMES AND OBJECTIVES Outcome 1: Upon completion of this course, students will create program(s) using IFSTREAM, OFSTREAM, and FSTREAM classes which utilize file processing and error checking.Objectives: - Review
- Explain the basic structure of C++ programs.
- Use decisions and loops in programs.
- Use structures, classes and arrays in programs.
- File I/O
- Identify members of the IOS and FSTREAM classes.
- Develop program(s) that utilize stream class member functions to perform error checking.
- Develop programs using char, string, and object I/O.
- Explain the difference between Binary and Character files.
Outcome 2: Upon completion of this course, students will develop program(s) using intuitive class objects with overloaded operator member functions. Objectives: - Multiple file program
- Organize C++ program using multiple source files and header files.
- Explain variable scope as it applies to multiple files program.
- Operator overloading
- Create program(s) that use overloading of Unary and Binary operators.
- Overload >> and < operators with the use of FRIEND functions.
- Explain the purpose of NAMELESS TEMPORARY objects.
Outcome 3: Upon completion of this course, students will create program(s) using inheritance, polymorphism, dynamic memory allocation and template classes. Objectives: - Inheritance
- Explain the reason for inheritance and multiple inheritances.
- Create base and derived classes.
- Utilize PRIVATE, PUBLIC, and PROTECTED keywords to achieve proper member access control.
- Pointer and dynamic memory allocation
- Demonstrate the use of pointers as compared to address of operator &.
- Create program(s) that dynamically allocate memory space using NEW and manipulate the data through pointers.
- Create program(s) that clean up itself using DELETE operator in destructor.
- Explain data conversion between basic data types and objects.
- Polymorphism and template classes
- Explain polymorphism and its significance in O.O. programming.
- Explain the purpose of virtual function and abstract class.
- Develop program(s) using array of inhomogeneous objects and manipulate the objects using pointers.
- Understand C++ Template classes.
- Create program(s) that utilize template class Vector or List.
COMMON DEGREE OUTCOMES (CDO) • Communication: The graduate can communicate effectively for the intended purpose and audience. • Critical Thinking: The graduate can make informed decisions after analyzing information or evidence related to the issue. • Global Literacy: The graduate can analyze human behavior or experiences through cultural, social, political, or economic perspectives. • Information Literacy: The graduate can responsibly use information gathered from a variety of formats in order to complete a task. • Quantitative Reasoning: The graduate can apply quantitative methods or evidence to solve problems or make judgments. • Scientific Literacy: The graduate can produce or interpret scientific information presented in a variety of formats.
CDO marked YES apply to this course: Communication: YES Critical Thinking: YES Information Literacy: YES Quantitative Reasoning: YES Scientific Literacy: YES
COURSE CONTENT OUTLINE - Review - Programming Basics/Loops and Decisions
- Review - Structures and Functions
- Review - Classes and Arrays
- Review - Streams
- Operator Overloading
- Inheritance
- Pointers and Dynamic Data Allocation
- Virtual Functions, Abstract Classes, and Polymorphism
- Templates and Exceptions
- Object-Oriented Design
Primary Faculty Schleis, George Secondary Faculty Koss, John Associate Dean Evans-Mach, Patrick Dean Balsamo, Michael
Official Course Syllabus - Macomb Community College, 14500 E 12 Mile Road, Warren, MI 48088
Add to Favorites (opens a new window)
|