Programming 11/12: Course Outline


  • Programming 11:
    • Grade 10/11 student who has taken Computer Studies 10
    • Grade 11/12 student with solid math background.
  • Programming 12:
    • Grade 11/12 student who has taken Programming 11
    • Grade 12 student with strong math background.

Block: 1-1 and 1-2

Programming 11/12 is a full-year programming course in which students learn logic, algorithm, debugging, design and analysis through language. More important than the language though is the understanding of programming constructs such as data types, control statements, arrays and classes, and object-oriented programming concepts. This year will focus on Python and Visual C#.

It is recommended that students take Programming 11 and Programming 12 in consecutive years, since these courses run on two-year cycles. See Programming 11/12: App Development for next year’s curriculum.


Schedule: Click here to view the day-by-day schedule. The timeline may be subjected to change at the teacher’s discretion.

  • Programming 11/12:
    • Term 1-2: Python 3 (Algorithms and GUI)
    • Term 3: Visual C#† (GUI)
  • Programming 12:
    • Term 1-2: Python 3 (Algorithms)
    • Term 2-3: Java SE (Console and GUI OOP)

† Alternate assignments may be available for students who struggle with coding.

Note: Programming 12 students may elect to learn Visual C# (guided learning) or learn Java SE in small cohorts (independent learning). Java is a popular programming language used primarily in post-secondaries.

Student Materials: Students will bring the following to class:

  • USB Flash Drive
  • Headphone or earbud (2.5 mm jack)
  • Agenda

Assignments: Students are provided a sufficient amount of class time to complete their assignments. This allows the teacher to give instant and on-going feedback; the teacher expects nothing less than quality end-products.

Late assignments will be counted as missing (i.e. zero) until they are marked, usually at a much later time. Students may request an extension before the deadline, and it is only granted on an individual basis under special circumstances.

Classroom Rules: Students are responsible for taking full advantage of their learning opportunities. The teacher’s responsibility is to provide such opportunities, to fairly evaluate students, and to establish a safe learning environment by supporting these five classroom rules:

  1. Come to class on time.
  2. Be prepared to learn.
  3. Follow instructions the first time given.
  4. Respect others and their belongings.
  5. Keep the classroom clean.

Washroom privileges are allowed at the teacher’s discretion but not to be abused. NEVER bring food, drinks, or cell phones into the classroom, as they will be confiscated on sight and returned at the end of the day or next day.

Evaluation: Students will be evaluated on assignments, projects and tests. Term marks will be independently reported. The final mark will be calculated as follows:

  • Programming 11/12:
    • Term 1 – Python: 5 Assignments (25%) + 1 Test (10%)
    • Term 2 – Python: 3 Assignments (15%) + 1 Test (10%) + 1 Project†(10%)
    • Term 3 – Visual C#†: 3 Projects (30%)
  • Programming 12 Java Cohort:
    • Term 1 – Python: 5 Assignments (25%) + 1 Test (10%)
    • Term 2 –
      • Python: 3 Assignments (15%) + 1 Test (10%)
      • Java Console: 2 Quizzes (10%)
    • Term 3 – Java GUI: 2-3 Projects (30%)

† May include Scratch/AppInventor, GameMaker or Unity with teacher approval.

Letter grades are based on the student’s ability to meet the learning outcomes of the course, whereas work habits are reported as excellent (E), good (G), satisfactory (S) or needing improvement (N).

Last Updated: September 1, 2019
Modified: February 1, 2019