This guide covers the essential programming concepts you'll need for... Show more
Sign up to see the contentIt's free!
Access to all documents
Improve your grades
Join milions of students
By signing up you accept Terms of Service and Privacy Policy
Responding to change (a2 only)
Infection and response
Homeostasis and response
Energy transfers (a2 only)
Cell biology
Organisms respond to changes in their internal and external environments (a-level only)
Biological molecules
Organisation
Substance exchange
Bioenergetics
Genetic information & variation
Inheritance, variation and evolution
Genetics & ecosystems (a2 only)
Ecology
Cells
Show all topics
Britain & the wider world: 1745 -1901
1l the quest for political stability: germany, 1871-1991
The cold war
Inter-war germany
Medieval period: 1066 -1509
2d religious conflict and the church in england, c1529-c1570
2o democracy and nazism: germany, 1918-1945
1f industrialisation and the people: britain, c1783-1885
1c the tudors: england, 1485-1603
2m wars and welfare: britain in transition, 1906-1957
World war two & the holocaust
2n revolution and dictatorship: russia, 1917-1953
2s the making of modern britain, 1951-2007
World war one
Britain: 1509 -1745
Show all topics

1
0
John Joyce
14/12/2025
Computer Science
A-Level Computer Science Paper 1 (Revision sheet)
30
•
14 Dec 2025
•
John Joyce
@johnjoyce4535
This guide covers the essential programming concepts you'll need for... Show more











Identifiers are simply meaningful names you give to variables - think of them as labels that make your code readable. Instead of using random letters, you'd write age = 18 rather than x = 18.
The difference between constants and variables is straightforward: constants are fixed values that never change during your program , while variables can change as your program runs. Variables come in two flavours - global variables work throughout your entire program, whilst local variables only exist within specific subroutines.
Be careful with global variables though - they can introduce bugs when local and global variables share the same name, making your code confusing and harder to test.
Quick Tip: Always use descriptive identifiers - your future self will thank you when debugging!

Subroutines are blocks of code that perform specific tasks - think of them as mini-programs within your main program. They're absolute lifesavers for keeping your code organised and avoiding repetition.
There are two types: functions return a value (like a calculator giving you an answer), while procedures just do something without returning anything. The beauty of subroutines lies in their reusability - write once, use everywhere.
Structured programming takes this organisation further by encouraging clear, logical code structure using loops, conditionals, and subroutines. It's like having a tidy room - everything has its place, making it easier to find what you need and spot problems quickly.
Remember: Good code structure isn't just about making teachers happy - it saves you hours of debugging time!

Recursion is when a function calls itself to solve problems - it's like looking into two mirrors facing each other. Every recursive function needs a base case (the condition where it stops calling itself), otherwise you'll get stuck in an infinite loop.
Stack frames are the computer's way of keeping track of function calls. Each time a function is called, the system creates a frame containing local variables and parameters - like having separate notepads for each task.
Recursion can create elegant solutions for complex problems, but it's a double-edged sword. Whilst it produces clean, natural code, it uses loads of system resources because each function call creates another stack frame.
Pro Tip: Always identify your base case first when writing recursive functions - it's your escape route!

Object-oriented programming (OOP) organises code using objects - it's like building with Lego blocks where each piece has specific properties and abilities. A class is your blueprint (like the instruction manual), whilst an object is the actual thing you build from it.
Key concepts include attributes (the characteristics of your object) and methods (what your object can do). Instantiation is simply creating a new object from your class template, whilst the constructor sets up your object when it's first created.
Encapsulation keeps related data and methods bundled together, inheritance lets classes share features with their parent classes, and polymorphism allows different classes to be treated similarly when they share common features.
Think of it this way: If "Vehicle" is a class, then "Car" and "Bus" are subclasses that inherit wheels and engines but have their own unique features.

Understanding relationships between objects is crucial in OOP. Association means objects can exist independently, aggregation is like a team where players can exist without the team, and composition is like a hotel where rooms can't exist without the building.
Protected variables (marked with a single underscore) are meant for use within a class family, whilst private variables (double underscore) are strictly for internal class use only. Python uses name mangling to make private variables harder to access from outside.
Static methods belong to the class itself rather than specific objects - you can use them without creating an object first. Abstract methods serve as templates that subclasses must implement, whilst virtual methods can optionally be overridden by subclasses.
Memory trick: Think of protected as "family only" and private as "top secret" - Python enforces these privacy levels differently.





