Listing all results (149)

The Scratch patch - substitution cipher

This project, exploring basic encryption, is a useful introduction to data security as well as iterating through strings to manipulate them. The program create a ‘substitution cipher’, one of the most basic forms of encryption. It also demonstrates that, for more complex chained commands, Scratch becomes rather...

The Scratch patch - error handling

This activity is an introduction to writing programs that can handle errors. It also helps students to understand number bases, by guiding them through the writing of a ‘base converter’ program.

Curiosity's Seven Minutes of Terror

In August 2012, an unmanned rover touched down on the surface of Mars. NASA's Curiosity Rover was sent to take measurements of the atmosphere and martian terrain in an effort to understand more about the history of Mars and whether the planet ever sustained life. This video shows an animation of the incredible...

CS4FN Issue 8

This issue of Computer Science for Fun is entitled ‘Computer Science in Space’, and explores the role of computers in space exploration and astronomy.

It includes articles covering:

• Computer scientists working for NASA

• GPS and computer art projects that love your data

• Computers,...

Born to Engineer - Andrew Robertson

Andrew Robertson is a computer engineer working at Queen Mary, University of London on music signal processing. 

He has engineered a software package that allows bands to drive the tempo of their music to the response of the crowd and still keep their layered backing tracks in time with the beat. This film...

Data Representation

The first video explains why computers use binary to store data.  The difference between a bit, nibble, byte, kilobyte, megabyte, gigabyte, terabyte and petabyte is explained.  These are known as measurements of capacity, or how much data can be stored either in memory or on secondary storage devices.


Translators and Facilities of Languages

The first video takes a brief look at the history of programming.  It examines the differences between low level languages such as Assembly, and high level languages such as Python.  It considers the uses of each of these different types of languages.

The second video we explain the purpose of translators...

Computational Logic

The first video explains why data is represented in binary using examples of RAM, a hard disk, optical disks and solid state memory.

The second video illustrates simple circuits built using components to create AND, OR and NOT logic gates.  GCSE students need to be able to combine gates to create more...

Producing Robust Programs

The first video is about defensive design considerations.  Data is not always entered in ways that a program might expect.  If this can be easily rectified without asking the user to re-input the data, it is known as input sanitation.  In addition, to prevent invalid data crashing a program, validation techniques...

Programming Techniques

The basics of programming are explored through a “beat that dice” game.  It is assumed that students already have some knowledge and experience of programming before watching the first video, and the purpose of this video is to marry the theory of programming to the established practical experience in preparation...


View all publishers