Course

C++ Programming

Important Notice

This course is not active. Please contact Department Chair for more information.

Faculty
Science & Technology
Department
Computing Science
Course code
CMPT 1110
Credits
3.00
Semester length
15
Max class size
35
Method(s) of instruction
Lecture
Seminar
Typically offered
To be determined

Overview

Course description
This course provides the student with knowledge of program design and programming methodologies. Emphasis is placed on the analysis of problems, the design of algorithms, and the abstraction of control and data in computer implementations of the design. Initially structured programming top-down design and procedural programming is used followed by object-oriented design (OOD) and object oriented programming (OOP). C++ is used as the implementation language.

Note: CISY 1275 and CMPT 1110 will be treated as equivalent.
Course content

All topics in the core area are covered, though not necessarily in the order stated. Topics in the optional area are covered at the discretion of the instructor.

 

Core Topics

1. Procedural programming and structured (top-design) design

1.1 Primitive data types, operators, and expressions

1.2 Control structures

1.3 Conditional

1.4 Repetition

1.5 User defined functions and procedures

1.6 Parameter passing by value and by reference

1.7 Introduction to pointers

1.8 System stack, scope, and lifetime of variables

1.9 Recursion

1.10 Function overloading

 

2. Data Structures

2.1 Files and I/O streams

2.2 Arrays and strings

2.3 Pointers to strings and dynamic allocation

2.4 Structures

 

3. Object Oriented Programming and Design

3.1 Abstraction, encapsulation, visibility, information hiding, instantiation

3.2 Constructors and destructors

3.3 Abstract data types

3.4 Inheritance

3.5 Dynamic allocation

    a) Shallow vs. deep copy

    b) Copy constructors

 

4. Optional Topics

4.1 Templates

    a) Function

    b) Class

4.2 Operator overloading

4.3 Virtual functions and polymorphism

Learning activities

The topics will be covered through in-class lectures, seminar sessions, laboratory assignments, reading, and research.