2.2 - Programming Fundamentals
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 […]

Read more
2.1 - Algorithms
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 […]

Read more
2.5 - Languages and IDE's
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 […]

Read more
2.4 - Boolean Logic
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 […]

Read more
2.3 - Robust Programs
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 […]

Read more
2.1 - Algorithms
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 […]

Read more
2.1 - Algorithms
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. […]

Read more
1.6 - Ethical, Legal, Moral Impacts
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 […]

Read more
1.5 - Systems Software
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 […]

Read more
1.5 - Systems Software
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 […]

Read more