Blame
|
1 | <!-- Generated from applied-computing-au vic/unit3-4/sat/C06-2026/C06-Reference-Godot by port-reference-godot-to-wiki.py — do not hand-edit; re-run the port. --> |
||||||
|
2 | # C06 — Skills in Using the Features of the Programming Language |
||||||
| 3 | ||||||||
| 4 | The Hamilton and Alexandra College · Year 12 · 2026 |
|||||||
| 5 | ||||||||
|
6 | 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**. |
||||||
|
7 | |||||||
|
8 | 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. |
||||||
|
9 | |||||||
| 10 | ## Using these pages for your checkpoint |
|||||||
| 11 | ||||||||
| 12 | 1. Pick a nominated feature you have built. |
|||||||
| 13 | ||||||||
| 14 | 2. Walk the lookup table below: for each code, open its page and compare your code against the **Earns the tick** line. |
|||||||
| 15 | ||||||||
| 16 | 3. Label the exact line (`# C626a — selection: …`), and write the *why* comment wherever the code asks for reasoning. |
|||||||
| 17 | ||||||||
| 18 | 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). |
|||||||
| 19 | ||||||||
| 20 | ## How the codes work |
|||||||
| 21 | ||||||||
|
22 | - **34 skill codes** (C611–C658) across two indicators. |
||||||
| 23 | ||||||||
|
24 | - **Checkpoint sheet:** three boxes per code — label your code `C611a`, `C611b`, `C611c` for your first, second and third nominated feature (102 marks). |
||||||
| 25 | ||||||||
| 26 | - **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. |
|||||||
| 27 | ||||||||
| 28 | - **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. |
|||||||
| 29 | ||||||||
| 30 | **Levels of performance:** Not shown (0) · 1–2 very low · 3–4 low · 5–6 medium · 7–8 high · 9–10 very high. |
|||||||
| 31 | ||||||||
| 32 | ## Reasoning-verb ladder (internal documentation codes) |
|||||||
| 33 | ||||||||
| 34 | The four "why" codes are the same skill at rising depth. The verb is the standard: |
|||||||
| 35 | ||||||||
| 36 | | Code | Level | Verb | Looks like | |
|||||||
| 37 | |---|---|---|---| |
|||||||
| 38 | | C629 | 3–4 | **outlines** why data types | `# C629 — float: money needs decimal places` | |
|||||||
| 39 | | C638 | 5–6 | **identifies** why types *and structures* | a one-line reason on each structure | |
|||||||
| 40 | | C645 | 7–8 | **describes** why data sources | a sentence or two per source | |
|||||||
| 41 | | C658 | 9–10 | **explains** why all of them | reasons that weigh alternatives ("CSV over XML because …") | |
|||||||
| 42 | ||||||||
| 43 | ## Code → page lookup |
|||||||
| 44 | ||||||||
| 45 | | Code | Level | Skill | Page | |
|||||||
| 46 | |---|---|---|---| |
|||||||
| 47 | | C611 | 1–2 | instructions | [Instructions and Operators](/sd/C06/Instructions%20and%20Operators) | |
|||||||
| 48 | | C612 | 1–2 | arithmetic operators | [Instructions and Operators](/sd/C06/Instructions%20and%20Operators) | |
|||||||
| 49 | | C613 | 1–2 | text data | [Data Types](/sd/C06/Data%20Types) | |
|||||||
| 50 | | C614 | 1–2 | numeric data | [Data Types](/sd/C06/Data%20Types) | |
|||||||
| 51 | | C615 | 1–2 | Boolean data | [Data Types](/sd/C06/Data%20Types) | |
|||||||
| 52 | | C621 | 3–4 | local variables | [Local and Global Variables](/sd/C06/Local%20and%20Global%20Variables) | |
|||||||
| 53 | | C622 | 3–4 | constants | [Local and Global Variables](/sd/C06/Local%20and%20Global%20Variables) | |
|||||||
| 54 | | C623 | 3–4 | logical operators | [Instructions and Operators](/sd/C06/Instructions%20and%20Operators) | |
|||||||
| 55 | | C624 | 3–4 | conditional operators | [Instructions and Operators](/sd/C06/Instructions%20and%20Operators) | |
|||||||
| 56 | | C625 | 3–4 | sequence | [Control Structures](/sd/C06/Control%20Structures) | |
|||||||
| 57 | | C626 | 3–4 | selection | [Control Structures](/sd/C06/Control%20Structures) | |
|||||||
|
58 | | C627 | 3–4 | GUIs | [GUI](/sd/C06/GUI%20and%20Controls) | |
||||||
|
59 | | C628 | 3–4 | data types for local variables | [Local and Global Variables](/sd/C06/Local%20and%20Global%20Variables) | |
||||||
| 60 | | C629 | 3–4 | reasoning — why these data types | [Data Types](/sd/C06/Data%20Types) | |
|||||||
| 61 | | C631 | 5–6 | global variables | [Local and Global Variables](/sd/C06/Local%20and%20Global%20Variables) | |
|||||||
| 62 | | C632 | 5–6 | iteration / repetition | [Control Structures](/sd/C06/Control%20Structures) | |
|||||||
|
63 | | C633 | 5–6 | relevant GUI controls | [GUI](/sd/C06/GUI%20and%20Controls) | |
||||||
|
64 | | C634 | 5–6 | data types for global variables | [Local and Global Variables](/sd/C06/Local%20and%20Global%20Variables) | |
||||||
| 65 | | C635 | 5–6 | arrays | [Data Structures](/sd/C06/Data%20Structures) | |
|||||||
| 66 | | C636 | 5–6 | records | [Data Structures](/sd/C06/Data%20Structures) | |
|||||||
| 67 | | C638 | 5–6 | reasoning — why these types and structures | [Data Structures](/sd/C06/Data%20Structures) | |
|||||||
| 68 | | C641 | 7–8 | functions | [Functions and Methods](/sd/C06/Functions%20and%20Methods) | |
|||||||
| 69 | | C642 | 7–8 | methods | [Functions and Methods](/sd/C06/Functions%20and%20Methods) | |
|||||||
| 70 | | C643 | 7–8 | access modifiers | [OOP Concepts](/sd/C06/OOP%20Concepts) | |
|||||||
| 71 | | C644 | 7–8 | data types, structures and sources | [Data Sources](/sd/C06/Data%20Sources) | |
|||||||
| 72 | | C645 | 7–8 | reasoning — why these data sources | [Data Sources](/sd/C06/Data%20Sources) | |
|||||||
| 73 | | C651 | 9–10 | classes | [OOP Concepts](/sd/C06/OOP%20Concepts) | |
|||||||
| 74 | | C652 | 9–10 | objects | [OOP Concepts](/sd/C06/OOP%20Concepts) | |
|||||||
| 75 | | C653 | 9–10 | abstraction | [OOP Concepts](/sd/C06/OOP%20Concepts) | |
|||||||
| 76 | | C654 | 9–10 | encapsulation | [OOP Concepts](/sd/C06/OOP%20Concepts) | |
|||||||
| 77 | | C655 | 9–10 | generalisation | [OOP Concepts](/sd/C06/OOP%20Concepts) | |
|||||||
| 78 | | C656 | 9–10 | inheritance | [OOP Concepts](/sd/C06/OOP%20Concepts) | |
|||||||
| 79 | | C657 | 9–10 | range of types, structures and sources | [Data Sources](/sd/C06/Data%20Sources) | |
|||||||
| 80 | | C658 | 9–10 | reasoning — why all of them | [Data Sources](/sd/C06/Data%20Sources) | |
|||||||
| 81 | ||||||||
|
82 | Reference-only pages with no codes of their own: [Data Type Characteristics](/sd/C06/Data%20Type%20Characteristics) — the input/storage/output table the reasoning codes draw their "why" from. |
||||||
|
83 | |||||||
| 84 | ## Example code |
|||||||
| 85 | ||||||||
|
86 | Snippets use two sources, and the pages keep both: |
||||||
|
87 | |||||||
| 88 | - The **Myki fare app** domain (balance, fares, zones, concession, journeys) — minimal made-for-purpose examples. |
|||||||
| 89 | ||||||||
|
90 | - **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 real `while`, data types, typed arrays, records, CSV source, full functions and methods, classes and objects) and `club-ladder` (`match`, class-as-record, direct `.new()`, XML read *and* write, `res://` vs `user://`, model design reasoning) — plus *non-examples* for engine methods and engine inheritance. Also worth reading: `dodge-the-creeps` (GUI, signals). |
||||||
