- International Fees
International fees are typically 3.12 times the domestic tuition. Exact cost will be calculated upon completion of registration.
Course Overview
This hands-on advanced software application development course follows on from COMP 2511 and COMP 3603. It assumes students have solid knowledge of procedural programming with C, understand object-oriented programming and are able to write intermediate-level programs in C++. COMP 4603 starts with a quick review of writing and testing a well formed C++ program. Students are then introduced to best practices, common design patterns and features added to the C++ language up to C++ 20 to develop significant software applications to industry standards. Participants must provide their own current model PC, i5 or higher equivalent processor, 8 GB of RAM minimum, and 256 GB minimum storage. High-speed internet access is needed for online sections and for homework. Labs and exercises focus on building and deploying advanced C++ software applications for business and commercial use. Please Note: Attendance, participation in class and the BCIT Learning Hub are required. Students may have an average total time commitment of 16 total hours each week; 3 hours of synchronous class time, 1+ hour asynchronous activity in the BCIT Learning Hub. Participants should plan for 12+ hours of homework, reading and research each week. COMP 3603 and COMP 4603 are electives in the Applied Software Development (ASD) Associate Certificate and both are required in the CST/PTS Diploma. COMP 4603 – Advanced C++Application Development replaces COMP 2618 and will be offered starting September 2022. Upon completion, successful students will be able to build and deploy advanced C++ software applications to industry standards. COMP 4603 will be offered in the fall (September) and winter (January) terms.
Domestic fees
$599.00
Learning Outcomes
Upon successful completion of this course, the student will be able to:
- Design, implement, debug and test intermediate to complex object-oriented programs in C++.
- Demonstrate advanced C++ design idioms including: Dependency-inversion Principle, Liskov Substitution Principle, Open/Closed Principle, Interface-segregation Principle, Law of Demeter and Principle of Least Knowledge in a modern high-level object-oriented programming language.
- 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++ software application to industry standards.
Effective as of Winter 2022
Related Programs
Advanced C++ Application Development (COMP 4603) is offered as a part of the following programs:
- Indicates programs accepting international students.
- Indicates programs with a co-op option.
School of Computing and Academic Studies
- Applied Software Development (ASD)
Associate Certificate Part-time
- Computer Systems
Diploma Part-time
Course Offerings
Fall 2024
Below is one offering of COMP 4603 for the Fall 2024 term.
CRN 49050
Dates
Mon Sep 09 - Mon Nov 25
- 12 weeks
- CRN 49050
- Domestic fees $599.00
Status
In Progress
This course offering is in progress. Please check this page for other currently available offerings, subscribe to receive email updates or contact us with your comments or questions.
Class meeting times
Instructor
Frederic Guo
Course outline
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.12 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. The final exam will be written at the DTC campus in room 410 on November 25 from 1800-2100. 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. Class in session September 30 (Truth & Reconciliation Day), October 14 (Thanksgiving) and November 11 (Remembrance Day)
Winter 2025
Below is one offering of COMP 4603 for the Winter 2025 term.
CRN 90571
Dates
Fri Jan 10 - Fri Mar 28
- 12 weeks
- CRN 90571
- Domestic fees $599.00
Status
Seats Available
This course offering has seats available.
Class meeting times
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.12 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. Due to the substantial time required on labs and assignments, students are advised not to take any other programming language courses simultaneously. This is a BYOD (bring your own device) for the exams, participants must provide their own current model PC with an i5 or higher equivalent processor, 8 GB of RAM minimum, 256 GB minimum storage and high-speed internet access. MIDTERM EXAM: February 14, 1800-2100, at the DTC campus Room 551. FINAL EXAM: March 28, 1800-2100, at the DTC campus Room 551. 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 with microphone and video camera. 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.
Programs and courses are subject to change without notice.