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 - $583.74 See individual course offerings below for actual costs.
Course offerings
Spring/Summer 2023
Below are four offerings of COMP 2501 for the Spring/Summer 2023 term.
CRN 67134
Duration
Tue Apr 11 - Tue Jun 27 (12 weeks)
- 12 weeks
- CRN 67134
- $544.99
Class meeting times
Dates | Days | Times | Locations |
---|---|---|---|
Apr 11 - Jun 27 | 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 can not attempt COMP 1516, COMP 2501, and COMP 2601 simultaneously. Late registration is not permitted.
Status
CRN 67136
Duration
Wed Jun 14 - Wed Aug 02 (6 weeks)
- 6 weeks
- CRN 67136
- $583.74
Class meeting times
Dates | Days | Times | Locations |
---|---|---|---|
Jun 14 - Aug 02 | Wed, Fri | 14:30 - 17:30 | Burnaby SE12 Rm. 311 |
Instructor
Jason Wilder
Course outline
Course outline TBD — see Learning Outcomes in the interim.
Cost
$583.74
Important information
- Departmental approval needed
-
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 on campus. This is a BYOD (bring your own device) course, participants must provide their own current model PC with an i5 or higher equivalent processor, 8 GB of RAM minimum, 256 GB minimum storage and high-speed internet access. Students can not attempt COMP 1516, COMP 2501, and COMP 2601 simultaneously. Late registration is not permitted. No class June 30, July 12 and 14.
Status
CRN 67139
Duration
Wed Apr 12 - Wed Jun 28 (12 weeks)
- 12 weeks
- CRN 67139
- $544.99
Class meeting times
Dates | Days | Times | Locations |
---|---|---|---|
Apr 12 - Jun 28 | Wed | 18:00 - 21: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 can not attempt COMP 1516, COMP 2501, and COMP 2601 simultaneously. Late registration is not permitted.
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.
CRN 67135
Duration
Thu Apr 13 - Thu Jun 29 (12 weeks)
- 12 weeks
- CRN 67135
- $544.99
Class meeting times
Dates | Days | Times | Locations |
---|---|---|---|
Apr 13 - Jun 29 | Thu | 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 can not attempt COMP 1516, COMP 2501, and COMP 2601 simultaneously. Late registration is not permitted.
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.