C++ Programming

Faculty
Science & Technology
Department
Computing Science
Course Code
CMPT 1110
Credits
3.00
Semester Length
15
Max Class Size
35
Method Of Instruction
Lecture
Seminar
Typically Offered
To be determined
Campus
New Westminster

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

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.

Textbook Materials

Textbooks and Materials to be Purchased by Students:

 

Eckel, Bruce, “Thinking in C++: Introduction to Standard C++, Volume One” (Current Edition) (Volume 1)  ISBN 978-0139798092 (This book is available as a free download from the author at http://mindview.net/Books/TICPP/ThinkingInCPP2e.html)

 

or  Textbooks suggested by the instructor

Requisites

Prerequisites

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

Corequisites

No corequisite courses.

Equivalencies

No equivalent courses.

Requisite for

Course 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 Transfers

Institution Transfer Details Effective Dates
Athabasca University (AU) AU COMP 2XX (3) 2012/09/01 to 2014/08/31
Athabasca University (AU) AU COMP 206 (3) 2014/09/01 to -
Coquitlam College (COQU) COQU CSCI 200 (3) 2017/05/01 to -
Coquitlam College (COQU) COQU CSCI 125 (3) or COQU CSCI 101 (4) 2009/09/01 to 2017/04/30
Kwantlen Polytechnic University (KPU) KPU CPSC 1103 (3) 2004/09/01 to 2007/08/31
Kwantlen Polytechnic University (KPU) KPU CPSC 1103 (3) 2012/09/01 to -
Langara College (LANG) LANG CPSC 1155 (3) 2005/09/01 to -
LaSalle College Vancouver (LCV) LCV VGP 111 (3) 2012/09/01 to -
Okanagan College (OC) OC COSC 111 (3) 2012/09/01 to -
Simon Fraser University (SFU) SFU CMPT 101 (4) 2004/09/01 to 2005/08/31
Simon Fraser University (SFU) SFU CMPT 125 (3), Q & SFU CMPT 127 (0) Exemption or SFU CMPT 135 (3) - Q or SFU CMPT 128 (3) - Q/B-Sci 2015/09/01 to -
Simon Fraser University (SFU) SFU CMPT 126 (3), Q/B-Sci 2005/09/01 to 2007/08/31
Simon Fraser University (SFU) SFU CMPT 128 (3), Q/B-Sci 2012/09/01 to 2015/08/31
Thompson Rivers University (TRU) TRU CMPT 1XXX (3), May receive credit for one only DOUG CMPT 1110 or DOUG CISY 1275 2012/09/01 to 2014/08/31
Thompson Rivers University (TRU) TRU COMP 252 (3) 2004/09/01 to 2007/08/31
Thompson Rivers University (TRU) TRU COMP 1XXX (3), May receive credit for one only DOUG CMPT 1110 or DOUG CISY 1275 2014/09/01 to -
Trinity Western University (TWU) TWU CMPT 160 (3) & TWU CMPT 165 (3) 2004/09/01 to 2007/08/31
Trinity Western University (TWU) TWU CMPT 140 (3) 2012/09/01 to 2019/08/31
University of British Columbia - Okanagan (UBCO) UBCO COSC 1st (3) 2012/09/01 to -
University of British Columbia - Okanagan (UBCO) UBCO COSC 111 (3) 2005/05/01 to 2007/08/31
University of British Columbia - Vancouver (UBCV) UBCV CPSC 1st (4) 2004/09/01 to 2005/08/31
University of British Columbia - Vancouver (UBCV) UBCV CPSC 1st (3) 2012/09/01 to -
University of British Columbia - Vancouver (UBCV) UBCV CPSC 1st (3) 2005/09/01 to 2007/08/31
University of Northern BC (UNBC) UNBC CPSC 100 (4), Credit will be awarded for only one of DOUG CISY 1165, 1210, 1275, 2365, 2375 or CMPT 1110. Must have C- or better to use as prerequisite for subsequent CPSC courses. 2004/09/01 to 2007/08/31
University of the Fraser Valley (UFV) UFV COMP 150 (4) 2004/09/01 to 2005/08/31
University of the Fraser Valley (UFV) UFV COMP 150 (3) 2012/09/01 to -
University of the Fraser Valley (UFV) UFV COMP 155 (3) 2005/09/01 to 2007/08/31
University of Victoria (UVIC) UVIC CSC 110 (1.5) 2004/09/01 to 2007/08/31
University of Victoria (UVIC) UVIC CSC 110 (1.5) 2012/09/01 to -
Vancouver Island University (VIU) VIU CSCI 160 (3) 2004/09/01 to 2007/08/31
Vancouver Island University (VIU) VIU CSCI 160 (3) 2012/09/01 to -

Course Offerings

Fall 2020

There aren't any scheduled upcoming offerings for this course.