TK Study

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.

Where you would use it in the test

Related past questions: Familiarisation Q1 (1 mark): Development steps; Sample exam Q1 (1 mark): Software development steps

Memorise: Software development steps and algorithm design

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.'

Where you would use it in the test

Related past questions: Sample exam Q1 (1 mark): Software development steps; Familiarisation Q1 (1 mark): Development steps

Memorise: Software development steps and algorithm design

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.

Where you would use it in the test
  • 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

Memorise: Software development steps and algorithm design

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.

Where you would use it in the test
  • 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)

Memorise: Software development steps and algorithm design

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.

Where you would use it in the test
  • 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)

Memorise: Software development steps and algorithm design

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.

Where you would use it in the test
  • 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

Memorise: Software development steps and algorithm design

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.

Where you would use it in the test
  • 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)

Memorise: Software development steps and algorithm design

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.

Where you would use it in the test
  • 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

Memorise: Software development steps and algorithm design

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.'

Where you would use it in the test
  • 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

Memorise: Software development steps and algorithm design

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.'

Where you would use it in the test
  • 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.

Memorise: Software development steps and algorithm design

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.

Where you would use it in the test
  • Multiple choice: Multiple choice: pick the option that matches the definition or example.
  • Short answer: Describe how it helps design a solution

Memorise: Software development steps and algorithm design

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.

Where you would use it in the test
  • 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

Memorise: Software development steps and 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.

Where you would use it in the test
  • 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

Memorise: Software development steps and 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.'

Where you would use it in the test
  • 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)

Memorise: Software development steps and algorithm design

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.'

Where you would use it in the test
  • 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)

Memorise: Software development steps and algorithm design

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.

Where you would use it in the test
  • 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)

Memorise: Software development steps and algorithm design

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.'

Where you would use it in the test
  • 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: Software development steps and algorithm design

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.

Where you would use it in the test
  • 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

Memorise: Software development steps and algorithm design

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.

Where you would use it in the test

Memorise: Software development steps and algorithm design

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).

Where you would use it in the test
  • 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

Memorise: Software development steps and algorithm design

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.'

Where you would use it in the test
  • Drawing: structure chart
  • Pseudocode: Pseudocode question: use it correctly in the exam pseudocode editor.

Related past questions: Familiarisation Q4 (2 marks): Structure charts

Memorise: Software development steps and algorithm design

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).

Where you would use it in the test
  • 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)

Memorise: Software development steps and algorithm design

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.

Where you would use it in the test
  • Drawing: Draw or complete a flowchart in the drawing tool
  • Multiple choice: Multiple choice: pick the option that matches the definition or example.

Memorise: Software development steps and algorithm design

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.'

Where you would use it in the test
  • 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

Memorise: Software development steps and algorithm design

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.

Where you would use it in the test
  • 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

Memorise: Software development steps and algorithm design

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".

Where you would use it in the test
  • 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)

Memorise: Software development steps and algorithm design

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).

Where you would use it in the test
  • 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)

Memorise: Software development steps and algorithm design

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.

Where you would use it in the test

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)

Memorise: Software development steps and algorithm design

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.

Where you would use it in the test
  • Multiple choice: Multiple choice: pick the option that matches the definition or example.
  • Short answer: Compare desk checking with peer checking

Memorise: Software development steps and algorithm design

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.'

Where you would use it in the test
  • 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

Memorise: Software development steps and 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.'

Where you would use it in the test
  • 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

Memorise: Software development steps and algorithm design

Check this one: Not named in the 2022 syllabus text; taught in the school notes and used in past SDD papers.

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.'

Where you would use it in the test
  • 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.

Memorise: Software development steps and algorithm design

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.

Where you would use it in the test

Memorise: Software development steps and algorithm design

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.'

Where you would use it in the test
  • 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.

Memorise: Software development steps and algorithm design

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.'

Where you would use it in the test
  • 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.

Memorise: Software development steps and algorithm design

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.

Where you would use it in the test
  • 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.

Where you would use it in the test
  • 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.

Where you would use it in the test
  • 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.

Where you would use it in the test
  • 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.

Where you would use it in the test
  • 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.'

Where you would use it in the test
  • 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.

Where you would use it in the test
  • 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.

Where you would use it in the test
  • 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.

Where you would use it in the test
  • 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.

Where you would use it in the test
  • 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.

Where you would use it in the test
  • 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.

Where you would use it in the test
  • 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.

Where you would use it in the test
  • 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.'

Where you would use it in the test
  • 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)'

Where you would use it in the test
  • 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.'

Where you would use it in the test
  • 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.'

Where you would use it in the test
  • 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"].'

Where you would use it in the test
  • 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.'

Where you would use it in the test
  • 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.

Where you would use it in the test
  • 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.'

Where you would use it in the test
  • 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.'

Where you would use it in the test
  • 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.'

Where you would use it in the test
  • 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.

Where you would use it in the test
  • 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.'

Where you would use it in the test
  • 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.

Where you would use it in the test
  • 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.'

Where you would use it in the test
  • 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)'

Where you would use it in the test
  • 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.

Where you would use it in the test

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.'

Where you would use it in the test
  • 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.'

Where you would use it in the test
  • 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.

Where you would use it in the test
  • 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)