Apr 25, 2024  
Official Course Syllabi 2020-2021 
    
Official Course Syllabi 2020-2021 [ARCHIVED CATALOG]

Add to Favorites (opens a new window)

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.

Contact Hours: 3
Billable Contact Hours: 3
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:

  1. Review
    1. Explain the basic structure of C++ programs.
    2. Use decisions and loops in programs.
    3. Use structures, classes and arrays in programs.
  2. File I/O
    1. Identify members of the IOS and FSTREAM classes.
    2. Develop program(s) that utilize stream class member functions to perform error checking.
    3. Develop programs using char, string, and object I/O.
    4. 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:

  1. Multiple file program
    1. Organize C++ program using multiple source files and header files.
    2. Explain variable scope as it applies to multiple files program.
  2. Operator overloading
    1. Create program(s) that use overloading of Unary and Binary operators.
    2. Overload >> and < operators with the use of FRIEND functions.
    3. 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:

  1. Inheritance
    1. Explain the reason for inheritance and multiple inheritances.
    2. Create base and derived classes.
    3. Utilize PRIVATE, PUBLIC, and PROTECTED keywords to achieve proper member access control.
  2. Pointer and dynamic memory allocation
    1. Demonstrate the use of pointers as compared to address of operator &.
    2. Create program(s) that dynamically allocate memory space using NEW and manipulate the data through pointers.
    3. Create program(s) that clean up itself using DELETE operator in destructor.
    4. Explain data conversion between basic data types and objects.
  3. Polymorphism and template classes
    1. Explain polymorphism and its significance in O.O. programming.
    2. Explain the purpose of virtual function and abstract class.
    3. Develop program(s) using array of inhomogeneous objects and manipulate the objects using pointers.
    4. Understand C++ Template classes.
    5. Create program(s) that utilize template class Vector or List.

COMMON DEGREE OUTCOMES
(Bulleted outcomes apply to the course)

  • 1. The graduate can integrate the knowledge and technological skills necessary to be a successful learner.
  • 2. The graduate can demonstrate how to think competently.
  • 3. The graduate can demonstrate how to employ mathematical knowledge.
  • 4. The graduate can demonstrate how to communicate competently.
  1. The graduate is sensitive to issues relating to a diverse, global society.

COURSE CONTENT OUTLINE
  1. Review - Programming Basics/Loops and Decisions
    1. Review - Structures and Functions
  2. Review - Classes and Arrays
  3. Review - Streams
  4. Operator Overloading
  5. Inheritance
  6. Pointers and Dynamic Data Allocation
  7. Virtual Functions, Abstract Classes, and Polymorphism
  8. Templates and Exceptions
  9. Object-Oriented Design

Primary Faculty
Zhuang, Yi-Li
Secondary Faculty
Schleis, George
Associate Dean
Johnson, Elise
Dean
Balsamo, Michael



Official Course Syllabus - Macomb Community College, 14500 E 12 Mile Road, Warren, MI 48088



Add to Favorites (opens a new window)