COMP 02: Computational Thinking, Algorithms and Programming

This is assessed by a written paper, which has a mixture of short and long answer questions. 14% AO1,14% AO2 and 12% AO3. No calculators allowed.
Written paper, 1 hour 30 mins, 80 marks, 40% of qualification.

You need to revise below listed topics for your up coming exam. Use available resources in your Google Classroom, Dynamic learning, the internet and the given links on this website to revise each topics.

2.1 Algorithms

  • Computational thinking:
    • abstraction
    • decomposition
    • algorithmic thinking
  • Standard searching algorithms:
    • binary search
    • linear search
  • Standard sorting algorithms:
    • bubble sort
    • merge sort
    • insertion sort
  • How to produce algorithms using:
    • pseudocode
    • using flow diagrams
  • Interpret, correct or complete algorithms

2.2 Programming Techniques

Use this link to revise below topics The Big Python Guide

  • Variables, Constants, Input & Output
  • Data Types
    • integer
    • real
    • Boolean
    • character and string
    • casting
  • Arithmatic / Boolean Operators
  • The use of the three basic programming constructs used to control the flow of a program:
    • Sequencing
    • Selection (IF.. ELIF…ELSE)
    • Fixed and conditional iteration (count and condition (AND, OR, NOT) controlled loops)
  • String Manipulation
  • Lists (Arrays / one-two dimensional arrays)
  • Lists & Dictionary Files
  • Functions and Procedures (sub programs)
  • File Handling
    • open
    • read
    • write
    • close
  • The use of records to store data
  • The use of SQL to search for data

2.3 Producing robust programs

  • Defensive design considerations:
    • input sanitisation/validation
    • planning for contingencies
    • anticipating misuse
    • authentication
  • Maintainability:
    • comments
    • indentation
  • the purpose of testing
  • Types of testing:
    • iterative
    • final/terminal
  • How to identify Syntax and Logic errors
  • Selecting and using suitable test data

2.4 Computational Logic

  • why data is represented in computer systems in binary form
  • simple logic diagrams using the operations AND, OR and NOT
  • truth tables
  • combining Boolean operators using AND, OR and NOT to two levels.
  • applying logical operators in appropriate truth tables to solve problems
  • applying computing-related mathematics:
    • +
    • /
    • *
    • Exponentiation (^)
    • MOD (%)
    • DIV

2.5 Translators & Facilities

  • Characteristics and purpose of different levels of programming language, including low-level languages
  • The purpose of translators
  • The characteristics of an assembler, a compiler and an interpreter
  • Common tools and facilities available in an integrated development environment (IDE):
    • editors
    • error diagnostics
    • run-time environment
    • translators

2.6 Data Representation


  • bit, nibble, byte, kilobyte, megabyte, gigabyte, terabyte, petabyte
  • how data needs to be converted into a binary format to be processed by a computer.


  • the use of binary codes to represent characters
  • the term ‘character-set’
  • the relationship between the number of bits per character in a character set and the number of characters which can be represented (for example ASCII, extended ASCII and Unicode).


  • how an image is represented as a series of pixels represented in binary
  • metadata included in the file
  • the effect of colour depth and resolution on the size of an image file.


  • how sound can be sampled and stored in digital form
  • how sampling intervals and other factors affect the size of a sound file and the quality of its playback:
    • sample size
    • bit rate
    • sampling frequency


  • need for compression
  • types of compression:
    • lossy
    • lossless

The Big Python Guide is provided by Belper Computing here is the original resource page