Login

Please fill in your details to login.





a level computer science

A-Level resources for the Computer Science curriculum

Focusing on Computer Science

This stage of learning covers post-16 computer science topics currently covered in A Level Computer Science in the United Kingdom. You will be directed by your teacher which topics to complete but they are given in a suggested order as later units depend on concepts learned in the earlier ones.


Activity
Taster Day

The following activities are designed to help you find out a little bit about A Level Computer Science.

image
Get the whole story
  
image
Download the activity
  
image
Download the activity

Course Structure

I've tried to structure the course in a logical order so that you build on the things you have learnt before. Don't worry if you need to jump in at any point though - the topics always have links to required prior learning where necessary. Each topic/activity is mapped to the relevant specification so you don't end up covering things you don't have to. However, if you are really serious about becoming a proper computer scientist you should cover everything 😃

Year 1


image
When you start any new course, you need to spend some time getting familiar with the content and the resources you have to help you. It's also a good time to remind yourself why you chose to study the subject!

image
In this topic, we take a look at the different ways what data can be 'exchanged' between computer systems and the outside world.

Data floods into computer systems. It takes many forms; well, not that many actually. In this section, we take a look at the 'appearance' of data, how is is structured and how it is stored. A brief introduction to databases and file handling.

Numbers aren't simply numbers. They can be categorised and this always helps computer scientists and mathematicians to make sense of them.

Computers don't count in denary like we do. They are made a switches and don't have any fingers. They count in Base 2 or Binary. Part of being a computer scientists is being able to count in different number bases than the one that we normally count in.

So we add, subtract, multiply and divide using our fingers and the beautiful, if slightly familiar, base 10 number system. What about computers? They count in binary so how do you do maths with that?

A bit is a really tiny thing. A tiny bit, as it were. Most useful amounts of data storage contain millions, billions or even trillions of bits. However, computer scientists don't like writing long numbers; they use prefix multipliers to group bits together.

With some bizarre reference to the 1960's TV series 'The Prisoner', we enter the world of character encoding.

Ah, yes. A wildly pixelated Ben introduces us to the colourful world of bitmap images and bitmap encoding.

Apart from images, text and numbers, computers can also store sound. Not in analogue format like we hear it but in digital format. How does this work? How is an analogue wave converted into a digital signal? Fascinating.

A file sizes increase, streaming movie and audio services become the norm, compression techniques are used to make sure we don't run out of space (or patience).

Computer are really good at maths. They do maths really quickly. Most of the maths that computers do is ordinary maths like we do. See?

One of the most important aspects of computer programming is the ability to make decisions. Making decisions requires the computer to be able to compare things.

Computers are built using electronic components. These include resistors, capacitors and logic gates. Logic gates and combinations of logic gates perform the basic operations of all modern computers. But how do they work? How are they manufactured?

So we should have learnt about logic gates and be able to cope quite well with those. However, sometimes, the logic circuits that we make are simply too complicated. They cost too much money and the same logical output could be achieved using less gates - a simplified circuit.

This section is about the distinction between hardware and software and the different types of software that computer systems use.

Without an operating system, your computer would never get past the black screen that tells you who made the motherboard and how much memory you have. Not a lot of use really.

In this section, we will learn more about system software but specifically the software which allows us to give computers instructions.

In this section, we will briefly look at the different software development methodologies available to software developers before considering the main stages involved in all of them.

In this topic, we are learning how to solve problems. We will formalise the techniques used by computer scientists to help them to automate the solutions to, often complex, problems in the real world.

In this section, we look at the big picture of programming. Tying together all the work we have done so far on programming and looking also towards more advanced topics that we have yet to meet.

This section introduces all the major programming paradigms and considers why they may be needed. Then we move on to look at procedural programming in particular and why programmers break problems down into smaller, more manageable parts.

In this section, we will be learning some simple skills in the field of string handling. That's it.

One of the most interesting feature of computers is the immense power they have to model real world events. The real world is inherently random - hence, computers need to be able to simulate this. Random number generation is only covered in certain specifications, however, even if it's not, there is no harm in covering this section.

