# Generalisation

Generalisation is a way of quickly solving new problems based on previous problems we have solved. We can take an algorithm that solves some specific problem and adapt it so that it solves a whole class of similar problems. Then whenever we have to solve a new problem of that kind we just apply this general solution.

For example, a pupil uses a floor turtle to draw a series of shapes, such as a square and a triangle. The pupil writes a computer program to draw the two shapes. They then want to draw an octagon and a 10-sided shape. From the work with the square and triangle, they spot that there is a relationship between the number of sides in the shape and the angles involved. They can then write an algorithm that expresses this relationship and uses it to draw any regular polygon.

The following links to cs4fn articles that illustrate generalisation.

• Spend as little time as possible travelling and leaving more for watching whales

Watching whales well [cs4fn-pdf]

• Daisies usually have 34, 55 or 89 petals – all Fibonacci numbers

She Loves Me… She Loves Me Not [cs4fn-pdf]

• Looking at a picture from your digital camera or a digital movie, it’s all just 11001100011– hardly inspiring, and I don’t really see what it means!

Picture This? JPEG It! [cs4fn-pdf]

• It turns out though that some missions really are impossible for computers and even Tom Cruise wouldn’t be able to make a difference even if he was given unlimited time.

Mission:Impossible [cs4fn-pdf]

• How might you go about designing computer judges?
• The code hidden in knitting, and what might happen when computers learn to read it.

Knitters and coders: separated at birth? [cs4fn-pdf]

• If humans are ever to get to like and live with robots we need to understand each other.
• The future of movies and TV isn’t film, it’s streams of digits. Both are going digital… So what’s your favourite MPEG then?

• One of the nastiest errors in computer software can come from something called a stack overflow, the computer pops or pushes from its current position, where the stack pointer is pointing, and shoots off the end of the stack, like a magician counting past 52 cards.

Johnny Ball’s ‘Two Wrongs Do Make a Right’ Trick [cs4fn-link]

• How could a computer learn to read human emotions out of words?

• Could you make the most powerful computer ever created … out of chocolates? It’s actually quite easy. You just have to have enough chocolates (and some lollies). It is one of computer science’s most important achievements.

Chocoholic Turing machines [cs4fn-pdf]

• Data compression helps get information small enough to be transmitted quickly, so we can download texts movies and music.

Little Data: Compressing Vicky Pollard [cs4fn-link]

• Rather than having to learn how to use your computers, your computers will have to learn how you would like to use them.

Making computers that treat you right [cs4fn-pdf]

• Using clever computer vision techniques it’s now possible for your ingredients to tell you how they should be cooked in a kitchen.

Cooking up computer style [cs4fn-pdf]

• Most computers get round problem of lack of memory using ‘virtual memory’ hardware. What is virtual memory? It’s just a clever way to give the appearance of having more memory than you really do.

Raspberry Pi: How do you make a \$25 computer? [cs4fn-link]

• Grace Hopper is famous for more than just the word ‘bug’ though. She was one of the most influential of the early computer pioneers, responsible for perhaps the most significant idea in helping programmers to write large, bug-free programs.

Sorry to bug you: Grace Hopper [cs4fn-link]

• Humans are great at multitasking so as a cook becomes more confident they start to overlap some of the tasks, checking what to do next while stirring the pot perhaps, or leaving a sauce to simmer while chopping the herbs. Computers do similar things.

Ratatouille: Rats doing massively parallel computing [cs4fn-link]

• In real life, the connection is food, but on the web the connections are links.

• You are revamping a hotel and are introducing new card locks rather than ones with keys. Your first thought is to connect all the doors to a computer network. Would that work?

Hotel Doors and Keycode algorithms [cs4fn-link]

• Technology changes society. Whether fire, wheels, guns or skyscrapers, all have made a massive difference to the way we work, live and play. Computer technology is accelerating the change and raising whole new issues society has to tackle.

The FUNdamentals of Computers and Society [cs4fn-link]

• Since the advent of the microprocessor by Intel in 1971, electronic computers have made their way into more areas of our everyday life. It is now unlikely that most people in the developed world will get through a day without some use of a computer. So what are the impacts of this technological revolution which benefits and detriments our society?

So What’s the Problem? The Impact of Computers [cs4fn-link]

• Imagine sitting with a laptop on the bank of a river as it flows through the city centre. Both sides of the river are lined with trees decorated with lights. Now imagine all the lights make up a giant computer screen that can display pictures or messages in 3D. And you control them…

Firefly [cs4fn-pdf]

More of our resources, including linked computing ‘story’ booklets can be found in our resources section. You may also want to look at cs4fn’s teacher resources or browse the latest cs4fn magazine.

It is suggested that:

• Primary teachers focus on the badge statements from the Pink to Purple row.
• Secondary teachers focus on the badge statements from the Purple to Black row.
• The white row overlaps with the KS4 qualification specifications.

This site uses Akismet to reduce spam. Learn how your comment data is processed.