Course Overview
This hands-on course follows on from COMP 2510 and COMP 2522. This course covers the advanced concepts of design, development, testing, and debugging intermediate-level programs with an object-oriented programming language. Topics include language syntax, design patterns, multiple inheritance (using classes and/or interfaces).
- Not offered this term
- This course is not offered this term. Notify me to receive email notifications when the course opens for registration next term.
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 a modern high-level object-oriented programming language.
- Demonstrate familiarity with advanced design idioms including Dependency-inversion Principle, Liskov Substitution Principle, Open/Closed Principle, Interface-segregation Principle, Law of Demeter in a modern high-level object-oriented programming language.
- Use profiling tools to monitor the memory and CPU usage of programs.
- Use multiple inheritance to model complex abstractions.
- Use exception handling to catch errors and properly release resources.
- Demonstrate an understanding of advanced design patterns including Abstract Factory, Builder, Lazy Initialization, Bridge, Decorator, Facade, Proxy, Chain of Responsibility, Iterator, Mediator, State, and Strategy.
- Represent analysis and design models using sequence, collaboration and class diagrams.
- Develop systems using advanced architectures that reduce system coupling including dependency injection, asynchronous message passing, and observers.
Effective as of Fall 2024
Related Programs
Object Oriented Programming 2 (COMP 3522) 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
- Computer Systems Technology
Diploma Full-time
Programs and courses are subject to change without notice. Find out more about BCIT course cancellations.