Defensive programming techniques expect users to push buttons they are not meant to push and type words that shouldn't be typed. Prevention is often better then cure but sometimes, you just can think of everything!

With so many problems and so many solutions, there's bound to be an algorithm around which will solve yours. The most common problems to solve involve searching and sorting, but also record storage and route finding.

Since the dawn of time, man has wished to communicate in secret. In ancient Roman times, men used to shave their heads and have secret messages tattooed onto them, in the second world war, Germany communicated with the Enigma machine. In modern times, cryptography is crucial to the operation of the Internet.

The lowest level language used for communicating an algorithm to a computer is Binary or Machine Code. Humans aren't very good at binary because they are not machines so Computer Scientists developed languages which are close to machine code, but are a little more 'humanlike'.

Computers really aren't complicated. They just make lots of simple decisions really quickly. Creating models of computation lies in the theoretical world of the Finite State Machine...

In this modern world of computing, it's easy to forget that a) it didn't always used to be like this and b) there is a lot more going on 'under the bonnet' than first meets the eye (or ear).

A central processing unit leads probably the most repetitive existence know to man (or woman). It does the same thing, nanosecond after nanosecond, never gets tired and never makes a mistake. Amazing. In this lesson, we investigate the cycle of its life.

When the lights go out and your computer screen goes black, what happens to all the data that was flowing around the little wires? This section focuses on the operation of the main types of secondary storage media.

In the days before networks were commonly available, the world of computing was a little dull. Nowadays, computers are fastened together by default. In this section, we will learn some of the basic methods by which computers are fastened together and the characteristics of how they operate.

We do not live in a world devoid of responsibility and computer technology has exposed both benefits and risks in the areas of individual (moral), social (ethical), legal and cultural responsibility. This topic explores these areas.

Year 2


Computers aren't like us. They (or rather the programmers that instruct them) find it very difficult to interpret free speech. Formal language definitions are needed to help them a little.

The way we do maths is not the way that computers do it. In this topic, I'll change the way you think ...

Defining formal languages is a tricky business. We need another language to do it; a metalanguage. Crazy.

A regular expression is a shorthand way of representing a set of strings which fit within a certain language.

This section is about programming paradigms and how to program using objects and, to be honest, is probably one of the most important sections in this year since all the other programming stuff uses the concepts you will learn here. Pay attention!

A famous online encyclopedia once said, "For recursion, see recursion".

Two common data structures which are used as the basis of many others are the list and the dictionary. In this topic, we will see examples of both.

Stacks and queues exist in all walks of life. We see them everywhere. They are also very useful in computer science as we are all about to learn.

In this section we will consider two very important data structures - graphs and trees.

Saving data in a file is OK but you still have to store, retrieve, amend and search for the data yourself. There is a better way luckily which we've touched on before - that database. Hang on though, what about unstructured data? Oh, no, enter BIG DATA!

Humans are always searching for more efficient ways of solving problems. Enter BigO ...

Some problem can't be solved by a computer no matter how much power you throw at them. Some problems can, but not always efficiently.

Vectors - it's a bit maths (and only for AQA).

Bitmap images are OK but sometimes, only a vectorised one will do! Only AQA.

Alan Turing gave his life in the pursuit of mathematics and computer science. Without him, we may not have won the Second World War, the modern computer might look and behave very differently and Bletchley Park might not be quite so famous.

Yet another programming language, but it's OK because we'll be using Python as well as Haskell 😃

It's OK connecting computers together in a local environment, but it's much more fun (and potentially quite dangerous) communicating with other computers around the globe. But how does that even work?

With so many computers accessing the Internet, there have to be rules for communication. The TCP/IP protocol stack is, well, a stack of such protocols which all networked computers must understand and comply with, or else.

A complex and totally open-ended introduction to the world of the client / server model. Yikes!

There is always going to be someone who wants what you've got. In this section, we will look at the security threats that computer systems face and ways in which we can work to minimise them.


Last modified: April 9th, 2024
The Computing Café works best in landscape mode.
Rotate your device.
Dismiss Warning