Our AI Companion is a student-focused AI tool that offers more than just answers. Built on millions of Knowunity resources, it provides relevant information, personalised study plans, quizzes, and content directly in the chat, adapting to your individual learning journey.
You can download the app from Google Play Store and Apple App Store.
That's right! Enjoy free access to study content, connect with fellow students, and get instant help – all at your fingertips.
App Store
Google Play
The app is very easy to use and well designed. I have found everything I was looking for so far and have been able to learn a lot from the presentations! I will definitely use the app for a class assignment! And of course it also helps a lot as an inspiration.
Stefan S
iOS user
This app is really great. There are so many study notes and help [...]. My problem subject is French, for example, and the app has so many options for help. Thanks to this app, I have improved my French. I would recommend it to anyone.
Samantha Klich
Android user
Wow, I am really amazed. I just tried the app because I've seen it advertised many times and was absolutely stunned. This app is THE HELP you want for school and above all, it offers so many things, such as workouts and fact sheets, which have been VERY helpful to me personally.
Anna
iOS user
Best app on earth! no words because it’s too good
Thomas R
iOS user
Just amazing. Let's me revise 10x better, this app is a quick 10/10. I highly recommend it to anyone. I can watch and search for notes. I can save them in the subject folder. I can revise it any time when I come back. If you haven't tried this app, you're really missing out.
Basil
Android user
This app has made me feel so much more confident in my exam prep, not only through boosting my own self confidence through the features that allow you to connect with others and feel less alone, but also through the way the app itself is centred around making you feel better. It is easy to navigate, fun to use, and helpful to anyone struggling in absolutely any way.
David K
iOS user
The app's just great! All I have to do is enter the topic in the search bar and I get the response real fast. I don't have to watch 10 YouTube videos to understand something, so I'm saving my time. Highly recommended!
Sudenaz Ocak
Android user
In school I was really bad at maths but thanks to the app, I am doing better now. I am so grateful that you made the app.
Greenlight Bonnie
Android user
very reliable app to help and grow your ideas of Maths, English and other related topics in your works. please use this app if your struggling in areas, this app is key for that. wish I'd of done a review before. and it's also free so don't worry about that.
Rohan U
Android user
I know a lot of apps use fake accounts to boost their reviews but this app deserves it all. Originally I was getting 4 in my English exams and this time I got a grade 7. I didn’t even know about this app three days until the exam and it has helped A LOT. Please actually trust me and use it as I’m sure you too will see developments.
Xander S
iOS user
THE QUIZES AND FLASHCARDS ARE SO USEFUL AND I LOVE THE SCHOOLGPT. IT ALSO IS LITREALLY LIKE CHATGPT BUT SMARTER!! HELPED ME WITH MY MASCARA PROBLEMS TOO!! AS WELL AS MY REAL SUBJECTS ! DUHHH 😍😁😲🤑💗✨🎀😮
Elisha
iOS user
This apps acc the goat. I find revision so boring but this app makes it so easy to organize it all and then you can ask the freeeee ai to test yourself so good and you can easily upload your own stuff. highly recommend as someone taking mocks now
Paul T
iOS user
The app is very easy to use and well designed. I have found everything I was looking for so far and have been able to learn a lot from the presentations! I will definitely use the app for a class assignment! And of course it also helps a lot as an inspiration.
Stefan S
iOS user
This app is really great. There are so many study notes and help [...]. My problem subject is French, for example, and the app has so many options for help. Thanks to this app, I have improved my French. I would recommend it to anyone.
Samantha Klich
Android user
Wow, I am really amazed. I just tried the app because I've seen it advertised many times and was absolutely stunned. This app is THE HELP you want for school and above all, it offers so many things, such as workouts and fact sheets, which have been VERY helpful to me personally.
Anna
iOS user
Best app on earth! no words because it’s too good
Thomas R
iOS user
Just amazing. Let's me revise 10x better, this app is a quick 10/10. I highly recommend it to anyone. I can watch and search for notes. I can save them in the subject folder. I can revise it any time when I come back. If you haven't tried this app, you're really missing out.
Basil
Android user
This app has made me feel so much more confident in my exam prep, not only through boosting my own self confidence through the features that allow you to connect with others and feel less alone, but also through the way the app itself is centred around making you feel better. It is easy to navigate, fun to use, and helpful to anyone struggling in absolutely any way.
David K
iOS user
The app's just great! All I have to do is enter the topic in the search bar and I get the response real fast. I don't have to watch 10 YouTube videos to understand something, so I'm saving my time. Highly recommended!
Sudenaz Ocak
Android user
In school I was really bad at maths but thanks to the app, I am doing better now. I am so grateful that you made the app.
Greenlight Bonnie
Android user
very reliable app to help and grow your ideas of Maths, English and other related topics in your works. please use this app if your struggling in areas, this app is key for that. wish I'd of done a review before. and it's also free so don't worry about that.
Rohan U
Android user
I know a lot of apps use fake accounts to boost their reviews but this app deserves it all. Originally I was getting 4 in my English exams and this time I got a grade 7. I didn’t even know about this app three days until the exam and it has helped A LOT. Please actually trust me and use it as I’m sure you too will see developments.
Xander S
iOS user
THE QUIZES AND FLASHCARDS ARE SO USEFUL AND I LOVE THE SCHOOLGPT. IT ALSO IS LITREALLY LIKE CHATGPT BUT SMARTER!! HELPED ME WITH MY MASCARA PROBLEMS TOO!! AS WELL AS MY REAL SUBJECTS ! DUHHH 😍😁😲🤑💗✨🎀😮
Elisha
iOS user
This apps acc the goat. I find revision so boring but this app makes it so easy to organize it all and then you can ask the freeeee ai to test yourself so good and you can easily upload your own stuff. highly recommend as someone taking mocks now
Paul T
iOS user
John Joyce
@johnjoyce4535
This guide covers the essential programming concepts you'll need for Computer Science Paper 1. From basic programming principles like variables and subroutines to advanced topics like object-oriented programming and recursion, these are the building blocks that'll help you write better... Show more

