A-level Computer Science

The A-level course in Computer Science provides an opportunity to gain a deep understanding of the mathematical principles underpinning technology so prevalent in the modern world. It also allows students to develop their programming skills up to a level where they can transform many of their ideas into working applications for pleasure, or indeed, profit!

To start the course, you need excellent mathematical skills (which means being able to tackle easily any (I)GCSE-level question), as well as an (I)GCSE qualification in Computer Science and reasonable programming ability in Python. For example, being able to implement simple algorithms such as insertion sort or binary search in Python within 30 minutes without assistance. If you feel that you lack these programming skills at this stage, please get in touch with the Head of Computing, as it may well be possible for you to develop these before starting Sixth Form at MCS. Most of all, you should have a passion for solving challenging problems, if you do then you are likely to enjoy and benefit greatly from the course.

Computer Science is an increasingly popular university course, but as yet Computer Science A-level is not a required subject for taking the subject at university, although of course, it would offer excellent preparation. The key requirement for university Computer Science is Maths A-level, and often Further Maths A-level as well. Computer Science A-level is a challenging course and will suit those with a strong interest in, and aptitude for, programming and mathematical rigour.

Course content


  • Practical programming (at least 2 periods per week) and general problem solving
  • Programming concepts: procedural-oriented, object-oriented and functional programming
  • Data structures (including queue, stack, graph, tree, hash table, dictionary, vector)
  • Algorithms (including graphs, trees, searching, sorting and optimization)
  • Data representation, logic gates and Boolean algebra (extending (I)GCSE content)
  • Computer organization and architecture (extending (I)GCSE content)
  • Communication and networking, including models and protocols
  • Theory of computation (abstraction and automation, regular and context-free languages)
  • Computational complexity and computability, Turing machines and halting problem


Examination arrangements


Paper 1 (40% of A-level)

On-screen exam testing Python programming skills, algorithm design and problem solving.

 Paper 2 (40% of A-level)

Written exam testing theoretical knowledge of Computer Science and problem-solving skills.

Non-examination assessment (formerly known as Coursework) (20% of A-level)

A large-scale, fully documented programming project solving a practical problem of the pupil’s choice, which will be completed during the Upper Sixth year.


Further Inspiration

General Interest Books

Smullyan, Raymond  What is the Name of this Book?
Cormen, Thomas Algorithms Unlocked
Leavitt, David  The Man who Knew too much
Domingos, Pedro  The Master Algorithm
Nahin, Paul The Logician and the Engineer
Penrose, Roger  The Emperor’s New Mind
Hofstadter, Douglas  Goedel, Escher, Bach

Python Programming Books

Sweigart, Al Invent your own Computer Games with Python
Sweigart, Al  Automate the Boring Stuff with Python
Matthes, Eric  Python Crash Course
Vaughan, Lee  Impractical Python Projects
Saha, Amit  Doing Math with Python