Course details
Students who already understand how to write simple programs in Python will focus on best practices in computer programming and explore problem-solving skills. This second-level computer programming course follows on from COMP 1516 - Programming Fundamentals Part 1 (Python). COMP 2501 introduces application programming interfaces (APIs) and how to transition from Python to Java. This is not a Java development course, it is the second step in a series of three (3) applied programming fundamentals courses where Java is introduced. Students must provide their own current model Windows capable 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. Topics include: an overview of object-oriented programming constructs including basic introductions to: encapsulation, inheritance, polymorphism, and exceptions. Labs and exercises demonstrate problem solving; writing automated tests, and practicing design before implementation. Please Note: Attendance, participation in class and the BCIT Learning Hub are mandatory. Students may have an average total time commitment of 13+ hours per week; 3 hours of synchronous class time, and 10+ hours of homework each week. COMP 2501 is required for the Applied Software Development, ASD and the Computer Systems Certificate, CSC. Upon completion, successful students will be able to write robust computer programs. They will be prepared to move on to COMP 2511- Procedural Programming with C and/or COMP 2601- Programming Fundamentals Part 3 (Objects).
Prerequisite(s)
- 60% in COMP 1516
Credits
3.0
Cost
$544.99 - $559.64 See individual course offerings below for actual costs.
Course offerings
Spring/Summer 2022
Below are two offerings of COMP 2501 for the Spring/Summer 2022 term.
CRN 67135
Duration
Thu Apr 21 - Thu Jul 07 (12 weeks)
- 12 weeks
- CRN 67135
- $559.64
Class meeting times
Dates | Days | Times | Locations |
---|---|---|---|
Apr 21 - Jul 07 | Thu | 18:00 - 21:00 | Online |
Instructor
Paul Mills
Course outline
Cost
$559.64
Important information
- Internet delivery format.
- Departmental approval needed
- Important course information will be sent to you prior to your course start date. Check your myBCIT email account to access this information.
-
Please email cstpts@bcit.ca for Departmental approval. Include your Student number (A0#) and COMP__ and preferred CRN __ and Program Declaration____. Course is 36 hours synchronous online classes. Students can not attempt COMP 1516, COMP 2501, and COMP 2601 simultaneously. Late registration is not permitted. The start and end dates have been changed from April 14 – June 30 to April 21 – July 7.
Status
In Progress
This course offering is in progress. Please check this page for other currently available offerings, subscribe to receive email updates or contact us with your comments or questions.
CRN 67136
Duration
Wed Jun 15 - Fri Jul 29 (6 weeks)
- 6 weeks
- CRN 67136
- $559.64
Class meeting times
Dates | Days | Times | Locations |
---|---|---|---|
Jun 15 - Jul 29 | Wed, Fri | 14:30 - 17:30 | Online |
Instructor
Jason Wilder
Course outline
Cost
$559.64
Important information
- Internet delivery format.
- Departmental approval needed
- Important course information will be sent to you prior to your course start date. Check your myBCIT email account to access this information.
-
This is an intensive delivery course. Students must attend all classes. Please email cstpts@bcit.ca for Departmental approval. Include your Student number (A0#) and COMP__ and preferred CRN __ and Program Declaration____. Course is 36 hours synchronous online classes. Students can not attempt COMP 1516, COMP 2501, and COMP 2601 simultaneously. Late registration is not permitted. Class is in session July 1 (Canada Day); No class July 13 and 15.
Status
In Progress and Full
This course offering is in progress and full. Please check this page for other currently available offerings, subscribe to receive email updates or contact us with your comments or questions.
Fall 2022
Below are two offerings of COMP 2501 for the Fall 2022 term.
CRN 48063
Duration
Tue Sep 13 - Tue Nov 29 (12 weeks)
- 12 weeks
- CRN 48063
- $544.99
Class meeting times
Dates | Days | Times | Locations |
---|---|---|---|
Sep 13 - Nov 29 | Tue | 18:00 - 21:00 | Online |
Instructor
Paul Mills
Course outline
Course outline TBD — see Learning Outcomes in the interim.
Cost
$544.99
Important information
- Internet delivery format.
- Departmental approval needed
- Important course information will be sent to you prior to your course start date. Check your myBCIT email account to access this information.
-
Please email cstpts@bcit.ca for Departmental approval. Include your Student number (A0#) and COMP__ and preferred CRN __ and Program Declaration____. Course is 36 hours synchronous online classes. Students cannot attempt COMP 1516, COMP 2501, and COMP 2601 simultaneously. Late registration is not permitted.
Status
Seats Available
4 seats remaining as of Sat July 2, 2022 at 7:41 am (PDT). Availability may change at any time.
CRN 48061
Duration
Sat Sep 10 - Sat Dec 10 (12 weeks)
- 12 weeks
- CRN 48061
- $544.99
Class meeting times
Dates | Days | Times | Locations |
---|---|---|---|
Sep 10 - Dec 10 | Sat | 13:00 - 16:00 | Online |
Instructor
Jason Wilder
Course outline
Course outline TBD — see Learning Outcomes in the interim.
Cost
$544.99
Important information
- Internet delivery format.
- Departmental approval needed
- Important course information will be sent to you prior to your course start date. Check your myBCIT email account to access this information.
-
Please email cstpts@bcit.ca for Departmental approval. Include your Student number (A0#) and COMP__ and preferred CRN __ and Program Declaration____. Course is 36 hours synchronous online classes. Students cannot attempt COMP 1516, COMP 2501, and COMP 2601 simultaneously. Late registration is not permitted. No class on October 8 (Thanksgiving) and November 12 (Remembrance Day).
Status
Full
This course offering is full. Please check this page for other currently available offerings, subscribe to receive email updates or contact us with your comments or questions.
Learning Outcomes
Upon successful completion of this course, the student will be able to:
- Describe fundamental OOP concepts such as classes, objects, constructors, inheritance, encapsulation, polymorphism and overloading.
- Apply design techniques using class diagrams to define classes and their relationships when solving a problem.
- Explain the difference between primitive types and reference types.
- Perform data validation with exceptions, methods, and constructors.
- Design first, implement, debug and write automated tests for object-oriented programs
- Write programs processing data using sources and sinks.
- Handle standard exceptions to write robust programs.
- Refactor a program by identifying opportunities to apply procedural abstraction
- Use collections and iterators.
- Explain the value of application programming interfaces (APIs) in software development.
- Apply fundamental best practices for OOP including packages.
- Contribute to a small-team code walkthrough.
- Move on to COMP 2511 Procedural Programming with C and COMP 2601 - Programming Fundamentals Part 3 (Objects).
Effective as of Winter 2022
Related Programs
Programming Fundamentals Part 2 (Java) (COMP 2501) is offered as a part of the following programs:
School of Computing and Academic Studies
- Applied Software Development (ASD)
Associate Certificate Part-time
- Computer Systems
Certificate Part-time
Contact Us
If you have a question or comment about this course, please complete and submit the form below.
Subscribe
Interested in being notified about future offerings of Programming Fundamentals Part 2 (Java) (COMP 2501)? 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.