modular programming with procedures
This page is mainly about 3.8_modular_programming_with_procedures
Module introduction
Have you ever looked at a complex app or game and wondered how a programmer can even begin to build it without getting lost in millions of lines of code? The secret isn't being a genius who can remember everything at once; it's about being a smart organiser. In this module, you will learn one of the most powerful skills in a programmer's toolkit: modularity. This journey will take you from the basics of writing simple, step-by-step instructions to being able to confidently build clean, powerful, and reusable blocks of code called procedures and functions. By the end of this module, you will have the power to break down huge problems into small, manageable pieces and build sophisticated programs that are easier to read, debug, and improve.
Why does this module matter?
Learning to write modular code is like going from building with individual LEGO bricks to creating your own custom-designed LEGO kits that you can use over and over again. It’s a fundamental skill that separates casual coders from professional software developers. It saves time, reduces errors, and allows teams of programmers to work together on massive projects. Mastering this will change the way you think about solving problems with code.
1
For you
This module will help you develop several key computing personas:

The Problem Solver: This persona is all about the methodical journey from problem to solution. Modular programming is the ultimate expression of this, as you'll learn to take a big challenge and use decomposition to break it down into smaller, self-contained, and solvable procedures. It's the key to tackling complexity without feeling overwhelmed.

The Implementer: This persona focuses on the practical craft of writing effective code. By learning to create and use procedures and functions, you are not just writing instructions; you are building a library of reusable tools. This makes your code more efficient, readable, and robust – the hallmarks of a skilled implementer.

The System Integrator: This persona focuses on how individual components interact to form a complex system. A modular program is a perfect example of a system. You'll learn how to make self-contained functions communicate with each other by passing data using parameters and return values, creating a fully functional and well-structured application.
2
For your future
The skills you learn in this module are the starting point for many exciting and in-demand careers. One of the most direct pathways is to become a Software Developer.
Career focus: A Software Developer is the architect and builder of the digital world, responsible for designing, creating, and maintaining the software applications we use every day, from mobile apps and websites to complex operating systems.
Key Skills: This module is a direct gateway to this career. You will be developing the core skills of a developer, including using computational thinking to decompose problems, designing algorithms, and implementing them in a structured, modular way using a high-level programming language.
Interesting facts: The demand for software developers is consistently high, and it's a career with strong salary progression. An entry-level developer can start on a salary between £30,000 and £40,000, and senior developers can earn over £100,000.
Our Learning Journey
Our journey will begin by exploring why long, repetitive pieces of code can be difficult to manage. You'll learn how to think like a programmer by using structure diagrams to break down problems on paper before you even touch a computer. Then, you'll dive into Python and learn how to create your first simple procedures to avoid repetition and make your code cleaner. We'll then supercharge these procedures by learning how to send information to them using parameters, making them flexible and powerful. You’ll discover the difference between a procedure that just does something and a function that does something and reports back with an answer. Finally, you will bring all these skills together to build a complete, menu-driven calculator, where every single part is its own neat, organised, and reusable module.
Last modified: July 21st, 2025