Access to all documents
Improve your grades
Join milions of students
By signing up you accept Terms of Service and Privacy Policy
Identifiers are simply meaningful names you give to variables - think of them as labels that make your code readable. Instead of using random letters, you'd write age = 18 rather than x = 18.
The difference between constants and variables is straightforward: constants are fixed values that never change during your program , while variables can change as your program runs. Variables come in two flavours - global variables work throughout your entire program, whilst local variables only exist within specific subroutines.
Be careful with global variables though - they can introduce bugs when local and global variables share the same name, making your code confusing and harder to test.
Quick Tip: Always use descriptive identifiers - your future self will thank you when debugging!

Access to all documents
Improve your grades
Join milions of students
By signing up you accept Terms of Service and Privacy Policy
Subroutines are blocks of code that perform specific tasks - think of them as mini-programs within your main program. They're absolute lifesavers for keeping your code organised and avoiding repetition.
There are two types: functions return a value (like a calculator giving you an answer), while procedures just do something without returning anything. The beauty of subroutines lies in their reusability - write once, use everywhere.
Structured programming takes this organisation further by encouraging clear, logical code structure using loops, conditionals, and subroutines. It's like having a tidy room - everything has its place, making it easier to find what you need and spot problems quickly.
Remember: Good code structure isn't just about making teachers happy - it saves you hours of debugging time!

Access to all documents
Improve your grades
Join milions of students
By signing up you accept Terms of Service and Privacy Policy
Recursion is when a function calls itself to solve problems - it's like looking into two mirrors facing each other. Every recursive function needs a base case (the condition where it stops calling itself), otherwise you'll get stuck in an infinite loop.
Stack frames are the computer's way of keeping track of function calls. Each time a function is called, the system creates a frame containing local variables and parameters - like having separate notepads for each task.
Recursion can create elegant solutions for complex problems, but it's a double-edged sword. Whilst it produces clean, natural code, it uses loads of system resources because each function call creates another stack frame.
Pro Tip: Always identify your base case first when writing recursive functions - it's your escape route!

