Introduction to Computer Programming 2

Course code CMPT 1020

Credit 3.0

Length 60.0 hours

Course outline View

This course builds upon the foundations set in CMPT 1010 Introduction to Computer Programming 1. Students will learn how to apply fundamental object-oriented programming concepts to efficiently program applications with an intermediate level of difficulty. Topics include object-oriented design, object-oriented programming, encapsulation, inheritance, aggregation, operator overloading, virtual functions, polymorphism, function templates, class templates, exception handling, implementation of algorithms and data structures, introduction to complexity analysis, and introduction to embedded system programming. C++ is used as the implementation language.

Prerequisites

CMPT 1010.

Course type

This course is offered as part of a VCC program and cannot be taken individually.
International students: Eligibility is determined at the program level. Visit the program page for international student requirements and application information.

  • Review of C++ basics procedural programming (arrays; pointers and dynamic memory allocation; iterative and recursive functions; procedural programming)
  • Object-oriented programming basics (structures; classes as abstract data types; public members vs private members of a class; information hiding, accessors and mutators; constructors and destructors; separating class specification from class implementation)
  • Object-oriented concepts (static class members vs instance members; member-wise assignment; copy constructors; operator overloading using non-member and member functions; friend functions; inheritance, class hierarchies and protected members; aggregation; polymorphism and virtual functions; abstract base classes and pure virtual functions)
  • Exception handling (throwing an exception; catching and handling exceptions; exception classes and object-oriented exception handling)
  • Templates (function templates; class templates)
  • Introduction to data structures and algorithm (An introduction to efficiency analysis of algorithm; C++ STL arrays and vectors; STL containers and iterators; stacks and queues; linked listed)
  • Basics of C++ programming for embedded systems

Course schedules

Select your program to see the available course schedules.

CRN# Duration Delivery Location
40951 January 6, 2027
to April 23, 2027
Online
Lecture
Varies See full schedule Register
42756 January 6, 2027
to April 23, 2027
Online
Lecture
Varies See full schedule Register

Online courses listed without scheduled meeting times can be completed on your own schedule. All self-paced courses have on-campus tests. Off-site certified invigilation centres may be used at the student's expense.

How to take this course

This course is offered as part of a VCC program only.

Contact us

If you have any questions, please email at [email protected].

† This information is intended as a guideline only. Program and course details are subject to change with the approval of VCC's Board of Governors.

Indigenous Territory Acknowledgment

VCC is located on the traditional territories of the xʷməθkʷəy̓əm (Musqueam), Sḵwx̱wú7mesh (Squamish), and səlilwətaɬ (Tsleil-Waututh) peoples who have been stewards of these lands since time immemorial.