- International Fees
International fees are typically 3.25 times the domestic tuition. Exact cost will be calculated upon completion of registration.
Course Overview
This advanced software application development course follows on from COMP 2511, COMP 3603 and COMP 3761. It assumes students have solid knowledge of procedural programming with C and can already write intermediate-level programs in C++. Participants must also understand how to use Alorithms Analysis and Design for advanced software application development. COMP 4603 starts with a quick review of writing and testing a well-formed C++ program. Students are then introduced to hands-on best practices, common design patterns and features added to the latest language standard, C++ 20. They will be shown how to develop maintainable and adaptable C++ applications to industry standards. COMP 3603 and COMP 4603 are electives in the Applied Software Development (ASD) Associate Certificate and both C++ courses are required in the CST FLEX Diploma. Upon completion, successful students will be able to design, build and deploy advanced C++ software for a variety of applications, from Games Development to Artificial Intelligence (AI). COMP 4603 will be offered in the fall (September) and winter (January) terms.
Domestic fees
$611.02
Learning Outcomes
Design, implement, debug and test intermediate to complex object-oriented programs in C++.
- Demonstrate advanced C++ design idioms including the Dependency-inversion Principle, Liskov Substitution Principle, Open/Closed Principle, and Interface-segregation Principle.
- Use the Principle of Least Knowledge or “Law of Demeter" to design guidelines for maintainable and adaptable software code.
- Use profiling tools to monitor the memory and CPU usage of C++ programs.
- Use multiple inheritance to model complex C++ abstractions.
- Create reusable containers in C++ and iterate over them.
- Demonstrate an understanding of advanced C++ design patterns including Abstract Factory, Builder, Lazy Initialization, Bridge, Decorator, Facade, Proxy, Chain of Responsibility, Iterator, Mediator, State, and Strategy.
- Develop systems using advanced architectures that reduce system coupling including dependency injection, asynchronous message passing, brokers, and observers.
- Create an advanced C++ application to industry standards.
Effective as of Winter 2025
Related Programs
Advanced C++ Application Development (COMP 4603) is offered as a part of the following programs:
- Indicates programs accepting international students.
- Indicates programs eligible for students to apply for Post-graduation Work Permit (PGWP).
School of Computing and Academic Studies
- Applied Software Development (ASD)
Associate Certificate Part-time
- Computer Systems
Diploma Part-time
Course Offerings
Fall 2025
Below is one offering of COMP 4603 for the Fall 2025 term.
CRN 49050
Dates
Sep 08 - Dec 01 Loading
- CRN 49050
- $611.02 Domestic fees
Class meeting times
Duration
12 weeks
Instructor
Frederic Guo
Course outline
Course outline TBD — see Learning Outcomes in the interim.
Important information
- Departmental approval needed
- Important course information will be sent to you prior to your course start date. Check your myBCIT email account to access this information.
- International fees are typically 3.25 times the domestic tuition. Exact cost will be calculated upon completion of registration.
- Please email cstflex@bcit.ca for Departmental approval. Include your Student number (A0#) and COMP__ and preferred CRN __ and Program Declaration____. Course is 48 hours - 36 hours synchronous online classes and 12 hours asynchronous activities/labs. The class meets once per week for 3 hours online and requires an additional 1 hour per week asynchronously. MIDTERM EXAM: October 20, 1800-2100, at the Downtown campus in 410. FINAL EXAM: December 1, 1800-2100, at the Downtown campus in 410. Please Note: Attendance, participation in class and the BCIT Learning Hub are mandatory. You should prepare to spend 2-3 hours on homework for every 1 hour of class time. This course may require an average total time commitment of 12-15+ hours per week. 3 hours of synchronous class, 1-hour asynchronous class time and 9-12+ hours per week for homework. Late registration is not permitted. BCIT Computing is primarily a Microsoft Windows environment. Students must provide their own current model Windows-compatible PC. i5 or higher equivalent processor, with 8 GB of RAM minimum, and 256 GB minimum storage. Highspeed internet access is needed for online sections and for homework. Mac users must have the ability to manage and support their iOS computer. They may need to create a virtual Windows environment using Parallels or VMWare Fusion. COMP instructors may not be able to assist Mac users with software compatibility issues. BCIT does not provide access to Parallels or support for students to use a Mac to run Windows. Due to the substantial time required on labs and assignments, students are advised not to take any other programming language courses simultaneously. No class October 13 (Thanksgiving).
Status
Programs and courses are subject to change without notice.