C06 — Skills in Using the Features of the Programming Language
The Hamilton and Alexandra College · Year 12 · 2026
Study material and grading standard for VCE Software Development, Unit 4 Outcome 1, Criterion 6 — Skills in using the features of the programming language — for students building their SAT in Godot / GDScript.
Each page covers one topic: the VCE definition, the GDScript syntax, a minimal worked example in the shared Myki fare app domain, and the evidence standard — what earns each skill-code tick and what does not. Your checkpoint and validation feedback — from your teacher or an AI reviewer — is graded against these pages, so what they say is the standard.
Foundations
- Essential Terms — the C06 glossary; click a term to expand its definition
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
34 skill codes (C611–C658) across two indicators.
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 |
| 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 |
| 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 pages with no codes of their own: Data Type Characteristics — the input/storage/output table the reasoning codes draw their "why" from.
Example code
Snippets use two sources, 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). So far:connect-go-dots(instructions, sequence, iteration, GUI and controls, autoload global),tile-matching-game(operators, selection, a realwhile, data types, typed arrays, records, CSV source, full functions and methods, classes and objects) andclub-ladder(match, class-as-record, direct.new(), XML read and write,res://vsuser://, model design reasoning) — plus non-examples for engine methods and engine inheritance. Also worth reading:dodge-the-creeps(GUI, signals).
