Coding โ also called programming โ is the process of writing instructions that a computer can follow. A program is a sequence of these instructions, written in a programming language, that tells the computer exactly what to do and in what order.
The word "coding" is often used loosely to mean anything from dragging blocks in Scratch to writing machine code in assembly language. At GCSE, it means writing programs in Python and understanding the concepts that sit underneath all programming languages.
High-level languages like Python, Java, and JavaScript are designed to be readable by humans. They use words and structures close to natural language.
Low-level languages like assembly language and machine code are closer to what the processor actually executes. They are much harder to write but give precise control over hardware.
Programs written in high-level languages must be translated into machine code before the processor can run them.
Interpreters translate and run the code line by line (Python uses an interpreter).
Compilers translate the entire program into machine code first, then run it (C and C++ are compiled).
All programming languages โ regardless of their syntax โ are built from the same small set of fundamental concepts. Understanding these means you can learn any language.
Every program uses exactly these โ in combination.
Understanding what happens when a program runs helps you debug it. The processor follows a simple cycle, billions of times per second:
Two of the most important ideas in computer science are decomposition and abstraction. These are part of what is called computational thinking.
Breaking a large problem into smaller, manageable sub-problems. Each sub-problem can then be solved separately and tested independently before being combined.
Example: building a quiz program can be decomposed into: load questions, display a question, accept an answer, check the answer, keep score, show the final result.
Removing or hiding unnecessary detail so you can focus on what matters. When you call print() in Python, you do not need to know how it works internally โ you just need to know what it does.
Abstraction is why you can write a Python program without knowing anything about transistors or machine code.
Identifying similarities between problems. If you have solved a problem before, recognising that a new problem follows the same pattern means you can reuse your solution.
Planning the step-by-step solution before writing any code. Writing pseudocode first โ then translating it to Python โ leads to fewer errors and faster debugging.
Systematically checking that a program works correctly. Normal data (expected input), boundary data (edge cases), and erroneous data (invalid input) should all be tested.
Many students find programming overwhelming because they try to understand everything at once. The most effective approach is to isolate one concept at a time.
Before running a program, try to predict what it will output. Checking your prediction against the actual result builds understanding much faster than just running code.
When debugging, change one thing, run the program, observe the result. Changing multiple things at once makes it impossible to know what fixed or broke something.
If you cannot explain in plain English what a block of code does, you do not fully understand it yet. Explaining to yourself (or a rubber duck) is a genuine technique.
Miss ICT sessions focus on building genuine understanding โ not just getting through exercises. Sessions are calm, structured, and adapted to how you think.
They mean the same thing. Coding refers to writing code; programming refers to the broader process of designing, writing, testing, and maintaining software. Both terms are used interchangeably.
No. OCR GCSE Computer Science uses Python. You will also encounter pseudocode โ a language-neutral way of describing algorithms โ but you do not write it in a specific language.
An algorithm is a set of instructions for solving a problem โ it describes what to do. A program is an implementation of an algorithm in a specific programming language โ it tells the computer exactly how to do it.
How algorithms, pseudocode, and trace tables work
Start writing Python with variables, loops, and functions
A plain-English introduction to programming for non-technical readers
Expert support from a GCSE examiner โ ยฃ60/hour