C++ Programming
Important Notice
This course is not active. Please contact Department Chair for more information.
Overview
Note: CISY 1275 and CMPT 1110 will be treated as equivalent.
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
The topics will be covered through in-class lectures, seminar sessions, laboratory assignments, reading, and research.
Assignments (minimum 2) 20 – 35%
Quizzes 0 – 20%
Participation 0 – 5%
Midterm examination 20 – 30%
Final examination 25 – 40%
___________________________________
TOTAL 100%
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.
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
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
These are for current course guidelines only. For a full list of archived courses please see https://www.bctransferguide.ca
Institution | Transfer details for CMPT 1110 |
---|---|
Kwantlen Polytechnic University (KPU) | KPU CPSC 1103 (3) |
Thompson Rivers University (TRU) | TRU COMP 1XXX (3) |
University of Northern BC (UNBC) | UNBC CPSC 100 (4) |