Revised 8/2023
ITP 132 - C + + Programming I (4 CR.)
Course Description
Centers instruction in fundamentals of object-oriented programming and design using C++. Emphasizes program construction, algorithm development, coding, debugging, and documentation of C++ applications. Lecture 4 hours per week.
General Course Purpose
This course provides a comprehensive foundation sufficient for a student to write C++ programs from scratch in order to meet the minimum programming goals of students who plan to transfer and students who take the course for employment purposes.
Course Prerequisites/Corequisites
None.
Course Objectives
Upon completion of this course, the student will be able to:
- Design, develop, code, test and document C++ programs
- Use primitive data types and flow control statements that are the building blocks of all programming
- Use the foundation knowledge of object oriented coding techniques to create classes that are applied appropriately to a C++ program as a solution to a specific problem statement
Major Topics to Be Included
- Programming Basics Using C++
- Arithmetic Operators and Control Structures
- Arrays and Pointers
- C++ Functions
- Classes
- Class Features and Design
- Overloading Operators
- Inheritance
Student Learning Outcomes
Programming Basics Using C++
- Write C++ statements using the basic control structures
- Write C++ statements to declare and initialize integer, long, float, double, char and Boolean variables
- Write C++ statements to declare named constants
- Write C++ statements using declarations, integer qualifiers, data structures and assignment statements
- Be able to write C++ programs combining the statements describe in this document
- Be able to write, compile, test, debug, and run C++ programs
Input/Output
- Write C++ statements to open a text file for reading
- Write C++ statements to read data from a text file
- Write C++ statements to close a text file
- Write C++ statements to open a text file for writing
- Write C++ statements to write data to a text file
- Write C++ statements to using exceptions as required for file input and output
Arithmetic Operators and Control Structures
- Write C++ statements to assign values to variables using expressions containing mathematical and Boolean operators
- Write C++ statements to create arithmetic expressions following order of precedence rules
- Write C++ statements using Boolean operators: and, or, not and exclusive or
- Write C++ statements that use shortcut arithmetic operators
- Write C++ statements using the logical OR, the while Loop and the for statement
- Write C++ statements using the relational operators to include greater than, greater than or equal to , less than, less than equal to, is equal to, and not equal to
- Write C++ statements using the arithmetic operators to include add, subtract, multiply, divide and modulus
- Write C++ statements using the increment and decrement operators
- Write C++ statements using the pre and post increment and decrement operators
- Write C++ statements using the shortcut arithmetic assignment operators to include +=, -=, *=, /=, and %=
Arrays and Pointers
- Write C++ statements to declare, create, and initialize a one dimensional array
- Describe the memory allocation for a one dimensional array including both the array reference and the memory for the array elements.
- Write C++ statements to fill an array with values
- Write C++ statements to print out the contents of an array
- Write C++ statements that use the address operator
- Write C++ statements to copy one array to another array
- Write C++ statements to access every element in an array for analysis for the data
- Describe the concept of parallel arrays and their relationship to classes and objects
- Write C++ statements to declare, create and initialize multi-dimensional arrays
- Write C++ statements that pass arrays to methods
C++ Functions
- Write C++ statements that use functions and include files
- Write C++ statements that use procedural abstraction
- Describe the concept of scope
- Write C++ statements that construct function headers and prototypes
- Write C++ statements that pass values and addresses to functions
- Write C++ statements that pass arrays to functions
- Write C++ statements that include user-defined functions
Classes
- Be able to define the relationship between a class and an object
- Write C++ statements to create a class that includes attributes and methods
- Write C++ statements to create objects
- Be able to write visibility modifiers to include: public, private, protected, and no modifier
- Write C++ statements to create and use static attributes
- Write C++ statements to create and use constant attributes
- Write C++ statements to create classes with declaration and implementation sections
- Write C++ statements to encapsulate class components
- Write C++ statement that use classes
- Write C++ statements to use private and public functions
- Write C++ statements that pass objects to methods
- Write C++ statements that include objects as attributes
- Write C++ statements that return an object from a method
- Use classes and objects in programs that you write from scratch
Class Features and Design
- Be able to define member functions
- Be able to define the purpose of a constructors
- Be able to define the purpose of a destructors
- Write C++ statements to create and use constructors
Overloading Functions
- Be able to list the rules for overloading functions
- Write C++ statements that overload math functions, input and output
- Write C++ statements to create and use an overloaded constructor
Inheritance
- Be able to use inheritance in programs and classes
- Be able to describe the relationship between a super class and a sub class.
- Be able to recognize a sub class from the extends label in a class header
- Be able to describe the purpose of the super statements when using inheritance.
- Be able to write C++ statements from simple classes using inheritance
Required Time Allocation per Topic
In order to standardize the core topics of ITP 132 so that a course taught at one campus is equivalent to the same course taught at another campus, the following student contact hours per topic are required. Each syllabus should be created to adhere as closely as possible to these allocations. Of course, the topics cannot be followed sequentially. Many topics are taught best as an integrated whole, often revisiting the topic several times, each time at a higher level. There are normally 60 student contact-hours per semester for a four credit course. (This includes 15 weeks of instruction and does not include the final exam week so 15* 4 = 60 hours. Sections of the course that are given in alternative formats from the standard 16 week section still meet for the same number of contact hours.) The final exam time is not included in the time table. The category, Other Optional Content, leaves ample time for an instructor to tailor the course to special needs or resources
Topic | Hours | Percentage |
Programming Basics Using C++ | 7 | 12.5% |
Arithmetic Operators and Control Structures | 5 | 8.3% |
Arrays and Pointers | 8 | 13.9% |
C++ Functions | 8 | 13.9% |
Classes | 5 | 8.3% |
Class Features and Design | 8 | 13.9% |
Overloading Function | 8 | 13.9% |
Inheritance | 5 | 8.3% |
Testing to include quizzes, tests, exams | 4 | 7% |
Total | 60 | 100% |