Software Engineering › Flashcards › Programming Fundamentals (Year 11)
Programming Fundamentals (Year 11)
69 flashcards (Year 11). Study these as flip cards Random
Software development steps
Software development steps (the order) Process
The fixed sequence of the development cycle: requirements definition, determining specifications, design, development, integration, testing and debugging, installation, maintenance.
Example: Order to memorise: Requirements, Specifications, Design, Development, Integration, Testing and debugging, Installation, Maintenance.
- Drag into order: Drag the steps into the correct order (this is exactly what the familiarisation paper asked)
- Multiple choice: Which step comes before design?
- Fill in the blanks: Choose the missing step from a dropdown
- Short answer: Outline what happens in a named step
Related past questions: Familiarisation Q1 (1 mark): Development steps; Sample exam Q1 (1 mark): Software development steps
Requirements definition Process
Finding out what the client needs: gathering and documenting the problem, users, functional and non-functional requirements and constraints (client scenario, environment, objectives).
Example: Outline pattern: 'Meet the client and document what the software must do, such as login and data storage.'
- Multiple choice: Which task belongs to requirements definition?
- Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Short answer: Outline the purpose of this step
Related past questions: Sample exam Q1 (1 mark): Software development steps; Familiarisation Q1 (1 mark): Development steps
Determining specifications Process
Turning requirements into a detailed description of what the software will do: inputs, processes, outputs, data, performance, technical needs and compliance. Tools include IPO charts, data dictionaries and Gantt charts.
Example: Requirements say WHAT the client wants; specifications say exactly HOW WELL and in WHAT FORM the software will deliver it.
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Short answer: Describe how specifications differ from requirements
Related past questions: Familiarisation Q1 (1 mark): Development steps
Design Process
Planning the solution before coding using modelling tools: algorithms (pseudocode, flowcharts), structure charts, DFDs, class diagrams, storyboards, decision trees and data dictionaries.
Example: Link each design tool to its purpose: DFD = data movement; structure chart = module hierarchy; class diagram = classes and relationships.
- Drawing: Draw a DFD, structure chart, flowchart, storyboard or class diagram
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Short answer: Outline how a named tool helps design
Related past questions: Sample exam Q24 (4 marks): Modelling tools (class diagram); 2022 Software Design and Development HSC Q27 (10 marks): Modelling and design (IPO, data structure, Gantt)
Development Process
Writing the code that implements the design in the chosen language, following the algorithms and good coding practice (comments, naming, modular subroutines).
Example: Development turns the design into working code.
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Python: Write the code from a design
- Pseudocode: Write the algorithm
Related past questions: Sample exam Q21b (5 marks): Python: subroutines, lists, loops; 2025 HSC Q19 (3 marks): Developing secure code (Python)
Integration Process
Combining separately built modules or subsystems into one working system and checking they communicate correctly through their interfaces.
Example: Integration comes AFTER development and BEFORE system testing.
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Drag into order: Drag into order: know where it sits in the sequence.
- Short answer: Explain why integration testing is needed
Related past questions: Familiarisation Q1 (1 mark): Development steps
Testing and debugging Process
Testing runs the software with chosen data to find errors; debugging finds the cause of each error and fixes it.
Example: Testing finds that something is wrong; debugging finds out why and fixes it.
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Drag into order: Drag into order: know where it sits in the sequence.
- Short answer: Outline a test method or a debugging tool
Related past questions: 2025 HSC Q15b (3 marks): Testing and debugging; Familiarisation Q5 (3 marks): Testing (test data)
Installation Process
Putting the finished system into use in the client's environment (direct, phased, parallel or pilot method) including setup and training.
Example: Installation comes after testing and before maintenance.
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Matching or table: Matching or table question: match it to its description, example or category.
- Short answer: Compare two installation methods
Related past questions: 2025 HSC Q1 (1 mark): Implementation methods; Sample exam Q5 (1 mark): Implementation methods
Maintenance Process
Changes made after release to keep software working and useful: corrective (fix errors), adaptive (new environment) and perfective (improve or add features).
Example: 'A patch to fix a crash is corrective maintenance.'
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Matching or table: Match each type of maintenance to an example
- Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
Related past questions: 2022 Software Design and Development HSC Q22 (6 marks): Maintenance
Online code collaboration tools Process
Web platforms where developers store, share, review and co-edit code with version control and issue tracking, for example GitHub, GitLab or Bitbucket.
Example: 'GitHub lets team members branch, merge and review each other's changes without overwriting work.'
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Short answer: Outline how one supports a team
- Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
Designing algorithms
Computational thinking Term
A problem-solving approach: decompose a problem, spot patterns, abstract away detail and design an algorithm.
Example: Use it to justify breaking a large task into subroutines.
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Short answer: Describe how it helps design a solution
Check this one: The syllabus asks you to apply computational thinking and algorithmic design but does not list its four parts; the breakdown given here is the standard definition.
Algorithm Term
A finite, ordered set of clear steps that solves a problem or completes a task, with defined inputs and outputs.
Example: An algorithm can be shown as pseudocode or a flowchart.
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Pseudocode: Pseudocode question: use it correctly in the exam pseudocode editor.
- Drawing: flowchart
- Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
Related past questions: Sample exam Q14 (3 marks): Algorithm design (subroutines); 2025 HSC Q17 (3 marks): Algorithm design
Sequence Term
A control structure where statements run one after another in the order written.
Example: Every program uses sequence; selection and iteration change the order.
- Pseudocode: Pseudocode question: use it correctly in the exam pseudocode editor.
- Python: Python question: write or complete it in the online Python tool.
- Drawing: flowchart
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
Related past questions: 2025 HSC Q17 (3 marks): Algorithm design
Selection Term
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.'
- Pseudocode: Pseudocode question: use it correctly in the exam pseudocode editor.
- Python: if / elif / else
- Drawing: flowchart decision diamond
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
Related past questions: 2025 HSC Q19 (3 marks): Developing secure code (Python); 2025 HSC Q26 (5 marks): Design, construct and implement a solution (Python)
Iteration (repetition) Term
A control structure that repeats statements while or until a condition: pre-test loop (WHILE ... ENDWHILE), post-test loop (REPEAT ... UNTIL) or counted loop (FOR ... NEXT).
Example: 'FOR each item in the array: total = total + item.'
- Pseudocode: Iterate through an array and sum it (2025)
- Python: for / while loops
- Drawing: flowchart loop
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
Related past questions: 2025 HSC Q17 (3 marks): Algorithm design; 2025 HSC Q26 (5 marks): Design, construct and implement a solution (Python)
Divide and conquer Term
Breaking a large problem into smaller sub-problems, solving each one and combining the results (for example binary search or splitting a program into subroutines).
Example: Use it to explain why a program is split into subroutines.
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Short answer: Describe the technique
Related past questions: 2021 Software Design and Development HSC Q28 (5 marks): Debugging an algorithm (binary search)
Backtracking Term
Trying one choice and, if it reaches a dead end, undoing it and trying the next, as in maze solving or Sudoku.
Example: 'A maze solver backtracks to the last junction when it hits a wall.'
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
Top-down design Term
Starting with the whole problem (the mainline) and refining it step by step into smaller subroutines.
Example: A structure chart shows top-down design.
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Drawing: structure chart
Related past questions: Familiarisation Q4 (2 marks): Structure charts
Bottom-up design Term
Building and testing small low-level modules first, then combining them into larger parts of the system.
Example: Contrast: top-down starts with the mainline; bottom-up starts with the lowest-level modules.
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Short answer: Compare top-down with bottom-up
Abstraction Term
Hiding unnecessary detail so you focus on what matters, such as calling a subroutine without knowing how it works.
Example: Also an OOP principle (see Object-oriented card).
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Drawing: class diagram
Refinement Term
Adding successively more detail: a subroutine is expanded into its own algorithm or structure chart, named the same as the subroutine.
Example: 'Show the refinement of the Validate subroutine in a separate chart.'
- Drawing: structure chart
- Pseudocode: Pseudocode question: use it correctly in the exam pseudocode editor.
Related past questions: Familiarisation Q4 (2 marks): Structure charts
Pseudocode Term
Structured, language-independent English-like code: keywords in capitals (IF, ELSE, WHILE, ENDWHILE, FOR, NEXT, SET, GET, DISPLAY), paired structures and consistent indentation.
Example: Always write a mainline plus subroutines, use indentation and close every structure (ENDIF, ENDWHILE).
- Pseudocode: Write an algorithm in the exam pseudocode editor
- Code reading: Read pseudocode and give the output
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
Related past questions: 2025 HSC Q17 (3 marks): Algorithm design; Sample exam Q14 (3 marks): Algorithm design (subroutines); Familiarisation Q8 (3 marks): Algorithm design (linear search)
Flowchart Term
A diagram of an algorithm drawn with standard symbols (terminator, process, input/output, decision) joined by arrows, read top to bottom and left to right. Decision arrows must be labelled (Yes/No).
Example: Check there is one Start, one End, labelled decision branches and arrowheads on every line.
- Drawing: Draw or complete a flowchart in the drawing tool
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
Subroutine (module, subprogram, procedure) Term
A named block of statements that performs one specific task and can be called many times; the terms subroutine, module, subprogram and procedure are used interchangeably in the course.
Example: 'One logical task per subroutine makes code reusable and easier to maintain.'
- Pseudocode: Pseudocode question: use it correctly in the exam pseudocode editor.
- Python: Python question: write or complete it in the online Python tool.
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
Related past questions: Sample exam Q14 (3 marks): Algorithm design (subroutines); Sample exam Q21b (5 marks): Python: subroutines, lists, loops
Function v procedure Term
A function returns a value to the caller (RETURN); a procedure carries out a task and does not return a value.
Example: 'def calc_total(a, b): return a + b' is a function.
- Python: def with return
- Pseudocode: Pseudocode question: use it correctly in the exam pseudocode editor.
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
Related past questions: Sample exam Q21b (5 marks): Python: subroutines, lists, loops; Familiarisation Q13 (6 marks): Python: lists, loops, selection
Parameter and argument Term
A parameter is a variable in the subroutine's definition that receives data; an argument is the actual value passed when the subroutine is called.
Example: 'def greet(name)' has parameter name; 'greet("Sam")' passes argument "Sam".
- Python: Python question: write or complete it in the online Python tool.
- Pseudocode: Pseudocode question: use it correctly in the exam pseudocode editor.
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
Related past questions: Sample exam Q18b (3 marks): Developing secure code (Python input validation)
Mainline Term
The main algorithm that controls the program by calling subroutines in order. Good mainlines are clear and uncluttered.
Example: Put calls to your subroutines in the mainline, and call functions after they are defined (2025 Q19 marker note).
- Pseudocode: Write mainline then subroutines (exam process)
- Python: Python question: write or complete it in the online Python tool.
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
Related past questions: 2025 HSC Q19 (3 marks): Developing secure code (Python); Sample exam Q14 (3 marks): Algorithm design (subroutines)
Desk checking Term
Manually stepping through an algorithm with sample data and recording variable values (a trace table) to check it works before coding.
Example: A trace table has a column for each variable and a row for each step.
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Short answer: Outline desk checking
- Code reading: Trace pseudocode
Related past questions: 2022 Software Design and Development HSC Q28 (6 marks): Desk check and debugging an algorithm; 2023 Software Design and Development HSC Q28 (6 marks): Desk check and debugging (validation)
Peer checking Term
Another person reviews the algorithm or code to find errors you may have missed.
Example: Contrast: desk checking is by the author; peer checking is by someone else.
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Short answer: Compare desk checking with peer checking
Inputs, outputs and purpose of an algorithm Term
When analysing an algorithm, identify the data it takes in (inputs), the results it produces (outputs), what it is designed to do (purpose) and how it connects to other subroutines.
Example: 'Inputs: array of marks. Output: the average. Purpose: calculate the class mean.'
- Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
- Pseudocode: Pseudocode question: use it correctly in the exam pseudocode editor.
- Short answer: State what the algorithm does
Related past questions: 2025 HSC Q17 (3 marks): Algorithm design
Check this one: Not found word-for-word in the supplied syllabus, specifications, marking guidelines or notes; the definition is standard computing knowledge, so check it against your class notes.
IPO chart (Input, Process, Output) Term
A table listing the inputs, the processes applied and the outputs of a system or subroutine; used when determining specifications.
Example: 'IPO: Input username and password, Process compare with stored hash, Output access granted or denied.'
- Drawing: table
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
Related past questions: 2022 Software Design and Development HSC Q27 (10 marks): Modelling and design (IPO, data structure, Gantt); 2024 Software Design and Development HSC Q24 (10 marks): Social and ethical issues
Check this one: Not named in the 2022 syllabus text; taught in the school notes and used in past SDD papers.
Linear search Term
A search that checks each item in order until the target is found or the list ends. Works on unsorted data; slow for large lists.
Example: 'FOR i = 0 TO length-1: IF list[i] == target THEN found.'
- Pseudocode: Search an array for a value
- Python: Python question: write or complete it in the online Python tool.
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
Related past questions: Familiarisation Q8 (3 marks): Algorithm design (linear search); 2021 Software Design and Development HSC Q29 (3 marks): Tracing an algorithm (linear search)
Check this one: Not named in the syllabus; it appears in past questions and the school notes.
Binary search Term
A search on a SORTED list that checks the middle item and discards half the list each time (a divide and conquer method).
Example: 'Binary search needs sorted data; each step halves the search space.'
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
- Pseudocode: Pseudocode question: use it correctly in the exam pseudocode editor.
- Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
Related past questions: 2021 Software Design and Development HSC Q28 (5 marks): Debugging an algorithm (binary search)
Check this one: Not named in the syllabus; it appears in past SDD questions.
Recursion Term
A subroutine that calls itself on a smaller version of the problem until it reaches a base case that stops it.
Example: 'Factorial: n * factorial(n-1) with base case n = 0.'
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
- Python: Python question: write or complete it in the online Python tool.
Check this one: Not named in the 2022 syllabus text; included because of the functional paradigm and past SDD coding questions.
Imperative paradigm Term
A programming style that gives the computer an ordered list of commands that change program state (for example Python procedural code).
Example: Paradigm cards: object-oriented, imperative, logic, functional.
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Matching or table: Match each paradigm to its description
- Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
Logic paradigm Term
A programming style that states facts and rules and lets the system answer queries by logical inference (for example Prolog).
Example: 'Facts and rules, not step-by-step commands.'
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Matching or table: Matching or table question: match it to its description, example or category.
- Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
Functional paradigm Term
A programming style that builds programs from functions, avoids changing state, and treats functions as values that can be passed around.
Example: 'Computation is the evaluation of functions.'
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Matching or table: Matching or table question: match it to its description, example or category.
- Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
Data representation and structures
Binary (base 2) Term
A number system using only the digits 0 and 1. Computers store all data in binary; each digit is one bit and 8 bits make a byte.
Example: 1011 in binary = 8 + 2 + 1 = 11 in decimal.
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Fill in the blanks: Convert between binary and decimal
- Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
Memorise: Data structures
Decimal (base 10) Term
The everyday number system using digits 0 to 9.
Example: Use place values (1, 10, 100) when converting.
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
Memorise: Data structures
Hexadecimal (base 16) Term
A base-16 system using 0 to 9 and A to F (A = 10 ... F = 15). One hex digit stands for exactly 4 bits, so it is a compact way to write binary.
Example: 2F in hex = 0010 1111 in binary = 47 in decimal.
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Fill in the blanks: Convert hex to binary or decimal
- Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
Memorise: Data structures
Two's complement Term
A way of storing signed (positive and negative) integers in binary: write the positive number, invert every bit, then add 1 to get the negative. The left-most bit is the sign bit (1 = negative).
Example: 8-bit: +5 = 00000101; invert = 11111010; add 1 = 11111011 = -5.
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Fill in the blanks: Find the 8-bit form of a negative number
- Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
Memorise: Data structures
Character representation (ASCII, Unicode) Term
Characters are stored as numeric codes. ASCII uses 7 or 8 bits for basic English characters; Unicode uses more bits so it can represent characters from all languages and symbols.
Example: Say Unicode supports many languages; ASCII is limited.
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Short answer: Explain why Unicode is used
Memorise: Data structures
Data types Term
The kind of value a variable holds: character, string, Boolean, integer, real (single-precision floating point) and date/time. The type decides how much memory it uses and what operations are allowed.
Example: 'Age = integer; price = real; isMember = Boolean; name = string.'
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Fill in the blanks: Pick the data type for a field in a data dictionary or ERD
- Python: Python question: write or complete it in the online Python tool.
- SQL: SQL question: write or read it in the SQL query tool.
Related past questions: Sample exam Q9 (2 marks): Algorithm design (guessing game)
Memorise: Data structures
Integer Term
A whole number, positive or negative, with no fractional part.
Example: Use int for counts and array indexes.
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Python: Python question: write or complete it in the online Python tool.
Memorise: Data structures
Real (floating point) Term
A number with a fractional part. Single-precision floating point stores a real in 32 bits (4 bytes).
Example: 'price = 19.95' is a real.
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
Memorise: Data structures
Boolean Term
A data type with only two values, True or False, used in conditions.
Example: 'isLoggedIn = True' controls a selection.
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Python: Python question: write or complete it in the online Python tool.
Memorise: Data structures
Character and string Term
A character is a single symbol; a string is a sequence of characters (text) such as a name.
Example: 'name = "Sam"' is a string; 'S' is a character.
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Python: Python question: write or complete it in the online Python tool.
Related past questions: 2025 HSC Q19 (3 marks): Developing secure code (Python)
Memorise: Data structures
Date and time Term
A data type for calendar dates and clock times, stored as a single value (32 bits in the course data dictionary examples).
Example: Use date/time for an order date in a data dictionary.
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
Memorise: Data structures
Array Term
A data structure holding a fixed number of items of the same type, accessed by index; can be single or multi-dimensional (rows and columns).
Example: 'marks[0]' is the first item.
- Pseudocode: Iterate and sum an array
- Python: 2D list
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
Related past questions: 2025 HSC Q17 (3 marks): Algorithm design; Sample exam Q21a (1 mark): 2D arrays (Python); Sample exam Q21b (5 marks): Python: subroutines, lists, loops
Memorise: Data structures
Multi-dimensional array Term
An array of arrays, used for grids or tables and accessed by row and column index, such as grid[row][col].
Example: 'grid[2][3]' is row 2, column 3.
- Python: 2D list
- Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
Related past questions: Sample exam Q21a (1 mark): 2D arrays (Python); Sample exam Q21b (5 marks): Python: subroutines, lists, loops; 2025 HSC Q26 (5 marks): Design, construct and implement a solution (Python)
Memorise: Data structures
Record Term
A data structure that groups related fields of different types into one item, such as a student with name, age and mark.
Example: 'One record per row of a table.'
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Drawing: data dictionary
Memorise: Data structures
List Term
An ordered, changeable collection of items (Python list) that can grow and shrink and can hold mixed types.
Example: 'scores = [3, 5]; scores.append(8)'
- Python: append, index, loop
- Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
Related past questions: 2025 HSC Q26 (5 marks): Design, construct and implement a solution (Python); Sample exam Q21b (5 marks): Python: subroutines, lists, loops
Memorise: Data structures
Tree Term
A hierarchical data structure of nodes: one root, each node having child nodes and leaves at the bottom (for example folder structures or decision trees).
Example: 'A file system is a tree.'
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Drawing: decision tree
Memorise: Data structures
Stack Term
A last-in, first-out (LIFO) structure where items are added (push) and removed (pop) at the top.
Example: 'Undo uses a stack.'
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
Memorise: Data structures
Hash table Term
A structure that stores key and value pairs, using a hash function on the key to find the storage location, so lookups are very fast (a Python dictionary).
Example: 'Fast lookup: ages["Sam"].'
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Python: Python question: write or complete it in the online Python tool.
- Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
Memorise: Data structures
Sequential file Term
A file of data stored and read one item or line after another, such as a text or CSV file.
Example: 'Open, read line by line, close.'
- Python: read and write files
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
Memorise: Data structures
Developing and testing code
Quality criteria for evaluating code Term
The syllabus tests solutions against four qualities: functionality, performance, readability of code and quality of documentation.
Example: Mention all four when asked how you would evaluate or test code.
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Short answer: Evaluate a solution
- Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
Related past questions: 2023 Software Design and Development HSC Q26 (9 marks): Code reading, maintainability and testing; 2023 Software Design and Development HSC Q27 (10 marks): User interface, structure chart, quality assurance
Memorise: Testing and code quality (Year 11)
Syntax error Term
A mistake that breaks the language rules (missing colon, bracket or misspelt keyword), so the program will not run.
Example: 'print("hi" with no closing bracket.'
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Python: Spot and fix the error
- Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
Related past questions: 2025 HSC Q15b (3 marks): Testing and debugging
Memorise: Testing and code quality (Year 11)
Logic error Term
The program runs but gives the wrong result because the algorithm is wrong, for example using > instead of >=. 2025 markers said students confused these with syntax errors.
Example: 'Average = total / 2 instead of total / count.'
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Short answer: Outline how a debugging tool finds logic errors
- Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
Related past questions: 2025 HSC Q15b (3 marks): Testing and debugging
Memorise: Testing and code quality (Year 11)
Runtime error Term
An error that appears while the program is running and stops it, such as dividing by zero or an index outside the array.
Example: 'Dividing by zero crashes at runtime.'
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
Memorise: Testing and code quality (Year 11)
Debugging tools Process
Software features that help find and fix errors: breakpoints, single line stepping, watch windows, checking interfaces between functions and debugging output statements.
Example: 2025 Q15b: name two tools and say how each shows where a logic error occurs.
- Short answer: Outline TWO software debugging tools (2025 Q15b, 3 marks)
- Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
Related past questions: 2025 HSC Q15b (3 marks): Testing and debugging; 2024 Software Design and Development HSC Q28 (3 marks): Debugging output statements v breakpoints
Memorise: Testing and code quality (Year 11)
Breakpoint Term
A marker on a line of code where execution pauses so you can inspect variable values.
Example: 'A breakpoint halts the program so the programmer can check variables.'
- Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
Related past questions: 2025 HSC Q15b (3 marks): Testing and debugging
Memorise: Testing and code quality (Year 11)
Single line stepping Term
Running a program one line at a time in the debugger to watch how it flows and how values change.
Example: Use with breakpoints to locate a logic error.
- Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
Related past questions: 2025 HSC Q15b (3 marks): Testing and debugging
Memorise: Testing and code quality (Year 11)
Watch window (variable watch) Term
A debugger feature that shows the live value of chosen variables as the program runs.
Example: 'Watch total change each loop to see where the sum goes wrong.'
- Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
Memorise: Testing and code quality (Year 11)
Debugging output statements Term
Print statements added to show that a section was reached or the value of a variable.
Example: 'print("total =", total)'
- Short answer: Name one software debugging tool
- Python: Python question: write or complete it in the online Python tool.
- Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
Related past questions: 2025 HSC Q15b (3 marks): Testing and debugging
Memorise: Testing and code quality (Year 11)
Boundary values Term
Test data at and either side of a limit of the valid range. For a valid range of 1 to 10: 0, 1, 10, 11.
Example: Valid range 18 to 65 means test 17, 18, 65, 66.
- Short answer: Select test data
- Matching or table: Complete a test data table (familiarisation Q5)
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
Related past questions: Familiarisation Q5 (3 marks): Testing (test data); Sample exam Q11 (3 marks): Testing (test data)
Memorise: Testing and code quality (Year 11)
Path coverage Term
Choosing test data so every path through the code (each branch and loop) runs at least once.
Example: 'Include one value that makes the IF true and one that makes it false.'
- Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Matching or table: Matching or table question: match it to its description, example or category.
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
Related past questions: Familiarisation Q5 (3 marks): Testing (test data)
Memorise: Testing and code quality (Year 11)
Faulty and abnormal data Term
Data that is the wrong type, empty, too large or small or has odd characters, used to check the program rejects it or handles it without crashing.
Example: 'Enter "abc" where a number is expected.'
- Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Matching or table: Matching or table question: match it to its description, example or category.
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
Related past questions: Familiarisation Q5 (3 marks): Testing (test data)
Memorise: Testing and code quality (Year 11)
Code optimisation Term
Improving the speed or memory use of working code (better algorithm, fewer repeated calculations, built-in functions).
Example: See language-dependent and language-independent optimisation.
- Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
Related past questions: 2025 HSC Q4 (1 mark): Optimisation
Memorise: Testing and code quality (Year 11)