TK Study

Software Engineering › Key terms › Y11 Programming Fundamentals › Mainline

Mainline

Term Y11 Programming Fundamentals

Definition

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

Found in: syllabus, course specifications, school notes.

Where it is used in the test

Syllabus area: Y11 Programming Fundamentals.

Question types it can appear in

Where it has appeared in the paper

Secure Software Architecture (Part A); The Software Engineering Project (Part B). Part letters follow each paper’s own layout.

Related past questions

These are the questions the flashcard set links to this term. Open each one and compare your answer with its marking criteria.

Study links

How to use it in an answer

A model sentence

General advice, built from the definition and example above

“The main algorithm that controls the program by calling subroutines in order.” Then apply it: Put calls to your subroutines in the mainline, and call functions after they are defined (2025 Q19 marker note).

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

What the marking guidelines and feedback say

2025 HSC Q19 (3 marks): Developing secure code (Python)

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.

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

Open the question page

Sample exam Q14 (3 marks): Algorithm design (subroutines) (3 marks): criteria and sample answer

Criteria

3: Substantially correct pseudocode that includes at least ONE subroutine. 2: Addresses some of the requirements. 1: Some understanding of the problem.

Sample answer

BEGIN main Get num_pizzas total_cost = 0 FOR i = 1 TO num_pizzas Get pizza_size Get num_toppings cost_per_pizza = calculate_pizza_cost(pizza_size, num_toppings) DISPLAY cost_per_pizza total_cost = total_cost + cost_per_pizza NEXT i DISPLAY total_cost END main

BEGIN calculate_pizza_cost(size, num_toppings) base_price = 10 topping_price = 1.5 IF size = "Medium" THEN base_price = base_price + 2 ELSEIF size = "Large" THEN base_price = base_price + 4 ENDIF pizza_cost = base_price + num_toppings * topping_price RETURN pizza_cost END calculate_pizza_cost

Open the question page

Common mistakes

Marker feedback on other questions of the same type (code and diagram feedback often applies across questions)
  • 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.
General advice
  • 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.

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)

← Logic paradigmIn Y11 Programming FundamentalsMaintenance →