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.
- 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.
Upon successful completion of this course, the student will be able to:
- Apply the properties 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.
- Decompose a program into multiple classes with well defined interfaces.
- Analyze and explain behaviour of intermediate-level programs involving object-oriented programming constructs including encapsulation, information hiding, inheritance, and polymorphism.
- 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.
- Add/modify relationships between classes and objects to show the design.
- 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 Winter 2019
Object Oriented Programming 1 (COMP 2522) is offered as a part of the following programs:
School of Computing and Academic Studies
- Computer Systems Technology
If you have a question or comment about this course, please complete and submit the form below.
Interested in being notified about future offerings of Object Oriented Programming 1 (COMP 2522)? If so, fill out the information below and we'll notify you by email when courses for each new term are displayed here.
Programs and courses are subject to change without notice.