C06 — Skills in Using the Features of the Programming Language

The Hamilton and Alexandra College · Year 12 · 2026

Criterion 6 is graded from 34 skill codes (C611–C658) across two indicators: using a range of programming-language features, and using appropriate data types, data structures and data sources. Each page below covers one topic: the VCE definition, the GDScript syntax, labelled examples — from the shared Myki fare app domain and from the projects we studied in class — and the evidence standard: what earns each tick and what does not. Your checkpoint and validation feedback is graded against these pages, so what they say is the standard.


Using these pages for your checkpoint

  1. Pick a nominated feature you have built.

  2. Walk the lookup table below: for each code, open its page and compare your code against the Earns the tick line.

  3. Label the exact line (# C626a — selection: …), and write the why comment wherever the code asks for reasoning.

  4. Anything you cannot label yet is your to-do list — each page shows the smallest pattern that earns the tick, and the codes climb from very low (C611) to very high (C65x).

How the codes work

  • Checkpoint sheet: three boxes per code — label your code C611a, C611b, C611c for your first, second and third nominated feature (102 marks).

  • Validation sheet: one box per code, ticked only for skills demonstrated live during the Live Coding Validation (34 marks) — in the Prove-It's-Yours re-label, the data-layer extension, or a mini-challenge. Practise finding and re-labelling your own code without notes.

  • Label as you code. A skill the marker cannot find earns nothing — put the code in a comment on the line (or block) that shows it. Every example on these pages carries its own label to model exactly this.

Levels of performance: Not shown (0) · 1–2 very low · 3–4 low · 5–6 medium · 7–8 high · 9–10 very high.

Reasoning-verb ladder (internal documentation codes)

The four "why" codes are the same skill at rising depth. The verb is the standard:

Code Level Verb Looks like
C629 3–4 outlines why data types # C629 — float: money needs decimal places
C638 5–6 identifies why types and structures a one-line reason on each structure
C645 7–8 describes why data sources a sentence or two per source
C658 9–10 explains why all of them reasons that weigh alternatives ("CSV over XML because …")

Code → page lookup

Code Level Skill Page
C611 1–2 instructions Instructions and Operators
C612 1–2 arithmetic operators Instructions and Operators
C613 1–2 text data Data Types
C614 1–2 numeric data Data Types
C615 1–2 Boolean data Data Types
C621 3–4 local variables Local and Global Variables
C622 3–4 constants Local and Global Variables
C623 3–4 logical operators Instructions and Operators
C624 3–4 conditional operators Instructions and Operators
C625 3–4 sequence Control Structures
C626 3–4 selection Control Structures
C627 3–4 GUIs GUI and Controls
C628 3–4 data types for local variables Local and Global Variables
C629 3–4 reasoning — why these data types Data Types
C631 5–6 global variables Local and Global Variables
C632 5–6 iteration / repetition Control Structures
C633 5–6 relevant GUI controls GUI and Controls
C634 5–6 data types for global variables Local and Global Variables
C635 5–6 arrays Data Structures
C636 5–6 records Data Structures
C638 5–6 reasoning — why these types and structures Data Structures
C641 7–8 functions Functions and Methods
C642 7–8 methods Functions and Methods
C643 7–8 access modifiers OOP Concepts
C644 7–8 data types, structures and sources Data Sources
C645 7–8 reasoning — why these data sources Data Sources
C651 9–10 classes OOP Concepts
C652 9–10 objects OOP Concepts
C653 9–10 abstraction OOP Concepts
C654 9–10 encapsulation OOP Concepts
C655 9–10 generalisation OOP Concepts
C656 9–10 inheritance OOP Concepts
C657 9–10 range of types, structures and sources Data Sources
C658 9–10 reasoning — why all of them Data Sources

Reference-only page with no codes of its own: Data Type Characteristics — the input/storage/output table the reasoning codes draw their "why" from.

Example code

Snippets come from two places, and the pages keep both:

  • The Myki fare app domain (balance, fares, zones, concession, journeys) — minimal made-for-purpose examples.

  • Real code from the projects studied in class, attributed in the snippet's first comment line (e.g. # connect-go-dots — grid.gd): connect-go-dots, tile-matching-game and club-ladder — plus non-examples showing what does not earn a tick (engine methods, engine inheritance). Also worth reading: dodge-the-creeps.