Raspberry Pi Education Manual, Lecture notes of Advanced Computer Programming

The Raspberry Pi Education Manual

Typology: Lecture notes

2016/2017

Uploaded on 01/12/2017

Massimiliano.Elico
Massimiliano.Elico 🇮🇹

4.5

(2)

2 documents

1 / 137

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Introduction
1
Notes:
®®
®®
The Raspberry Pi
Education Manual
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Partial preview of the text

Download Raspberry Pi Education Manual and more Lecture notes Advanced Computer Programming in PDF only on Docsity!

Introduction

Notes:

The Raspberry Pi

Education Manual

The Raspberry Pi

Education Manual

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.

Version 1.0 December 2012

100

4. Human-computer interfacing ......................................... 113

4.1 Twitter ....................................................................... 115

4.2 Email application ....................................................... 116

4.3 Remote Procedure Call ............................................. 118

4.4 Web applications....................................................... 120

4.5 General Purpose Input/Output (GPIO) ....................... 125

101

5. GeoGebra: fun with maths!.....................................................

Coming soon!

110

6. The Linux Command Line ............................................... 152

6.1 Commands are just programs ................................... 153

6.2 Command syntax and file structure ........................... 155

6.3 The superuser ........................................................... 161

6.4 Creating and destroying files and directories.............. 163

6.5 Remote access to the Raspberry Pi .......................... 166

111

7. What next? .......................................................................... 169

Where are the Greenfoot and GeoGebra chapters?

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 was brought to you by...

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

Manual Contributors

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

Manual Production

Karl Wright, Robert Cruse and Paul Kingett of Publicis Blueprint

Digital Contributors

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

Special Thanks

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

Notes:

What am I going to learn?

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.

Who is this manual for?

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.

Will I break it?

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

Scratch is visual programming environment. With it, you can create your

own animations, games and interactive art works. And, while you’re

doing that, you’ll learn some important principles and techniques of

programming without actually having to write your own code. It’s a

great way to get started. To find out more about Scratch, visit the web

address scratch.mit.edu

Notes:

How to use this guide

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

A beginner’s guide to Scratch

Chapter 1

A beginner’s guide to Scratch

Lesson 1.1: Scratch basics

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.

  1. The stage (a big white screen)
  2. A sprite (clue: it’s a cat)
  3. The two costumes that your sprite can wear (click on the Costumes tab)
  4. The Scripts tab

Notes:

A beginner’s guide to Scratch

Let’s have some fun with the cat

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.

Making the cat talk

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”.

Notes:

A beginner’s guide to Scratch

changing the way the sprite looks

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”.

Notes:

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.

over to you

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

The stage

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.

Notes:

A beginner’s guide to Scratch

Lesson 1.2: Moving sprites

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.

Notes:

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.

Make your sprites tell a joke

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.

Notes:

A beginner’s guide to Scratch

over to you

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.

Lesson 1.3: Animation (loops)

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.

Notes:

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:

  1. Start with costume “bee1”.
  2. Add a “wait [0.2] secs” block, so that the viewer has time to see the costume.
  3. Move the bee on 10 steps, before switching to costume “bee2”.
  4. Add another “wait [0.2] secs” block, so that the viewer has time to see the second costume.
  5. Move the bee on another 10 steps.

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.

Notes:

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.