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
Pick a nominated feature you have built.
Walk the lookup table below: for each code, open its page and compare your code against the Earns the tick line.
Label the exact line (
# C626a — selection: …), and write the why comment wherever the code asks for reasoning.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,C611cfor 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-gameandclub-ladder— plus non-examples showing what does not earn a tick (engine methods, engine inheritance). Also worth reading:dodge-the-creeps.
