Skip to main content

Computer Programming 12

Programming 12 Course Overview

Big Ideas

The design cycle
is an ongoing reflective process.

Personal design choices
require self-exploration, collaboration, and evaluation and refinement of skills.

Tools and technologies can be adapted for
specific purposes.



This course is a follow up to the Programming 11 course. It will begin where programming 11 left off. It continues to use Java as the language of development and Intellij IDE. It is designed to help prepare students for pursuing an education in computer science. Once this course is completed, students should have good fundamental knowledge that will translate to all programming languages.

Where does this course fit?

  • Pre-requisite: Programming 11 is required.
  • Graduation Status: Grade 12 elective for graduation

Course Materials

  • All materials are provided in the course online.

Brief Outline



 Inheritance, polymorphism, interfaces, and emunerations 

Using data inherited from parent classes, allowing for similar function names for different behaviours, and interfaces which outline which methods can be used.

Hash Codes and Sets

Hash functions will be implemented to map values by using a function calculations. Set determination using text file manipulation.


Using algorithms to implement recursion, sorting and implementing 2D arrays

Data Persistence

Exception handling and using external libraries in database implementation


Using JavaFX and scenebuilder

Assessment Percentage Breakdown

Assessment Type

Percentage of the Course



Final Inquiry Project


You have up to a year to complete your course.

Back to top