Studying computer science teaches students how to solve problems and how to think!
Students learn how to think about problems in such a way that they can be potentially solved using an algorithm, how to write algorithms and how to program a computer to automate them. They learn how to write reliable and efficient code using the industry standards followed by software engineers. Although students will have the opportunity to become specifically proficient in the use of particular programming languages, which are prolific in the software development industry, first and foremost students learn to think algorithmically and develop generic programming principles that transcend all languages.
Computer science, with its emphasis on abstract thinking, problem solving, mathematical reasoning, and software engineering principles, is a good foundation for the higher study of any science or engineering-based course. Alternatively, studying computer science could facilitate direct entry into employment.
Our A-level course does not require that students have studied computer science at GCSE but that a good grade is achieved in GCSE maths.
A Level Computer Science
Exam board: AQA
Students will learn the theory of:
- how computers represent different types of data as binary numbers and the core programming concepts of selection, iteration and subroutines;
- handling text and binary files and encryption techniques;
- the internal hardware components of a computer system and the fundamentals of digital electronics – logic gates and Boolean algebra;
internetworking computer systems including the software and hardware components.
This theory will be underpinned throughout the course through practical programming tasks using the C# programming language. You will learn high-level procedural programming and low-level programming (assembly coding) based on the ARM-processor instruction set.
Students will extend their knowledge of programming through the procedural paradigm into object-orientation, still using the C# language, and will also learn functional programming using Haskell. SQL scripting skills will be learnt alongside the theory of database modelling techniques.
Advanced computational theory will be learnt, including standard algorithms for searching and sorting data, abstract data types such as queues and graphs along with traversal techniques and the theory and notation used to compare the efficiency of algorithms. Alongside this, you will learn advanced practical programming techniques including recursion, inheritance and polymorphism. Additionally, you will learn about the limitations of computer systems for storing numbers in binary form and the trade-offs between different methods of representation. Knowledge of digital electronics will be consolidated through the study of the construction of adder circuits and the use of bi-stable circuits to create units of computer memory.
You will undertake a substantial project throughout the entire second year (weighted 20% of final A-level grade), which will involve the development of a bespoke application for a real-world context, possible examples include a business application, an original educational computer game or a simulation of a mathematical or scientific principle. Students will devise their own project brief based on individual skills and interests. With the AQA specification, more than half of the project marks will be awarded for the coding of the final application, the rest of the marks coming from the supporting written report.
Staff and contact details
Subject leader: Mr Whitehouse firstname.lastname@example.org