Raspberry Pi - Why, What, How: Alan Mycroft Computer Laboratory, University of Cambridge
Raspberry Pi - Why, What, How: Alan Mycroft Computer Laboratory, University of Cambridge
CAMBRIDGE
15 June 2012
CAMBRIDGE
My initial perspective: interviewing 18-year-old applicants for the Computer Science BA at Cambridge. Question: tell us about the most interesting program youve written. Answer c. 1990: used a BBC micro to write a program which . . . Answer c. 2010: written a web page and used a package to . . . During 20002010 applications for Computer Science halved not just at Cambridge. We cant produce enough Computer Science graduates for industry demand. [But beware that some degrees have low employment rates.]
15 June 2012
CAMBRIDGE
Reason 1: The b ete noir: ICT Key Skills (a new name for the subject called Typing when I was at school). Focus on presentation. Bright kids knew it already. Gove/Schmidt not t for purpose. Royal Society: Digital Literacy vs CS vs IT. But teachers have tried their best with the prescribed syllabus (with some seditious heroes doing proper CS). Delicate issue: moving sensitively from The ICT teacher was appointed because they already edited the school glossy to where we want to be. Management (and Government) underestimate this.
15 June 2012
CAMBRIDGE
Reason 2: Over-packaged and fragile hardware and software raises the activation energy for doing anything. [Poorer families] Youre not taking the back o the computer You installing Linux has lost all my photos. [Richer families] Where are the screws to enable school-age children to take their expensive Macbook Air to bits? [Schools] How clever of XXX causing all the computers in the school computer suite to show that amusing picture. [Software] Its all so complicated nowadays that I cant see how to start doing anything. Windows lacks pre-installed software too.
15 June 2012
CAMBRIDGE
In the UK (and Europe and North America) Computer Programming in the popular mind goes in and out of fashion on a 25-year cycle 1960s, late 1980s, 2010s often brought about by some change in technology. Important not to repeat the boom-and-bust everyone should be a programmer. separation into Digital Literacy and Computer Science is useful but important to realise that these are just parts of a spectrum and childrens talents are also a spectrum.
15 June 2012
CAMBRIDGE Dictionary.net etc: Programming. The most fun you can have with your clothes on.
While many people here agree with this, its not generally held, also: Programming. A pastime similar to banging ones head against a wall, but with fewer opportunities for reward. Important to teach Computational Thinking (Wing 2006, also YouTube) Computational thinking as fundamental as reading, writing and arithmetic Incestuous: Computing and Computers enable the spread of Computational thinking E.g. how does one sort a pack of playing cards? An algorithm. See A-level introduction on www.cl.cam.ac.uk/users/am/teaching
Raspberry Pi Why, What, How 6 15 June 2012
CAMBRIDGE
Well, as a University were certainly at one extreme. But we suer from the same forces that aect us all. Its important for the community to get children of all abilities interested in computing by doing fun things not just proper academic things. E.g. programming lters which adjust the view of the school web pages when selected . . . . E.g. games programs. We want schools to initiate Computations Thinking, and open opportunities to all pupils. Of course, over years some pupils will develop more than others and well still be looking to recruit the best, but we want to raise the standard of all this benets UK plc too.
15 June 2012
CAMBRIDGE
Programmers often talk about the spiral development method write a full system with unsophisticated components and gradually rene these into the nal system. Theres a danger of over-developing one component prematurely. Claim: this also applies to teaching a subject like Computing. Teach principles/ideas over detail. E.g. not the half-dozen dierent ways of drawing boxes round things in Microsoft Word. Someone later can teach more detail but only for students who nd it interesting (e.g. degree level). E.g. modern processor design as a renement of fetch-execute cycle.
15 June 2012
CAMBRIDGE
15 June 2012
CAMBRIDGE
10
15 June 2012
CAMBRIDGE
Its just an slightly under-powered computer without a screen, and anything you can do on it you could do on a laptop True, but . . . . . . its cheap, you cant wreck it with software, it changes mindsets. access to physical pins. What about Arduino? Similar aims, but . . . . . . Raspberry Pi runs Linux
11
15 June 2012
Moores Law
UNIVERSITY OF
CAMBRIDGE
12
15 June 2012
CAMBRIDGE
Quoting Wikipedia: Moores law is a rule of thumb . . . whereby the number of transistors that can be placed inexpensively on an integrated circuit doubles approximately every two years I.e. twice as powerful every two years. Alternatively: For a given design the size of chip needed (and hopefully the cost) halves every two years. So, we can make a chip which has a 2005-state-of-the-art graphics card and a 700MHz ARM (and 256MB memory) for a very small number of dollars.
13
15 June 2012
$25 computers
UNIVERSITY OF
CAMBRIDGE
The BBC micro was more expensive than $25, but relied on the existing television for display. Everyone has as TV or a spare monitor. Eben Upton (then also doing admissions at Cambridge) realised in 2006 that he could make a computer using an Atmel chip for around $25, using external keyboard and display. Probably too geeky. But Moores law caught up, and repeat the process with an ARM-with-graphics-card processor and put Linux on it. Industry standard.
14
15 June 2012
CAMBRIDGE
But: people already had built similar chips for HDTV set-top boxes.
All Linux needed was Upton to convince Broadcom that virtual memory hardware was just what we needed in a chip . . . [Broadcom have been extremely supportive.]
15
15 June 2012
Commercial stu
UNIVERSITY OF
CAMBRIDGE
We decided to found the Raspberry Pi Foundation as a charity. lots of support from various sources whod have wanted shares if we were a company. synergistic with the University being a charity. aggressively drove down the BOM (bill of materials) for the Raspberry Pi hardware. Just enough prot margin to get big suppliers (Farnell, RS) to build and pay royalties to the Foundation. But: success was even greater than anticipated demand crashed their websites.
16
15 June 2012
Where we are: Weve designed and are delivering cheap hardware. Theres a fashion rush to get one. But what happens next?
CAMBRIDGE
Danger: parents play with it for a few hours (recovering their lost youth with a BBC Micro) and then it gets put on a shelf. Luckily, the Government (Gove), Google (Schmidt), and exam boards have amplied the Computer Science theme. But we need to avoid the everyone should be a programmer boom-and-bust, so need tools which give friendly introduction to programming (and Computational Thinking) ideas. Critical needs: software, teaching materials and sharing community.
Raspberry Pi Why, What, How 17 15 June 2012
CAMBRIDGE
We like: Scratch Python But we dont think suitable: C/C++ [too many ways to learn bad habits]. chainsaw. Java is OK, but theres a big learning curve centred around design your class hierarchy rst.
18
15 June 2012
CAMBRIDGE
A desktop-style WIMP (Windows, Icons, Menus, Pointer) is attractive. But the BBC-micro-style BBC Basic is the command line had an immediacy or is this rose-coloured glasses?
19
15 June 2012
Teaching materials
UNIVERSITY OF
CAMBRIDGE
Its very dicult to nd and share suitable teaching materials there is a plethora of sites which individuals have created. But there is too much fragmentation if everyone downloads dierent tools or creates their own. Need a repository and advice for suitable course materials (probably community based). STEMNET (www.stemnet.org.uk)? Andrew Hagues session Educational User Manual for the Raspberry Pi here.
20
15 June 2012
CAMBRIDGE
It would be nice to recreate the 1980s buzz whereby students could write computer games in their bedroom and sell them for a prot. Money gives kudos to what can be seen a geeky activity. Do we want to support this? If so, then do we help establish web-sites with upload/download for fee? Or even an App Store model perhaps even with an altruistic marker on each bit of software noting the percentage donated to charity?
21
15 June 2012
Conclusions
UNIVERSITY OF
CAMBRIDGE
Weve seen why we designed the Raspberry Pi what is it how we created it. Its created a buzz and oers a do what you want, program on bare metal platform. What we are lacking (and the Raspberry Pi Foundation cannot provide) is getting a coherent set of materials we can use with it to teach Computational Thinking and principled ideas from Computer Science.
22
15 June 2012
Abstract
UNIVERSITY OF
CAMBRIDGE
This talk discusses the motivation and history of the Raspberry Pi Computer and speculates about future developments and uses. Highlighted drivers include the post-2000 loss of Computer Science knowledge among applicants for the Computer Science degree at Cambridge, and a non-conventional interpretation of Moores Law. As ever serendipity played a signicant part (e.g. Broadcoms support for Eben Uptons use of their processor). The big remaining issue is making sure the hardware is fully exploited educationally, and this depends on software. Does a standard Linux desktop serve as a good basis? Is it over-packaged for those who really want to program on bare metal? Scratch and Python oer good support for programming for certain groups but was the convenience of BBC Basic just a rose-coloured view of history or did it oer a now-lost additional immediacy? How can sharing of material, both by teachers and students, best be achieved for Raspberry Pi, bearing in mind the disparate needs of dierent age groups? Do web sites suce or would the App Store model work better?
23
15 June 2012
CAMBRIDGE
How do we sort a list of numbers (printed on cards) into order? Just do it Type them into Excel, click Data/Sort . . . Break it down into simpler parts (Computational Thinking) E.g. we can Find and remove the largest (and output it) Repeat until list is empty But how do we nd the largest? Break it down into simpler parts (Computational Thinking)
24
15 June 2012
CAMBRIDGE
For older children we can work out how many comparisons of two items we make in total. But, is this the best possible? No alternative algorithms can work faster Easy maths can get n2 /2 for the rst sort, but n log2 n for a better one. This has practical conseqences these dier by a factor of 50 when n = 1000 and 25 000 when n = 1 000 000.
25
15 June 2012