← All Journeys

IGCSE Computer Science 0478 — 8.1c Procedures and Functions

Breaking a program into named, reusable blocks.

Modules (47)

1 What a subroutine is 2 Procedure 3 Function 4 Parameter 5 Parameters and the values passed in a call 6 Difference between a procedure and a function 7 Pascal case names for subroutines 8 Defining a procedure with no parameters 9 Calling a procedure with CALL 10 Control passing to a subroutine and back 11 Defining a procedure with one parameter 12 Calling a procedure with a value 13 Procedures with two or three parameters 14 Matching argument values to parameter types and order 15 Where procedures and functions are defined 16 Defining a function with no parameters 17 The RETURN statement 18 Defining a function with parameters 19 Choosing the return data type of a function 20 Calling a function inside an expression 21 Using a function call in OUTPUT 22 Storing a function result in a variable 23 Using a BOOLEAN function in a condition 24 Common mistakes when calling procedures and functions 25 Choosing a procedure or a function for a task 26 Local variables 27 Global variables 28 Local compared with global variables 29 Why local variables are preferred 30 Writing a short program with a procedure and a function 31 Tracing a program that calls a procedure 32 Tracing a program that calls a function 33 Finding and fixing errors in subroutine code 34 Library routines 35 DIV: whole-number quotient 36 MOD: remainder (8.1c) 37 Using DIV and MOD together (8.1c) 38 ROUND: rounding to decimal places 39 RANDOM: a random number between 0 and 1 40 Random whole numbers with ROUND and RANDOM 41 Library routines inside your own subroutines 42 Comments above a subroutine 43 Reuse: write once, call many times 44 Changing code in one place 45 Subroutines make programs easier to test and read 46 Explaining how subroutines make a program easier to maintain 47 Writing exam answers about procedures and functions

Smaller journeys, one per content description

The same modules, split up so a class can take just the content description it's working on.

Printables for this journey

Every module above has its own free printable worksheet with an answer key. These crosswords and word searches cover the same terms:

✎
Crossword: 8.1b Sequence, Selection and Iteration and 8.1c Procedures and Functions (Modules 389–398) 10 clues · Nested selection: an IF inside an IF, Nested selection with CASE and IF, Selection inside a loop (8.1b), Iteration inside selection and more
✎
Crossword: 8.1c Procedures and Functions (Modules 399–408) 10 clues · Parameter, Parameters and the values passed in a call, Difference between a procedure and a function, Pascal case names for subroutines and more
✎
Crossword: 8.1c Procedures and Functions (Modules 409–418) 10 clues · Matching argument values to parameter types and order, Where procedures and functions are defined, Defining a function with no parameters, The RETURN statement and more
✎
Crossword: 8.1c Procedures and Functions (Modules 419–428) 10 clues · Common mistakes when calling procedures and functions, Choosing a procedure or a function for a task, Local variables, Global variables and more
✎
Crossword: 8.1c Procedures and Functions (Modules 429–438) 10 clues · Library routines, DIV: whole-number quotient, MOD: remainder (8.1c), Using DIV and MOD together (8.1c) and more
✎
Crossword: 8.1c Procedures and Functions and 8.2 Arrays (Modules 439–448) 10 clues · Changing code in one place, Subroutines make programs easier to test and read, Explaining how subroutines make a program easier to maintain, Writing exam answers about procedures and functions and more
🔎
Word Search: 8.1b Sequence, Selection and Iteration and 8.1c Procedures and Functions (Modules 379–398) 21 words to find · Using the FOR counter inside the loop, WHILE…DO…ENDWHILE pre-condition loop, A WHILE loop ended by a rogue value, REPEAT…UNTIL post-condition loop and more
🔎
Word Search: 8.1c Procedures and Functions (Modules 399–418) 20 words to find · Parameter, Parameters and the values passed in a call, Difference between a procedure and a function, Pascal case names for subroutines and more
🔎
Word Search: 8.1c Procedures and Functions (Modules 419–438) 21 words to find · Common mistakes when calling procedures and functions, Choosing a procedure or a function for a task, Local variables, Global variables and more
🔎
Word Search: 8.1c Procedures and Functions and 8.2 Arrays (Modules 439–458) 20 words to find · Changing code in one place, Subroutines make programs easier to test and read, Explaining how subroutines make a program easier to maintain, Writing exam answers about procedures and functions and more

Frequently Asked Questions

Are these worksheets free?

Yes — every worksheet and its answer key is free to view, download, and print, with no account required to access any individual module.

Do I need an account?

No account is needed to view or print a worksheet. A free teacher account adds extras like assigning modules to a class and tracking progress automatically — it takes under three minutes to set up and doesn't need a credit card.

What year level is this for?

This curriculum is aligned to the Australian Curriculum (ACARA) and Victorian Curriculum, spanning roughly Years 3 to 10 — from first sequencing and variables through to object-oriented programming and advanced data structures. Start wherever matches your class's current level; each module builds on the last.

Can I print them?

Yes — every module has a one-click Print Worksheet button that generates a printable page with the practice questions and a full answer key.

Is this aligned to a curriculum?

Yes — the module sequence is mapped to the Australian Curriculum (ACARA) and Victorian Curriculum, and a class's progress is reported back against those curriculum bands (e.g. ACARA Years 5–6 sequencing and iteration, Years 7–8 functions and data structures), not just a generic difficulty scale.

Can students use this without a teacher?

Yes — students can start any module and practice directly, no class or account required. Joining a teacher's class with a class code adds progress tracking, class badges, and live Sprints, but isn't needed to work through the worksheets or modules solo.

Do I need to know IGCSE Computer Science Paper 2 myself to teach this?

No — every module comes with a full worked answer key, and Cloodit tracks who's stuck automatically, so you don't need to solve each exercise yourself before assigning it or be able to debug a student's work line by line.

Add to class →
For Teachers

Add this journey to your class and track every student in real time.

Create a free teacher account →

No credit card. No setup fee. Make a class and invite students in under three minutes.

For Students

Start this journey on Cloodit — track progress, earn badges, and play live sprints with your class.

Start Learning Free →

Have a class code?