2.2 Programming Fundamentals
Please note, whilst it is absolutely possible to learn programming by reading, you are much better off actually doing some programming! The notes here are just that - revision notes, a backup should you miss a lesson, something to use to help you cover the basic concepts. They are designed to go hand in hand […]
2.1.3 - Searching and Sorting Algorithms
This is one of the most straightforward parts of unit 2. All of the algorithms here have easy to understand methods and are sufficiently different that you shouldn't confuse one for the other. As usual, at GCSE level, you need to know the algorithm and some advantages and disadvantages. It seems like a lot at […]
2.5 - Languages and Integrated Development Environments (IDE's)
In this section: 2.5.1 – Languages Fact: Computers only understand binary. That is their language. Everything else is meaningless to them. It might seem odd, then, that there are hundreds of programming languages available today and none of them look anything like binary. How is this possible? Why do they exist? Computer programming is a […]
2.4 - Boolean Logic
In Unit 1 we learned that the CPU has a fixed set of instructions (an instruction set) and that these can be combined to make useful programs. The CPU then fetches, decodes and executes these instructions continuously until the power is turned off. This section takes the next step towards understanding how a CPU really […]
2.3 - Producing Robust Programs
This section is all about creating programs that don’t fall apart as soon as something unexpected happens. We should all know by now that computers have zero intelligence and can only do exactly as they are told. Therefore, when we do something like taking input in a program and we tell the computer to expect […]
2.1.2 Designing, Creating and Refining Algorithms
Section two is a little bit all over the shop. In 2.1.2 you are expected to be able to demonstrate the skill of creating and writing algorithms in three ways - one of which is in a programming language. In this section we will focus on mainly the skill of creating a flow chart. Pseudo […]
2.1.1 - Computational Thinking
How do we actually get machines to do things for us? The dream many decades ago was that we would simply sit in front of a ChatGPT like interface and just dictate our problems into a machine and a few moments later the answers would pop out of a printer or appear on a screen. […]
1.6.1 Ethical, Legal, Cultural and Environmental Impact
This section of the course is simultaneously the most in depth and interesting of all topics we study. The legal side of computing is fascinating in its own right, but the often forgotten environmental impact of the technology we consume is more prevalent than ever in a world where nearly everyone recognises the impact of […]
1.5.2 - Utility Software
Utilities are pieces of software which perform a single, specific task in a computer system and usually do so in the background with little or no user interaction. Utilities have been around since the dawn of computing and basically fall into the category of "useful little programs." We usually use them to do simple, repetitive […]
1.5.1 - Operating Systems
Operating Systems are the single most important piece of software on any computer system. All computer systems must have an operating system in order to work, whether you notice it or not! Any OS is an incredibly complex and intricate piece of software, written by some of the best programmers to have ever touched a […]