Access to all documents
Improve your grades
Join milions of students
By signing up you accept Terms of Service and Privacy Policy
Object-oriented programming (OOP) organises code using objects - it's like building with Lego blocks where each piece has specific properties and abilities. A class is your blueprint (like the instruction manual), whilst an object is the actual thing you build from it.
Key concepts include attributes (the characteristics of your object) and methods (what your object can do). Instantiation is simply creating a new object from your class template, whilst the constructor sets up your object when it's first created.
Encapsulation keeps related data and methods bundled together, inheritance lets classes share features with their parent classes, and polymorphism allows different classes to be treated similarly when they share common features.
Think of it this way: If "Vehicle" is a class, then "Car" and "Bus" are subclasses that inherit wheels and engines but have their own unique features.

Access to all documents
Improve your grades
Join milions of students
By signing up you accept Terms of Service and Privacy Policy
Understanding relationships between objects is crucial in OOP. Association means objects can exist independently, aggregation is like a team where players can exist without the team, and composition is like a hotel where rooms can't exist without the building.
Protected variables (marked with a single underscore) are meant for use within a class family, whilst private variables (double underscore) are strictly for internal class use only. Python uses name mangling to make private variables harder to access from outside.
Static methods belong to the class itself rather than specific objects - you can use them without creating an object first. Abstract methods serve as templates that subclasses must implement, whilst virtual methods can optionally be overridden by subclasses.
Memory trick: Think of protected as "family only" and private as "top secret" - Python enforces these privacy levels differently.

Access to all documents
Improve your grades
Join milions of students
By signing up you accept Terms of Service and Privacy Policy

Access to all documents
Improve your grades
Join milions of students
By signing up you accept Terms of Service and Privacy Policy

Access to all documents
Improve your grades
Join milions of students
By signing up you accept Terms of Service and Privacy Policy

Access to all documents
Improve your grades
Join milions of students
By signing up you accept Terms of Service and Privacy Policy

