- 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 course follows on from COMP 1510. This course covers the fundamental concepts of design, development, testing, and debugging intermediate-level programs with an object-oriented programming language. Topics include language syntax, data abstraction, encapsulation, inheritance, polymorphism, and exception handling. Design Patterns and Graphical User Interfaces will be applied to appropriate problems.
Prerequisite(s)
Credits
5.0
- Not offered this term
- This course is not offered this term. Please check back next term or subscribe to receive notifications of future course offerings and other opportunities to learn more about this course and related programs.
Learning Outcomes
Upon successful completion of this course, the student will be able to:
- Apply the properties and explain the importance of good object-oriented software design including encapsulation, information hiding, inheritance, and polymorphism to create easily extensible systems in the context of intermediate-level programs.
- Apply object-oriented decomposition to break a program into multiple classes with well-defined interfaces.
- Write programs processing data using sources and sinks.
- Create and handle exceptions to write robust programs.
- Apply design techniques such as sequence diagrams, collaboration diagrams and class diagrams to define classes and their relationships when solving a problem.
- Design, implement, debug and write automated tests for intermediate-level object-oriented programs in a modern high-level object-oriented programming language.
- Write programs addressing concurrency issues such as race conditions using synchronization techniques including synchronization, wait/notify, join, and sleep.
- Program with lambda expressions and closures.
Effective as of Fall 2024
Related Programs
Object Oriented Programming 1 (COMP 2522) 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
- Computer Systems Technology
Diploma Full-time
Programs and courses are subject to change without notice.