Lessons

Last Accessed

Recently visited lessons will appear here for quick access.Start exploring your first lesson today!

Paper 1: Principles of Computer Science

Topic 1: Computational thinking

1.1.1-1.1.2 - Decomposition, abstraction and subprogramsSpecification point 1.1.1 is about making real-world problems manageable with decomposition and abstraction; 1.1.2 connects that thinking to the benefits of subprograms. By the end, you will be able to choose what to split, what detail to leave out, and explain precisely why those choices help.
1.2.1 - Control flow, input and outputAlgorithms are where a solution stops being a vague idea and becomes a route that someone else can follow. In this lesson, you will read and write sequence, selection, count-controlled repetition, condition-controlled repetition and iteration, while keeping input, processing and output clear. You...
1.2.2 - Variables, constants and data structuresA single name can keep track of one value, while a data structure can organise a whole collection without a tangle of separate names. In this lesson, you will follow and write short algorithms that use variables, constants, strings, records, and one- and two-dimensional arrays precisely.
1.2.3 - Operators in algorithmsOperators are the small symbols and words that make an algorithm calculate, compare and decide. By the end of this lesson, you will be able to follow their effect precisely and write arithmetic, relational and logical expressions that match a requirement.
1.2.4 - Trace tables and algorithm outputsAn algorithm can look fixed on the page while its variables keep changing underneath. In this lesson, you will expose those changes in a trace table, use supplied data to determine exact output, and find the value held by a variable at a named point.
1.2.5 - Program errors and logic correctionSome programs stop dramatically; others finish calmly with exactly the wrong answer. You will learn to distinguish syntax, runtime and logic errors, then use requirements and state evidence to locate and correct logic errors in written algorithms.
1.2.6 - Search and sorting algorithmsFinding one value and putting a whole list in order look simple until the list grows. This lesson will help you trace linear and binary search, follow bubble and merge sort, and explain exactly what each algorithm checks, swaps, splits or merges.
1.2.7 - Algorithm testing and efficiencyTwo algorithms can produce the same result yet demand very different amounts of work. In this lesson, you will use test data and logical reasoning to decide whether an algorithm is fit for purpose, then compare efficiency by counting comparisons, loop passes and memory use.
1.3.1 - Truth tables and Boolean logicA truth table is a small grid with no room for guesswork: every possible input combination must appear once. In this lesson, you will apply AND, OR and NOT accurately in truth tables with up to three inputs, then use them to solve short logic problems.

Topic 2: Data

2.1.1-2.1.3 - Binary states, unsigned and signed integersBinary is a pattern whose meaning comes from how it is interpreted. In 2.1.1 you will connect binary to data and instructions and count the states possible with a given number of bits; in 2.1.2 you will distinguish unsigned from two's-complement signed integers; and in 2.1.3 you will convert 8-bi...
2.1.4-2.1.5 - Binary arithmetic, shifts and overflowA row of bits can perform arithmetic, but its fixed width sets a hard limit. In 2.1.4, you will add positive binary patterns and apply logical and arithmetic shifts with the correct fill rule. In 2.1.5, you will recognise and explain when the exact result cannot fit in the available bits.
2.1.6 - HexadecimalLong strings of 0s and 1s are awkward to handle, but hexadecimal gives each group of four bits a single symbol. By the end of this lesson, you will be able to explain why people use this notation and convert accurately in both directions.
2.2.1 - Character encoding with ASCIITo us, A, a and a blank space are obvious; to a computer, each needs an agreed binary pattern. In this lesson, you will use 7-bit ASCII to encode and decode short text, and explain why seven bits provide 128 different codes.
2.2.2 - Bitmap imagesZoom far enough into a bitmap and the smooth picture becomes a grid of coded squares. In this lesson, you will turn binary patterns into pixels, reason about resolution and colour depth, and explain how those choices affect detail and raw image size.
2.2.3 - Digital soundSpecification point 2.2.3 turns a changing sound wave into a sequence a computer can store. You will connect amplitude, sample rate, sample interval and bit depth, then use those links to explain why two digital recordings can represent the same sound with different accuracy.
2.2.4 - Limits of binary representationA tiny change from four bits to five doubles the number of possible codes. This lesson shows how a fixed bit limit can restrict characters, colours and sound levels, and how to choose a bit width that is large enough for the job.
2.3.1 - Storage units and file-size calculationsStorage labels such as KiB and MiB look deceptively similar, but each step changes by a factor of 1024. In this lesson, you will rank binary storage units, convert between them, and construct reliable expressions for capacity, image data and audio data without losing track of bits and bytes.

Topic 3: Computers

Topic 4: Networks

Topic 5: Issues and impact

Paper 2: Application of Computational Thinking

Foundations

Control flow and data

Subprograms and program reasoning

Quality and debugging

Files and complete programs