Access to all documents
Improve your grades
Join milions of students
By signing up you accept Terms of Service and Privacy Policy
Our AI Companion is a student-focused AI tool that offers more than just answers. Built on millions of Knowunity resources, it provides relevant information, personalised study plans, quizzes, and content directly in the chat, adapting to your individual learning journey.
You can download the app from Google Play Store and Apple App Store.
That's right! Enjoy free access to study content, connect with fellow students, and get instant help – all at your fingertips.
1
Smart Tools NEW
Transform this note into: ✓ 50+ Practice Questions ✓ Interactive Flashcards ✓ Full Mock Exam ✓ Essay Outlines
App Store
Google Play
The app is very easy to use and well designed. I have found everything I was looking for so far and have been able to learn a lot from the presentations! I will definitely use the app for a class assignment! And of course it also helps a lot as an inspiration.
Stefan S
iOS user
This app is really great. There are so many study notes and help [...]. My problem subject is French, for example, and the app has so many options for help. Thanks to this app, I have improved my French. I would recommend it to anyone.
Samantha Klich
Android user
Wow, I am really amazed. I just tried the app because I've seen it advertised many times and was absolutely stunned. This app is THE HELP you want for school and above all, it offers so many things, such as workouts and fact sheets, which have been VERY helpful to me personally.
Anna
iOS user
Best app on earth! no words because it’s too good
Thomas R
iOS user
Just amazing. Let's me revise 10x better, this app is a quick 10/10. I highly recommend it to anyone. I can watch and search for notes. I can save them in the subject folder. I can revise it any time when I come back. If you haven't tried this app, you're really missing out.
Basil
Android user
This app has made me feel so much more confident in my exam prep, not only through boosting my own self confidence through the features that allow you to connect with others and feel less alone, but also through the way the app itself is centred around making you feel better. It is easy to navigate, fun to use, and helpful to anyone struggling in absolutely any way.
David K
iOS user
The app's just great! All I have to do is enter the topic in the search bar and I get the response real fast. I don't have to watch 10 YouTube videos to understand something, so I'm saving my time. Highly recommended!
Sudenaz Ocak
Android user
In school I was really bad at maths but thanks to the app, I am doing better now. I am so grateful that you made the app.
Greenlight Bonnie
Android user
very reliable app to help and grow your ideas of Maths, English and other related topics in your works. please use this app if your struggling in areas, this app is key for that. wish I'd of done a review before. and it's also free so don't worry about that.
Rohan U
Android user
I know a lot of apps use fake accounts to boost their reviews but this app deserves it all. Originally I was getting 4 in my English exams and this time I got a grade 7. I didn’t even know about this app three days until the exam and it has helped A LOT. Please actually trust me and use it as I’m sure you too will see developments.
Xander S
iOS user
THE QUIZES AND FLASHCARDS ARE SO USEFUL AND I LOVE THE SCHOOLGPT. IT ALSO IS LITREALLY LIKE CHATGPT BUT SMARTER!! HELPED ME WITH MY MASCARA PROBLEMS TOO!! AS WELL AS MY REAL SUBJECTS ! DUHHH 😍😁😲🤑💗✨🎀😮
Elisha
iOS user
This apps acc the goat. I find revision so boring but this app makes it so easy to organize it all and then you can ask the freeeee ai to test yourself so good and you can easily upload your own stuff. highly recommend as someone taking mocks now
Paul T
iOS user
The app is very easy to use and well designed. I have found everything I was looking for so far and have been able to learn a lot from the presentations! I will definitely use the app for a class assignment! And of course it also helps a lot as an inspiration.
Stefan S
iOS user
This app is really great. There are so many study notes and help [...]. My problem subject is French, for example, and the app has so many options for help. Thanks to this app, I have improved my French. I would recommend it to anyone.
Samantha Klich
Android user
Wow, I am really amazed. I just tried the app because I've seen it advertised many times and was absolutely stunned. This app is THE HELP you want for school and above all, it offers so many things, such as workouts and fact sheets, which have been VERY helpful to me personally.
Anna
iOS user
Best app on earth! no words because it’s too good
Thomas R
iOS user
Just amazing. Let's me revise 10x better, this app is a quick 10/10. I highly recommend it to anyone. I can watch and search for notes. I can save them in the subject folder. I can revise it any time when I come back. If you haven't tried this app, you're really missing out.
Basil
Android user
This app has made me feel so much more confident in my exam prep, not only through boosting my own self confidence through the features that allow you to connect with others and feel less alone, but also through the way the app itself is centred around making you feel better. It is easy to navigate, fun to use, and helpful to anyone struggling in absolutely any way.
David K
iOS user
The app's just great! All I have to do is enter the topic in the search bar and I get the response real fast. I don't have to watch 10 YouTube videos to understand something, so I'm saving my time. Highly recommended!
Sudenaz Ocak
Android user
In school I was really bad at maths but thanks to the app, I am doing better now. I am so grateful that you made the app.
Greenlight Bonnie
Android user
very reliable app to help and grow your ideas of Maths, English and other related topics in your works. please use this app if your struggling in areas, this app is key for that. wish I'd of done a review before. and it's also free so don't worry about that.
Rohan U
Android user
I know a lot of apps use fake accounts to boost their reviews but this app deserves it all. Originally I was getting 4 in my English exams and this time I got a grade 7. I didn’t even know about this app three days until the exam and it has helped A LOT. Please actually trust me and use it as I’m sure you too will see developments.
Xander S
iOS user
THE QUIZES AND FLASHCARDS ARE SO USEFUL AND I LOVE THE SCHOOLGPT. IT ALSO IS LITREALLY LIKE CHATGPT BUT SMARTER!! HELPED ME WITH MY MASCARA PROBLEMS TOO!! AS WELL AS MY REAL SUBJECTS ! DUHHH 😍😁😲🤑💗✨🎀😮
Elisha
iOS user
This apps acc the goat. I find revision so boring but this app makes it so easy to organize it all and then you can ask the freeeee ai to test yourself so good and you can easily upload your own stuff. highly recommend as someone taking mocks now
Paul T
iOS user