Complete AQA A-Level Computer Science specification revision resources. Tailored syllabus coverage with topic breakdowns, quizzes, and practice questions.
Overview
AQA A-Level Computer Science (7517) offers a deep and engaging exploration of both the theoretical and practical aspects of computing. You will develop an understanding of how computers work, how they communicate, and the profound impact they have on society. The course is structured around two main dimensions: the scientific principles that underpin all digital technology, and the practical skills required to design, implement, and analyse computational solutions.
Throughout the qualification, you will tackle topics ranging from programming paradigms and data structures to the inner workings of processors and operating systems. A key component is the non-exam assessment (NEA), where you undertake a substantial programming project of your own choosing, giving you the freedom to apply your skills to a real-world problem and demonstrate creativity and technical independence.
The specification is designed to nurture computational thinking – the ability to think logically, abstract, and decompose complex problems. By the end of the course, you will not only be well-prepared for higher education or a career in technology but also equipped with a mindset that is valuable across many modern disciplines.
Why Choose AQA for Computer Science?
Practical programming is integrated throughout: the on-screen Paper 1 directly assesses your coding ability, while the NEA allows you to build a bespoke project that showcases your skills to universities and employers.
AQA’s specification offers a balanced mix of theory and practice, with a strong focus on computational thinking and problem-solving. The pre-release material for Paper 1 provides a helpful framework for exam preparation.
Many teachers appreciate the clarity of the AQA resources and the supportive community. The specification avoids prescribing a single programming language, giving schools the flexibility to teach in a language that suits their context and students' interests.
Assessment & Exam Structure
AQA A-Level Computer Science is assessed via two written examinations and a non-exam assessment (NEA). Paper 1 (2 hours 30 minutes, on-screen) is worth 40% of the A-level and tests practical programming and problem-solving skills using a pre-released skeleton program or scenarios. Paper 2 (2 hours 30 minutes, written) also carries 40% and examines theoretical knowledge from the entire specification. The remaining 20% is the NEA – a practical programming project completed in school under supervised conditions, allowing you to independently design, develop, and evaluate a solution to a real problem.
Specification Topics
- Fundamentals of programming
- Fundamentals of databases
- Big Data
- Fundamentals of functional programming
- Systematic approach to problem solving
- Non-exam assessment - the computing practical project
- Fundamentals of data structures
- Fundamentals of algorithms
- Theory of computation
- Fundamentals of data representation
- Fundamentals of computer systems
- Fundamentals of computer organisation and architecture
- Consequences of uses of computing
- Fundamentals of communication and networking
Top Exam Board Tips
- Ensure you are familiar with the specific syntax of your chosen programming language (C#, Java, Python, or VB.Net).
- Practice hand-tracing algorithms to ensure logic is correct before writing code.
- Always use meaningful variable names to improve code readability.
- When designing solutions, use hierarchy charts to plan the modular structure.
- Be prepared to write, adapt, or extend programs provided in the skeleton code.
- Practice drawing ER diagrams from written scenarios to improve speed and accuracy.
- Memorize the properties of 3NF to ensure you can justify your normalization steps.
- Ensure you can distinguish between different types of keys (primary, foreign, composite) and their roles.
- Use clear, standard SQL syntax in your answers.
- Be prepared to explain how concurrency issues are resolved in a client-server environment.
Common Mistakes to Avoid
- Confusing local and global variable scope.
- Incorrect use of definite vs indefinite iteration.
- Failure to use meaningful identifier names.
- Misunderstanding the difference between integer and real division.
- Incorrect handling of array indices (e.g., off-by-one errors).
- Poor documentation or lack of modular structure in code.
- Failing to correctly identify the primary key in a relation.
- Incorrectly mapping relationships in ER diagrams (e.g., confusing one-to-many with many-to-many).