Douglas College wordmark
Facebook logo Twitter logo Instagram logo Snapchat logo YouTube logo Wordpress logo
back to search

C++ Programming

Course Code: CMPT 1110
Faculty: Science & Technology
Department: Computing Science
Credits: 3.0
Semester: 15
Learning Format: Lecture, Seminar
Typically Offered: TBD. Contact Department Chair for more info.
course overview

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

Methods of Instruction

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

Means of Assessment

Assignments (minimum 2)                 20 – 35%

Quizzes                                              0 – 20%

Participation                                        0  – 5%

Midterm examination                         20 – 30%

Final examination                              25 – 40%


TOTAL                                                  100%

Learning Outcomes

At the end of the course, the student will be able to:

1. Explain and give examples of the various structured and O-O features of the C++ language covered in class;

2. Analyze a well defined problem and design a solution, as appropriate, using a top-down structured methodology or OOD methodology;

3. Write and debug introductory to intermediate C++ applications from a solution design;

4. Effectively describe and utilize C++ built-in functions and supplied class libraries;

5. Read, understand, and modify introductory to intermediate C++ code written by another programmer;

6. Create their own abstract data types and be able to explain/incorporate the concepts of extensibility, maintainability, and reusability.

course prerequisites

MATH 1110 with a minimum grade of C; or BC Pre-Calculus 12 with a minimum grade of B; or CSIS 1110

curriculum guidelines

Course Guidelines for previous years are viewable by selecting the version desired. If you took this course and do not see a listing for the starting semester/year of the course, consider the previous version as the applicable version.

course schedule and availability
course transferability

Below shows how this course and its credits transfer within the BC transfer system. 

A course is considered university-transferable (UT) if it transfers to at least one of the five research universities in British Columbia: University of British Columbia; University of British Columbia-Okanagan; Simon Fraser University; University of Victoria; and the University of Northern British Columbia.

For more information on transfer visit the BC Transfer Guide and BCCAT websites.


If your course prerequisites indicate that you need an assessment, please see our Assessment page for more information.