IGCSE Computer Science Programming Guide
IGCSE Computer Science Programming Guide
Computer Science
Programming Concepts
Contents
Variables & Constants
Data Types
Input & Output
Sequence
Selection
Iteration
Totalling & Counting
String Handling
Arithmetic, Logical & Boolean Operators
Procedures & Functions
Local & Global Variables
Library Routines
Maintaining Programs
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 1
Variables & Constants
Your notes
Variables & Constants
What is a variable?
A variable is an identifier that can change in the lifetime of a program
Identifiers should be:
In mixed case (Pascal case)
Only contain letters (A-Z, a-z)
Only contain digits (0-9)
Start with a capital letter and not a digit
A variable can be associated a datatype when it is declared
When a variable is declared, memory is allocated based on the data type indicated
Pseudocode
Python
What is a constant?
A constant is an identifier set once in the lifetime of a program
Constants are generally named in all uppercase characters
Constants aid the readability and maintainability
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 2
If a constant needs to be changed, it should only need to be altered in one place in the
whole program
Your notes
Pseudocode
CONSTANT PI ← 3.142
Python
PI = 3.142
VAT = 0.20
PASSWORD = "letmein"
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 3
Data Types
Your notes
Data Types
What is a data type?
A data type is a classification of data into groups according to the kind of data they
represent
Computers use different data types to represent different types of data in a program
The basic data types include:
It is important to choose the correct data type for a given situation to ensure accuracy
and efficiency in the program
Data types can be changed within a program, this is called casting
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 4
Your notes
Worked Example
Name and describe the most appropriate programming data type for each of the
examples of data given. Each data type must be different
[6]
Data: 83
Data: myemail@[Link]
Data: True
Answers
Data type name: Integer [1]
Data type description: The number is a whole number [1]
Data type name: String [1]
Data type description: It is a group of characters [1]
Data type name: Boolean [1]
Data type description: The value is True (or could be False) [1]
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 5
Input & Output
Your notes
Input & Output
What is an input?
An input is a value that is read from an input device and then processed by a computer
program
Typical input devices include:
Keyboards - Typing text
Mice - Selecting item, clicking buttons
Sensors - Reading data from sensors such as temperature, pressure or motion
Microphone - Capturing audio, speech recognition
Without inputs, programs are not useful as they can't interact with the outside
world and always produce the same result
In programming the keyboard is considered the standard for user input
If the command 'INPUT' is executed, a program will wait for the user to type a sequence
of characters
In other programming languages different command words can be used
Examples
Pseudocode (INPUT <identifier>) Python
What is an output?
An output is a value sent to an output device from a computer program
Typical output devices include:
Monitor - Displaying text, images or graphics
Speaker - Playing audio
Printer - Creating physical copies of documents or images
In programming the monitor is considered the standard for user output
If the command 'OUTPUT' is executed, a program will output to the screen
In other programming languages different command words can be used
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 6
Examples
Pseudocode (OUTPUT <identifier(s)>) Python Your notes
OUTPUT "Love the name ", Name print("Love the name "+name)
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 7
Sequence
Your notes
Sequence
What is sequence?
Sequence refers to lines of code which are run one line at a time
The lines of code are run in the order that they written from the first line of code to the
last line of code
Sequence is crucial to the flow of a program, any instructions out of sequence can lead
to unexpected behaviour or errors
Example 1
A simple program to ask a user to input two numbers, number two is subtracted from
number one and the result is outputted
Line Pseudocode
02 INPUT Num1
04 INPUT Num2
06 OUTPUT Result
A simple swap of line 01 and line 02 would lead to an unexpected behaviour, the user
would be prompted to input information without knowing what they should enter
Example 2
Python example
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 8
The area of the rectangle
# ------------------------------------------------------------------------
# Main program
# ------------------------------------------------------------------------
length = 5
width = 3
correct_area = calculate_area(length, width)
print(f"Correct area (length * width): {correct_area}")
In the example, the sequence of instructions is wrong and would cause a runtime error
In the calculate_area() function a value is returned before it is assigned
The correct sequence is:
area = length * width
return area
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 9
Selection
Your notes
What is Selection?
Selection is when the flow of a program is changed, depending on a set of conditions
The outcome of this condition will then determine which lines or block of code is run
next
Selection is used for validation, calculation and making sense of a user's choices
There are two ways to write selection statements:
if... then... else...
case...
If Statements
What is an If statement?
As If statements allow you to execute a set of instructions if a condition is true
They have the following syntax:
IF <condition>
THEN
<statement>
ENDIF
A detailed look at a Python IF statement:
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 10
Example
Concept Pseudocode Python Your notes
Nested Selection
What is nested selection?
Nested selection is a selection statement within a selection statement, e.g. an If inside
of another If
Nested means to be 'stored inside the other'
Example
Pseudocode
Python
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 11
result = "Merit"
else:
result = "Pass" Your notes
else:
result = "Fail"
Case Statements
What is a case statement?
A case statement can mean less code but it only useful when comparing multiple values
of the same variable
If statements are more flexible and are generally used more in languages such as Python
The format of a CASE statement is:
CASE OF <identifier>
<value 1> : <statement>
<value 2>: <statement>
....
OTHERWISE <statement>
ENDCASE
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 12
Make sure to test the selection statement with various input values to ensure that
it works as expected
Your notes
Worked Example
Write an algorithm using pseudocode that:
Inputs 3 numbers
Outputs the largest of the three numbers
[3]
Exemplar answer
Pseudocode
INPUT A
INPUT B
INPUT C
Python
if A > B and A > C:
print(A)
elif B > C:
print(B)
else:
print(C)
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 13
Iteration
Your notes
What is iteration?
Iteration is repeating a line or a block of code using a loop
Iteration can be:
Count controlled
Condition controlled
Nested
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 14
Your notes
Examples
Iteration Pseudocode Python
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 15
Post-condition loops (REPEAT)
A post-condition loop is executed at least once Your notes
The condition must be an expression that evaluates to a Boolean (True/False)
The condition is tested after the statements are executed and only stops once the
condition is evaluated to True
It can be written as:
REPEAT
<statement>
UNTIL <condition>
WHILE <condition> DO
<statements>
ENDWHILE
A detailed look at a Python WHILE statement:
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 16
Your notes
Nested Iteration
What is nested selection?
Nested iteration is a loop within a loop, e.g. a FOR inside of another FOR
Nested means to be 'stored inside the other'
Example
Pseudocode
Total ← 0
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 17
FOR Column ← 1 TO 10
RowTotal ← RowTotal + Amount[Row, Column] Your notes
NEXT Column
NEXT Row
Python
# Set the initial value of the counter for the outer loop
outer_counter = 1
# Inner loop to print the multiplication table for the current number
while inner_counter <= 10:
# Calculate the product of the outer and inner counters
product = outer_counter * inner_counter
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 18
Totalling & Counting
Your notes
Totalling & Counting
How do you use totalling in a program?
Totalling involves adding up values, often in a loop
A total variable is set to 0 at the beginning of the program and then updated within a
loop, such as:
Pseudocode Python
Total ← 0 total = 0
FOR I ← 1 to 10 for i in range(1, 11):
INPUT Num num = int(input("Enter a number: "))
TOTAL ← TOTAL + Num total = total + num
NEXT I print("Total:", total)
OUTPUT Total
Pseudocode Python
Count ← 0 count = 0
FOR I ← 1 to 10 for i in range(1, 11):
INPUT Num num = int(input("Enter a number: "))
IF Num > 5 if num > 5:
THEN count = count + 1
Count ← Count + 1 print("Count:", count)
ENDIF
NEXT I
OUTPUT Count
Worked Example
Write an algorithm using pseudocode that:
Inputs 20 numbers
Outputs how many of these numbers are greater than 50
[3]
Answer
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 19
Count ← 0
FOR x ← 1 TO 20 [1]
INPUT Number Your notes
IF Number > 50
THEN
Count ← Count + 1 [1]
NEXT x
OUTPUT Count [1]
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 20
String Handling
Your notes
String Handling
What is string manipulation?
String manipulation is the use of programming techniques to modify, analyse or extract
information from a string
Examples of string manipulation include:
Case conversion (modify)
Length (analyse)
Substrings (extract)
Case conversion
The ability to change a string from one case to another, for example, lower case to
upper case
Length
The ability to count the number of characters in a string, for example, checking a
password meets the minimum requirement of 8 characters
Substring
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 21
The ability to extract a sequence of characters from a larger string in order to be used
by another function in the program, for example, data validation or combining it with
other strings Your notes
Extracting substrings is performed using 'slicing', using specific start and end to slice
out the desired characters
Substring has a start position of 1 in pseudocode and 0 in Python
Worked Example
The function Length(x) finds the length of a string x. The function substring(x,y,z) finds
a substring of x starting at position y and z characters long. The first character in x is in
position 1.
Write pseudocode statements to:
Store the string “Save my exams” in x
Find the length of the string and output it
Extract the word exams from the string and output it
[6]
Answer
X ← "Save my exams"
OUTPUT LENGTH(X)
# [1] for calling the function length. [1] for using the correct parameter X
Y←9
Z←5
OUTPUT SUBSTRING(X,Y,Z)
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 22
Arithmetic, Logical & Boolean Operators
Your notes
What is an operator?
An operator is a symbol used to instruct a computer to perform a specific operation on
one or more values
Examples of common operators include:
Arithmetic
Logical
Boolean
Arithmetic Operators
Operator Pseudocode Python
Addition + +
Subtraction - -
Multiplication * *
Division / /
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 23
Python code
Your notes
# -----------------------------------------------------------------------
# Arithmetic operators #1
# -----------------------------------------------------------------------
# Get the user to input a number
user_input = int(input("Enter a number: "))
# -----------------------------------------------------------------------
# Arithmetic operators #2
# -----------------------------------------------------------------------
# Get the radius from the user
radius = float(input("Enter the radius of the circle: "))
# ------------------------------------------------------------------------
# Arithmetic operators #3
# ------------------------------------------------------------------------
# Set the score to 0
score = 0
# Loop 5 times
for x in range(5):
num1 = int(input("Enter the first number: "))
operator = input("Enter the operator (+, -, *): ")
num2 = int(input("Enter the second number: "))
user_answer = int(input("What is " + str(num1) + " " + str(operator) + " " + str(num2) + "? "))
if user_answer == correct_answer:
score = score + 1
else:
print("Sorry, that's incorrect.")
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 24
# Display the final score
print("Your score is:", score)
Your notes
Logical Operators
Operator Pseudocode Python
Equal to == ==
Boolean Operators
A Boolean operators is a logical operator that can be used to compare two or more
values and return a Boolean value (True or False) based on the comparison
There are 3 main Boolean values:
AND: Returns True if both conditions are True
OR: Returns True if one or both conditions are True
NOT: Returns the opposite of the condition (True if False, False if True)
To demonstrate the use of common Boolean operators, three sample programs written
in Python are given below
Comments have been included to help understand how the Boolean operators are
being used
Common Boolean operators #1 - a simple program that assigns Boolean values to
two variables and outputs basic comparisons
Common Boolean operators #2 - a simple program to output a grade based on a
users score
Common Boolean operators #3 - a simple program reads a text files and searches
for an inputted score
Python code
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 25
# -----------------------------------------------------------
# Common Boolean operators #1
# ----------------------------------------------------------- Your notes
# Assign a Boolean value to a and b
a = True
b = False
# -----------------------------------------------------------
# Common Boolean operators #2
# -----------------------------------------------------------
# Take input for the score from the user
score = int(input("Enter the score: "))
# -----------------------------------------------------------
# Common Boolean operators #3
# -----------------------------------------------------------
# Open the file for reading
try:
file = open("[Link]", "r")
# While it's not the end of the file and the score has not been found
while not end_of_file and not found:
# Read the line
scores = [Link]().strip()
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 26
print("Score not found")
except FileNotFoundError:
print("The file '[Link]' was not found.")
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 27
Procedures & Functions
Your notes
What are functions and procedures?
Functions and procedures are a type of sub program, a sequence of instructions that
perform a specific task or set of tasks
Procedures and functions are defined at the start of the code
Sub programs are often used to simplify a program by breaking it into smaller, more
manageable parts
Sub programs can be used to:
Avoid duplicating code and can be reused throughout a program
Improve the readability and maintainability of code
Perform calculations, to retrieve data, or to make decisions based on input
Parameters are values that are passed into a sub program
Parameters can be variables or values and they are located in brackets after the
name of the sub program
Example: FUNCTION TaxCalculator(pay,taxcode) OR PROCEDURE TaxCalculator(pay,taxcode)
Sub programs can have multiple parameters
To use a sub program you 'call' it from the main program
Procedures
Procedures are defined using the PROCEDURE keyword in pseudocode or def keyword
in Python
A procedure can be written as:
PROCEDURE <identifier>
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 28
<statements>
ENDPROCEDURE
Or if parameters are being used: Your notes
Pseudocode
Python
def ageCheck(age):
if age > 18:
print("You are old enough")
else:
print("You are too young")
CALL <identifier>
CALL <identifier>(Value1,Value2...)
Calling a procedure
Pseudocode
CALL Calculate_area
CALL Calculate_area(5,3)
Python
ageCheck(21)
print(ageCheck(21))
Examples
A Python program using procedures to display a menu and navigate between them
Procedures are defined at the start of the program and the main program calls the first
procedure to start
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 29
In this example, no parameters are needed
Procedures
Your notes
# Procedure definition for the main menu
def main_menu():
# Outputs the options
print("1. Addition")
print("2. Subtraction")
print("3. Multiplication")
print("4. Division")
print("5. Exit")
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 30
# Main program
while True: # Loop to continuously show the menu until the user chooses to exit
main_menu() Your notes
Functions
Functions are defined using the FUNCTION keyword in pseudocode or def keyword in
Python
Functions always return a value so they do not use the CALL function, instead they are
called within an expression
A function can be written as:
Pseudocode
Python
def squared(number):
squared = number^2
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 31
return squared
Examples
A Python program using a function to calculate area and return the result
Two options for main program are shown, one which outputs the result (# 1) and one
which stores the result so that it can be used at a later time (# 2)
Functions
# Main program #1
length = int(input("Enter the length: "))
width = int(input("Enter the width: "))
print(area(length, width)) # Calls the area function and prints the result
# Main program #2
length = int(input("Enter the length: ")) # Input for length
width = int(input("Enter the width: ")) # Input for width
calculated_area = area(length, width) # Stores the result of the function in a variable
print("The area is " + str(calculated_area) + " cm^2") # Outputs the result with a message
Worked Example
An economy-class airline ticket costs £199. A first-class airline ticket costs £595.
(A) Create a function, flightCost(), that takes the number of passengers and the type of
ticket as parameters, calculates and returns the price to pay.
You do not have to validate these parameters
You must use :
a high-level programming language that you have studied [4]
(B) Write program code, that uses flightCost(), to output the price of 3 passengers flying
economy.
You must use :
a high-level programming language that you have studied [3]
How do I answer this question?
(A)
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 32
Define the function, what parameters are needed? where do they go?
How do you calculate the price?
Return the result Your notes
(B)
How do you call a function?
What parameters does the function need to return the result?
Answers
Part Python
B print(flightCost("economy", 3)
OR
x = flightCost("economy", 3)
print(x)
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 33
Local & Global Variables
Your notes
Local Variables
What is a local variable?
A local variable is a variable declared within a specific scope, such as a function or a
code block
Local variables are accessible only within the block in which they are defined, and their
lifetime is limited to that particular block
Once the execution of the block ends, the local variable is destroyed, and its memory is
released
Python example
In this python code, you can see that the localVariable (with the value 10) is
declared inside of the function printValue
This means that only this function can access and change the value in the local variable
It cannot be accessed by other modules in the program
Local variables
def printValue():
localVariable = 10 # Defines a local variable inside the function
print("The value of the local variable is:", localVariable)
Global Variables
What is a global variable?
A global variable is a variable declared at the outermost level of a program.
They are declared outside any modules such as functions or procedures
Global variables have a global scope, which means they can be accessed and modified
from any part of the program
Python example
In this python code, you can see that the globalVariable (with the value 10) is
declared outside of the function printValue
This means that this function and any other modules can access and change the value in
the global variable
Global variables
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 34
globalVariable = 10 # Defines a global variable
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 35
Library Routines
Your notes
Library Routines
What are library routines?
A library routine is reusable code that can be used throughout a program
The code has been made public through reusable modules or functions
Using library routines saves programmers time by using working code that has already
been tested
Some examples of pre-existing libraries are:
Random
Round
Random
The random library is a library of code which allows users to make use of 'random' in their
programs
Examples of random that are most common are:
Random choices
Random numbers
Random number generation is a programming concept that involves a computer
generating a random number to be used within a program to add an element of
unpredictability
Examples of where this concept could be used include:
Simulating the roll of a dice
Selecting a random question (from a numbered list)
National lottery
Cryptography
number = [Link](1,10)
number = [Link](-1.0,10.0)
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 36
Random choice import random
Examples in Python
Random code
National lottery
import random
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 37
Round
The round library is a library of code which allows users to round numerical values to a Your notes
set amount of decimal places
An example of rounding is using REAL values and rounding to 2 decimal places
The round library can be written as:
ROUND(<identifier>, <places>)
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 38
Maintaining Programs
Your notes
Maintaining Programs
How do you write programs that are easy to maintain?
Easy to maintain programs are written using techniques that make code easy to read
Programmers should be consistent with the use of techniques such as:
Layout - spacing between sections
Indentation - clearly defined sections of code
Comments - explaining key parts of the code
Meaningful variable names - describe what is being stored
White space - adding suitable spaces to make it easy to read
Sub-programs - Functions or procedures used where possible
When consistency is applied, programs are easy to maintain
def main():
# -----------------------------------------------------------------------
# Prompts the user for triangle base and height, calculates and prints the area
# -----------------------------------------------------------------------
try:
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 39
base = float(input("Enter the base of the triangle: "))
height = float(input("Enter the height of the triangle: "))
Your notes
# Call the area calculation function
area = calculate_area_of_triangle(base, height)
# ------------------------------------------------------------------------
# Main program
# ------------------------------------------------------------------------
main()
© 2025 Save My Exams, Ltd. Get more and ace your exams at [Link] 40