Software Engineering › Key terms › Y11 Programming Fundamentals › Linear search
Linear search
Term Check Y11 Programming Fundamentals
Definition
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.
Check this one: Not named in the syllabus; it appears in past questions and the school notes.
Found in: past SDD papers.
Where it is used in the test
Syllabus area: Y11 Programming Fundamentals.
Question types it can appear in
- Pseudocode: Search an array for a value
- Python: Write or complete it in the online Python tool.
- 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.
Where it has appeared in the paper
The Software Engineering Project (Part C, D). Part letters follow each paper’s own layout.
Related past questions
- Familiarisation Q8 (3 marks): Algorithm design (linear search) The Software Engineering Project (Part C) · 3 marks
- 2021 Software Design and Development HSC Q29 (3 marks): Tracing an algorithm (linear search) The Software Engineering Project (Part D) · 3 marks · old syllabus
These are the questions the flashcard set links to this term. Open each one and compare your answer with its marking criteria.
Study links
- Flashcard: Linear search in Programming Fundamentals (Year 11) · study that set
- Memorise: Software development steps and algorithm design
- Notes: Part 3. Where this has been examined (see ../../question_bank.md) (The Software Engineering Project (Year 12))
- Master answer: sdd2021-q29 (3 marks, short answer / extended) (Master model answers: The Software Engineering Project (written answers))
- Notes: Part 3. Where this has been examined (see ../../question_bank.md) (Year 11 content (Programming fundamentals, OOP, Mechatronics))
- Notes: Common coding patterns (Python and SQL you must be able to write)
How to use it in an answer
A model sentence
“A search that checks each item in order until the target is found or the list ends.” Then apply it: FOR i = 0 TO length-1: IF list[i] == target THEN found.
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.
Command words used with it
- Identify: Recognise and name. (2021 Software Design and Development HSC Q29 (3 marks): Tracing an algorithm (linear search))
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.
- 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
The original (buggy) algorithm is not available. Note the 'Index - 1' because Index is incremented after the item is found.
Old-syllabus question. Use for practice on the overlapping skill only. The new Software Engineering exam does not use the old SDD terms (e.g. CASE tools, system flowcharts, EBNF, assembly).
Worked answers from the marking guidelines
Familiarisation Q8 (3 marks): Algorithm design (linear search) (3 marks): criteria and sample answer
Criteria
3: Correctly modifies the algorithm to achieve its intended purpose. 2: Corrects some mistakes. 1: Some understanding of the problem.
Sample answer
BEGIN Search (SearchItem) Set LastIndex to the number of elements in ItemArray Found = FALSE Index = 1 WHILE Found = FALSE AND Index < LastIndex + 1 IF ItemArray(Index) = SearchItem THEN Found = TRUE ENDIF Index = Index + 1 ENDWHILE IF Found = TRUE THEN Display 'Position', Index - 1 ELSE Display 'Not found' ENDIF END Search
Common mistakes
- Check the sources: Not named in the syllabus; it appears in past questions and the school notes.
- 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.
- 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 · Selection · Iteration (repetition) · Divide and conquer · Backtracking · Top-down design · Bottom-up design · Abstraction · Refinement · Pseudocode · Flowchart · Subroutine (module, subprogram, procedure)