Skip to main content

Advanced C++ Application Development COMP 4603

Computer Systems Course

Course details

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.

Prerequisite(s)

Credits

4.0

Cost

$624.89

Course offerings

Winter 2023

Below is one offering of COMP 4603 for the Winter 2023 term.

CRN 90571

Duration

Wed Jan 11 - Wed Mar 29 (12 weeks)

  • 12 weeks
  • CRN 90571
  • $624.89
Class meeting times
Dates Days Times Locations
Jan 11 - Mar 29 Wed 18:00 - 21:00 Downtown DTC Rm. 410
Jan 11 - Mar 29 N/A N/A Online
Instructor

Frederic Guo

Course outline

Course outline TBD — see Learning Outcomes in the interim.

Cost

$624.89

Important information
  1. Departmental approval needed
  2. Please email cstpts@bcit.ca for Departmental approval. Include your Student number (A0#) and COMP__ and preferred CRN __ and Program Declaration____. Course is 48 hours - 36 hours on campus and 12 hours asynchronous activities/labs. The class meets once per week for 3 hours on campus and requires an additional 1 hour per week asynchronously. This is a BYOD (bring your own device) course, 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. Due to the substantial time required on labs and assignments, students are advised not to take any other programming language courses simultaneously. Late registration is not permitted.
Status

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:

School of Computing and Academic Studies

  1. Applied Software Development (ASD)
    Associate Certificate Part-time
  2. Computer Systems
    Diploma Part-time

Contact Us

If you have a question or comment about this course, please complete and submit the form below.

  • Privacy Notice: The information you provide will be used to respond to your request for BCIT program information and is collected under Section 26(c) of the Freedom of Information and Protection of Privacy Act (FIPPA). For more information about BCIT’s privacy practices contact: Associate Director, Privacy, Information Access & Policy Management, British Columbia Institute of Technology, 3700 Willingdon Ave. Burnaby, BC V5G 3H2, email: privacy@bcit.ca.
  • This field is for validation purposes and should be left unchanged.

Subscribe

Interested in being notified about future offerings of Advanced C++ Application Development (COMP 4603)? If so, fill out the information below and we'll notify you by email when courses for each new term are displayed here.

  • Privacy Notice: The information you provide will be used to respond your request for BCIT course information and is collected under Section 26(c) of the Freedom of Information and Protection of Privacy Act (FIPPA). For more information about BCIT’s privacy practices contact: Associate Director, Privacy, Information Access & Policy Management, British Columbia Institute of Technology, 3700 Willingdon Ave. Burnaby, BC V5A 3H2, email: privacy@bcit.ca.