Course Overview
This hands-on course follows on from COMP 1516 - Programming Fundamentals with Python. Students who already understand how to write simple programs in Python will focus on best practices in Object-Oriented Programming (OOP) and explore more in-depth problem-solving skills. COMP 2509 introduces application programming interfaces (APIs) and how to transition from Python to Java. This is not a Java development course; it an introduction to the fundamental object-oriented concepts of design, development, testing, and debugging intermediate-level programs in Java. Topics include language syntax, data abstraction, encapsulation, inheritance, polymorphism, exception handling and functional style programming. Participants will process and transform data using collection streaming, filtering, and mapping operations. Design Patterns and Graphical User Interfaces will be applied to appropriate problems. Labs and exercises demonstrate problem solving, writing automated tests, and practicing design before implementation. COMP 2509 is required for the Applied Software Development (ASD) and the Computer Systems Certificate (CSC). It is equivalent to COMP 2522 – Object-Oriented Programming 1 in the full-time CST Diploma, and replaces COMP 2501 & COMP 2601 in Computing Flexible Learning as of September 2026. Upon completion, successful students will be able to plan, write, and test significant OOP programs in Java and be prepared move on to higher level programming courses: C, Java, C#, and C++.
Registration requirements
Departmental approval is required to register for this course. You must have approval from the department to register. Students accepted into a program can register directly.
Domestic fees
$623.82
International fees are typically 3.4 times the domestic tuition. Exact cost will be calculated upon completion of registration.
Learning Outcomes
Upon successful completion of this course, the student will be able to:
- Explain modern industry standard object-oriented (OO) software design.
- Apply the 4 pillars of Object-Oriented Programming (OOP) principles including encapsulation, information hiding, inheritance, and polymorphism. Create intermediate-level programs.
- Create well-defined interfaces to apply object-oriented decomposition to break a program into multiple types.
- Distinguish the difference between classes and interfaces.
- Design and implement classes with proper initialization and validation.
- Write object-oriented programs that process data using external sources and sinks.
- Design, test, debug, and refine programs using exception handling. unit testing, debugging tools, and basic refactoring techniques.
- Use the Java Collections Framework and generics to manage and process collections.
- Process and transform data using collection streaming, filtering, and mapping operations.
- Apply lambda expressions and method references to perform operations on collections and support functional-style programming.
- Create and use sequence diagrams, collaboration diagrams, and class diagrams to define classes and their relationships when solving a problem.
- Apply a simple design pattern to improve program structure and control object creation.
- Develop a simple Graphical User Interface (GUI) that responds to user events using an event-driven programming model.
- Move on to a series of higher-level programming courses:
- COMP 2510 – Procedural Programming
- COMP 2701- Introduction to Procedural Programming with C
- COMP 3601- Application Development with Java
- COMP 3602- Application Development with C#
Effective as of Fall 2026
Course Offerings
Fall 2026
Below are two offerings of COMP 2509 for the Fall 2026 term.
CRN 52763
Dates
Sep 10 - Nov 26 Loading
- CRN 52763
- $623.82 Domestic fees
Class meeting times
Duration
12 weeks
Instructor
Jason Wilder
Course outline
Course outline TBD — see Learning Outcomes in the interim.
Important information
- 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 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. 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 13-16+ 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.
Confirmation
Required
To proceed with registration and add this course to the cart, please confirm:
No approval yet? Request approval You must have approval from the department to register. Students accepted into a program can register directly.
Status
If you have any questions about this course, please contact us.
CRN 52764
Dates
Sep 12 - Dec 12 Loading
- CRN 52764
- $623.82 Domestic fees
Class meeting times
Duration
12 weeks
Instructor
Jason Wilder
Course outline
Course outline TBD — see Learning Outcomes in the interim.
Important information
- Please email cstflex@bcit.ca for Departmental approval. Include your Student number (A0#) and COMP__ and preferred CRN __ and Program Declaration____. This course is delivered online with exams on-campus. 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. Mid Term: October 24, 1300-1600, at Burnaby campus SE12 321. Final Exam: December 12, 1300-1600, at Burnaby campus SE12 321. 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 13-16+ 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. No class October 10 (Thanksgiving) and October 31.
Confirmation
Required
To proceed with registration and add this course to the cart, please confirm:
No approval yet? Request approval You must have approval from the department to register. Students accepted into a program can register directly.
Status
If you have any questions about this course, please contact us.
Programs and courses are subject to change without notice. Find out more about BCIT course cancellations.