Software Engineering › Key terms › Y11 Programming Fundamentals › Selection
Selection
Term Y11 Programming Fundamentals
Definition
A control structure that chooses which path to run depending on a condition: binary selection (IF ... ELSE), multi-way selection (CASEWHERE) or nested IF.
Example: Use IF/ELSE selection to output Pass when mark >= 50.
Found in: syllabus, course specifications, 2025 HSC marking guidelines, school notes, past SDD papers.
Where it is used in the test
Syllabus area: Y11 Programming Fundamentals.
Question types it can appear in
- Pseudocode: Use it correctly in the exam pseudocode editor.
- Python: if / elif / else
- Drawing: flowchart decision diamond
- Multiple choice: Pick the option that matches the definition or example.
Where it has appeared in the paper
Secure Software Architecture (Part A); The Software Engineering Project (Part A). Part letters follow each paper’s own layout.
Related past questions
- 2025 HSC Q19 (3 marks): Developing secure code (Python) Secure Software Architecture (Part A) · 3 marks
- 2025 HSC Q26 (5 marks): Design, construct and implement a solution (Python) The Software Engineering Project (Part A) · 5 marks
These are the questions the flashcard set links to this term. Open each one and compare your answer with its marking criteria.
Other questions that mention it
- Sample exam Q10 The Software Engineering Project (Part B) · 2 marks
Study links
- Flashcard: Selection in Programming Fundamentals (Year 11) · study that set
- Memorise: Software development steps and algorithm design
- Notes: Python basics: input, selection, loops, strings (Python and SQL you must be able to write)
- Notes: Control structures in HSC pseudocode (Pseudocode, flowcharts and diagram rules)
- Master answer: skel-code | Technique: Python, SQL and pseudocode questions | answer | 5 (Master model answers: how to use)
- Master answer: hsc2025-q19 (3 marks, Python) (Master model answers: Secure Software Architecture)
How to use it in an answer
A model sentence
“A control structure that chooses which path to run depending on a condition: binary selection (IF ...” Then apply it: Use IF/ELSE selection to output Pass when mark >= 50.
In a short answer, give the definition in your own words first, then tie it to the situation in the question. Do not copy the example above unless it fits the scenario.
Technique for the question types
- Pseudocode: Write HSC-style pseudocode: capital keywords, paired END words, indentation; initialise variables; output the required result.
- Python: Write code that runs: indentation, quotes, define functions before calling them, print the required output, meet every listed requirement.
- Drawing: Use the online drawing tool: label every symbol and arrow, use the correct symbols from the specification, and add every required item.
- Multiple choice: Read all four options, rule out wrong ones, pick one; no penalty for guessing so never leave blank.
What the marking guidelines and feedback say
Marker feedback: process string inputs; use a selection structure; code must execute in the environment; use correct indentation; call functions in the main program after defining them.
FLAG: the NESA sample tests pos (0 to 24) against numbers 1 to 25, so it is off by one (25 is never marked, 0 never appears). Safer: test pos + 1 in randList. Marker feedback: replicate the grid; use the random library; use selection and looping to access the list; include a method of checking the number of values; use meaningful variable names and constants; avoid overly complex structures such as nested IF loops.
Worked answers from the marking guidelines
2025 HSC Q19 (3 marks): Developing secure code (Python) (3 marks): criteria and sample answer
Criteria
3: Correct code for the problem. 2: Partially correct code that includes a correct selection structure OR password creation. 1: Some understanding of the scenario and Python.
Sample answer
uName = input('What is your username?') password = input('What is your password?') passwordP1 = uName[:3] passwordP1= passwordP1 + '123' if passwordP1 == password: print ('Welcome!') else: print ('Incorrect password entered')
Common mistakes
- Pseudocode questions (2025 HSC exam Q17): use pseudocode control structures accurately; iterate an array and sum it; apply relational operators correctly; use the stimulus to choose the right structures.
- Python questions (2025 HSC exam Q19): process string inputs; use a selection structure; code must execute in the environment; use correct indentation; call functions in the main program after defining them.
- Python questions (2025 HSC exam Q26): replicate the grid; use the random library; use selection and looping to access the list; include a method of checking the number of values; use meaningful variable names and constants; avoid overly complex structures such as nested IF loops.
- Drawing questions (2025 HSC exam Q22): refine attributes into separate inherited classes; use appropriate class diagram symbols.
- Use the term exactly as the syllabus words it, then link it to the scenario in the question; the 2025 feedback repeatedly rewards using the stimulus.
- Answer the command word: outline gives main points only, explain gives a reason or cause, discuss gives both sides.
Related terms
Same group in the syllabus: Computational thinking · Algorithm · Sequence · Iteration (repetition) · Divide and conquer · Backtracking · Top-down design · Bottom-up design · Abstraction · Refinement · Pseudocode · Flowchart · Subroutine (module, subprogram, procedure) · Function v procedure