




























































































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
The Raspberry Pi Education Manual
Typology: Lecture notes
1 / 137
This page cannot be seen from the preview
Don't miss anything!





























































































Introduction
The Raspberry Pi
Education Manual
The Raspberry Pi
Education Manual
Version 1.0 December 2012
100
101
110
111
The Greenfoot and GeoGebra chapters have been left out of this edition of the manual. These programs rely on software called a Java virtual machine, which is currently being optimised for the Raspberry Pi to improve performance. You can look forward to enjoying these chapters once we are happy that your user experience will be of the same high quality as the chapters themselves!
This manual is a bit different. It was written entirely by unpaid volunteers, all of whom are keen to share their expertise and enthusiasm for computing with as many people as possible.
What all of these contributors have in common, apart from a youth spent mainly indoors in front of ZX Spectrums and Commodore 64s, is that they’re all members of the organisation Computing at School (CAS). To find out more about CAS and its work promoting the teaching of computer science, head over to http://www.computingatschool.org.uk
Introduction by Andrew Hague A beginner’s guide to Scratch by Graham Hastings Greenfoot on the Raspberry Pi by Michael Kölling Experiments in Python by Andrew Hague Human-computer interfacing by Ben Croston GeoGebra: fun with maths! by Adrian Oldknow The Linux Command Line by Brian Lockwood Where next? by Clive Beale
Karl Wright, Robert Cruse and Paul Kingett of Publicis Blueprint
The following people offered contributions not covered in the manual, but available online and on your SD card.
Scratch Pong by Bruce Nightingale Caesar Cipher by Brian Starkey Fly by Alan Holt
Martin Richards (University of Cambridge) Simon Humphreys (Computing at Schools) Alex Bradbury (University of Cambridge/Raspberry Pi Foundation) Liz Upton (Raspberry Pi Foundation) Eben Upton (Raspberry Pi Foundation)
Introduction
This user manual is different. Don’t expect a dry-as-dust description of how to plug things in or where to find your serial number. And you certainly won’t learn how to create a spreadsheet or a presentation. That’s really not computer science, it’s something else entirely.
Instead, think of this manual, along with your Raspberry Pi, as a “computer science set”. Have you ever been given a chemistry set? With a chemistry set, you can make lots of bangs, smells and odd-coloured goop to learn all about elements, molecules and compounds.
We’re not going to make odd-coloured goop, but we will use experiments to discover how to program a computer to create your own games and animations, how to make graphics appear on screen just by typing in the right code (just like the developers of your favourite games do), how to get a cat to do your maths homework for you, and much more.
By doing all this, you will learn the basic principles of computer science. And that’s your first step on the journey to becoming a real computer programmer, a games developer, an über-hacker just like in the movies (only cooler and staying strictly within the law) and many other things besides. Exactly what, depends on you.
When we wrote this manual, our aim was for it to be suitable for most people of eight years and older. But that doesn’t mean it’s for eight year olds. This book is for anyone and everyone who is curious to know more about computing and creating computer programs. If you don’t have computer-programming experience but you want to get some and you’re looking for a place to start, this is it.
We begin the manual with some relatively easy experiments in computer science. Things then get progressively more challenging with each successive exercise. Try to spend time with each experiment and, once you’ve got an exercise doing what the manual says it should, feel free to change the code to see what happens: it’s one of the best ways to learn.
You can’t break your Raspberry Pi by doing any of the experiments in this book, but you might just surprise yourself with what you can achieve. You will be working through and learning genuinely difficult but exciting concepts, and laying the foundations for even more exciting discoveries in the future.
So, without further delay, have everyone in the room stand back: we’re going to do computer science!
A beginner’s guide to Scratch
We have tried to make this guide as straightforward to use as possible. To help you with the exercises in this chapter, we have already collected some little bits and pieces you will need, such as backgrounds, costumes for sprites, sound effects and complete examples of Scratch projects.
These can be found on the Raspberry Pi educational release SD card, in the folder /usr/share/scratch/RPiScratch. Wherever you see the SD card icon in the margin, that means we are referring to a file that can be found on your Raspberry Pi SD card. Go take a look! They can also be downloaded from Google Drive at http://goo.gl/MpHUv
Chapter 1
A beginner’s guide to Scratch
Learning objecTive: In this exercise, you will learn how to use the Scratch graphical user interface (GUI), how to create characters (sprites and costumes) and stages (backgrounds) for your projects, and how to add scripts.
reSourceS: The sprites “cat” and “roman_cat”, and the background “roman_stage”.
Have you ever been in a school play? If you have, you’ll know that to put on a play you need a stage, actors, costumes and a script. Think of Scratch as being a bit like a play. The actors are called “sprites”.
To make your sprites move and talk, you need to give them instructions. You do this by writing “scripts” using blocks of code from the Blocks Palette and Scripts tab on the left of the screen.
That’s enough introductions for now; let’s get to grips with the program itself.
Open Scratch from your Raspberry Pi’s Applications menu. You should now be looking at the Scratch graphical user interface, or GUI (pronounced “gooey”). Have a look around and tick the boxes below as you find these items:
Click on the Scripts tab, can you see any instructions for the cat to follow?
You can dress your sprites in “costumes”, and each sprite can have more than one costume. The “stage” is the area on the screen in which your sprites will perform the tasks you write for them.
A beginner’s guide to Scratch
First, let’s give the cat something to say. We’ll start with “Hello, World”. This is generally the first thing a computer programmer learns to do (don’t ask me why). As you are now learning a programming language, you’d better start with “Hello, World”, too.
To make the cat say “Hello, World”, we’re going to be working with “blocks”. These are handy pieces of code, each containing an instruction for your sprite to follow.
There are eight different types of block. These can be found in the top-left corner of the Scratch GUI. They are colour-coded, so remember the colours. Find out what they are and complete their names in the table below:
M... c...
L... S...
S... o...
P... v...
now, follow these simple steps to make your cat talk:
1
Click on the cat sprite in the Sprites List (bottom right) to make sure that it’s selected.
2
Click on the “Looks” button in the Blocks Palette to make the Looks blocks appear.
3
Click on the block labelled “say [Hello] for [2] seconds” and drag it to the Scripts tab.
4
Replace “Hello” with “Hello, World”. Double-click the block and your cat should say: “Hello, World”.
A beginner’s guide to Scratch
1
Click on your sprite to select it. In the Scripts area, click on the Costumes tab.
2
We are going to make a third costume for the cat, so click on Copy. A new cat costume should appear.
3
Select “costume3” and click on Edit. This will open the Paint Editor. Experiment with all the buttons and tools to find out what they do.
4
Once you feel at home, draw some clothes on the costume and click on OK. I gave my sprite a toga to make it look like a Roman Emperor.
5
Next, select the Scripts tab, click on the Looks button and select the “switch to costume [ ]” block.
6
Drag it under the Scripts tab and use the drop-down menu to select “costume3”. Double-click on this block and the cat will change his costume.
Now you have two blocks under the Scripts tab, one to say “Hello, World” and one for switching the costume. You can put them together by moving one so that it is just above or below the other. If a white line appears, the two blocks will snap together. Two or more blocks stuck together make a “script”.
that cat’s right: he looks like he’s lost in a snow storm. We need to give him a stage on which to perform.
QueSTion: Now that we have a script with two blocks, what happens when you double-click it? TaSk: See if you can arrange three blocks to make the cat change to his toga costume, say “Hello, World”, then change back to its normal costume.
A beginner’s guide to Scratch
It’s time to give that cat a stage. We could be lazy and just import a picture to use as a background, but let’s say that we’re feeling energetic and want to draw our own.
3
Alternatively, you can import a ready-made background. Select Stage, then Backgrounds and then click on the Import button.
4
Have a look at all the available backgrounds before you pick the one that you want. We chose “roman_stage”. Select the background by clicking on it with your mouse, then click on OK.
1
Click on the stage in the Sprite List (bottom-right of the screen). Now click on the Backgrounds tab for the stage and click on the Edit button.
2
As before, the Paint Editor will open. Draw a stage for your sprite. When you have finished, click on OK. You can make further changes at any time by clicking on Edit.
A beginner’s guide to Scratch
Learning objecTive: In this exercise, you will learn how to move sprites around the Scratch screen in a controlled way and how to tell a joke. reSourceS: The sprite “roman_cat” and the background “roman_stage”.
The cat is feeling a bit lonely, so we’d better create some characters for it to play with. You can either paint your own sprites or import sprites from the Scratch Costumes folder. Use the New Sprites buttons to do this.
On the right-hand side of the program, just below the stage and above the Sprite List, you’ll see three buttons: the New Sprite buttons. It’s these we’re going to use.
I want to add a time-travelling boy to my stage. To keep things simple, and to let us get on with some more programming, we’re just going to import him.
Click on the middle New Sprite button and import the sprite “boy4-walking-c”. But wait a sec: he’s facing the wrong way! No problem. Go to the Costumes tab and click on Edit. Use the Flip Horizontally button to make him face to the left.
paint neW Sprite
chooSe a neW Sprite froM file get a SurpriSe Sprite
A beginner’s guide to Scratch
There are also buttons to make your sprite bigger, smaller, rotate counter- clockwise, rotate clockwise, as well as flip horizontally and flip vertically. Try them out. I have also used the shrink button to make my boy smaller.
Let’s make the sprites tell each other a joke. You can do this using the speech block from the Looks category.
You could try a simple ‘knock knock’ joke to start with.
But wait! Are you finding that both of your sprites are talking at the same time.
To fix this, from the Control block add the “wait [1] secs” block to the second sprite, before the “say” block.
use the import Sprite button to find and import the sprite “boy4-walking-c”.
from the costumes tab, click edit and use the flip horizontally tool.
A beginner’s guide to Scratch
TaSk: Now add some code to your other character to move it to the right of the stage and then after a short delay move it into the centre stage.
Well done! You have certainly got the hang of moving sprites about the screen. Why not add some more characters to your stage and get them to tell jokes?
If you are having problems, you can load the sample code, “roman_play.sb”, to see how the program is put together. Feel free to change things and to experiment, as this is a great way to learn.
Learning objecTive: In this exercise, you will learn how to use repeat loops to create simple animations. reSourceS: The sprites “bee”, “female_flower” and “male_flower”, and the background “flower_bed”.
With its animated characters, Scratch is great for telling stories. I have to do a school science project on pollination, so I have decided to use Scratch to tell the story of pollination in moving pictures. You can help me by following these instructions to animate a bee in flight.
First, open the file “bee1” from the “Animals” folder in the Scratch gallery. Next, import the background “flower_bed”, this time from the “Nature” folder in the Scratch gallery. Delete the cat sprite; we don’t need it for this project.
Copy “bee1”, then edit “bee2” using the Select and Flip Horizontally tools, to make its wings point downwards. Together, the two costumes – “bee1” and “bee2” – will become an animation of a flying bee. copy your bee, then edit “bee2” so that its wings point downwards.
A beginner’s guide to Scratch
We need some script to make the bee look as if it is flying. We do this by switching from one costume to another and back again, making the bee appear to flap its wings. As we do this we will also make the bee move forwards.
Now, build your own script to make the bee fly. You will need blocks from Control, Looks and Motion. If you get stuck, have a look at the screenshot of our code. You’ll find it further on in the lesson.
this is the code to make your bee fly. instead of using the green flag to run my code, i will use a “when Sprite clicked” block from control. the code will run when i click on the bee.
Here are the steps you need to follow:
But we need to do this more than once. To make the bee fly across the screen, we might have to repeat this 20 times.
don’t panic! You are using a computer. Computers are fantastic at doing things over and over again. They can do this very accurately and never get bored, tired or fed up.
What we need is a repeat loop.
This is what we use to program the computer to repeat something over and over again. You will find the repeat loop (“repeat [10]”) in the Control blocks.