Computing: The Science of Nearly Everything

Computer Science…Research, Education and Policy

Posts Tagged ‘Raspberry Pi

We’ve sold Computer Science, now we have to sell what it means to be a Computer Scientist…

with 21 comments

Last week was an exceptional week for computer science education in the UK: Google donating 15,000 Raspberry Pis to UK schoolchildren, Microsoft calling for computer science to be taught from primary school, the Department for Education including computer science in the EBacc as the “fourth science” and UCAS 2013 entry statistics showing the highest increase in total applications for Computer Sciences (up 12.3%). This follows on from the launch of the CAS Network of Computer Science Teaching Excellence in September, the publication in November of the draft ICT Programme of Study for England and the announcement in January of a review of the ICT curriculum in Wales, reporting back in June.

So it appears we’ve sold the rigorous academic discipline of computer science; but not to simply increase the supply of programmers for the IT industry or to get more people to study computer science at university — the rationale has always been based upon computer science being of wider educational value to everyone, in the same way as we value physics and mathematics. But after a discussion with Pete Yeomans (@ethinking) at the CAS fringe event at Bett 2013 last week, it appears that we are now facing a more subtle and refined challenge:

This is the real marketing challenge: to truly change the wider perception of the discipline, we now have to sell what it really means to be a computer scientist, how to think like a computer scientist and the universal potential of this mindset.

And everyone needs to understand and value this.

Written by Tom

4 February 2013 at 9:31 pm

Programming is the start not the end: let’s develop computational thinking and problem solving skills

with 26 comments

(N.B. This is the original unedited version of an article published online today in The Telegraph)

I wholeheartedly support the high-profile initiatives to get more children programming, especially as part of the rethinking of the ICT curriculum in UK schools. The publication of the Royal Society’s report Shut down or restart? in January highlighted the unsatisfactory state of ICT education in the UK, recommending that every child should have the opportunity to study the rigorous academic discipline of computer science. With the disapplication of the existing ICT Programmes of Study and the development of a new programme of study as part of the National Curriculum Review in England, we are at an exciting crossroads, with a real opportunity to make computing and technology a key focus of our education system. But if there’s one lesson we should take away from the problems of the past 15 years it is that we must not focus on transient and superficial technology skills. Computer science is not programming (and vice versa) and we should be wary of teaching programming just for the sake of teaching programming, without thinking about why we want to get kids to program.

When Michael Bloomberg, Mayor of New York City, tweeted in January that he was going to learn how to program, there were strong opinions expressed implying that programming is not for everyone. This is untrue. One of the reasons that programming is increasingly perceived to be a 21st century literacy in our technology-dependent society is because it is ultimately empowering, developing the ability to manipulate and control your digital world. But the key message is that learning how to program is not the endpoint, but part of the journey of equipping children with the necessary digital skills to solve problems. Our high-level aim should be to develop technology-independent skills and techniques, such as data literacy and computational thinking.

Computational thinking is a way of solving problems, designing systems and understanding human behavior that draws on concepts fundamental to computer science. Computational thinking includes a range of mental tools that reflect the breadth of the field of computer science. Computational thinking means creating and making use of different levels of abstraction, to understand and solve problems more effectively; it means thinking algorithmically and with the ability to apply mathematical concepts to develop more efficient, fair, and secure solutions; it means understanding the consequences of scale, not only for reasons of efficiency but also for economic and social reasons. And this is why it is important to teach computer science in schools: we need to embed principles and theory to develop a deeper conceptual understanding of how technology works and how it can be leveraged to solve problems. There is a quote commonly misattributed to Edsger Dijkstra: “Computer science is no more about computers than astronomy is about telescopes.” — this is where computational thinking fits in, abstracting away the technology.

Hence, there is an important balance to strike between focusing on developing practical programming skills (i.e. being able to write code for a specific task) and embedding a deeper understanding of languages and constructs: principles of programming. We know technology changes quickly, so we need to make sure that when “Technology X” appears, we have transferable knowledge and a deeper conceptual understanding of how it works and how it can be used.

But there are significant challenges ahead in changing the status quo and enthusing and engaging children in schools. Programming is a creative endeavour and offers a tangible way for children to express themselves by hacking, making and sharing. We now have the hooks to use in schools e.g. Raspberry Pi, Arduino, .NET Gadgeteer, LEGO Mindstorms, etc, offering opportunities for embedding computing across the curriculum. But we also have to recognise the importance of developing this deeper conceptual understanding, the problem solving and analytical skills, as well as knowledge of the underpinning theoretical foundations of computing.

So let’s change the focus from just writing code to developing the crucial thinking skills and the ability to solve problems. To quote Jeannette M. Wing, Professor of Computer Science at Carnegie Mellon University: “Computational thinking is a fundamental skill for everyone, not just for computer scientists. To reading, writing and arithmetic, we should add computational thinking to every child’s analytical ability.

Raspberry Pi: Made in Wales!

with 3 comments

Today brought good news regarding the Raspberry Pi Revision 2.0: it is made in the UK! Or more specifically, in Wales: at the Sony UK Technology Centre in Pencoed, Bridgend.

The Raspberry Pi Foundation had always planned to manufacture in the UK, but last year had to make the decision to manufacture in China due to cost:

Last year, when nobody had heard of the Raspberry Pi, we had been unable to find a British manufacturer whose prices per unit (especially at a point where we were thinking of sales in the tens of thousands, not the hundreds of thousands you’re seeing now) would work for us, and who believed that the project would be enough of a success for them to risk line space for us. There was just no way to make the Raspberry Pi in the UK and keep the price at $25 for the Model A (which will be released before the end of the year at the promised price) and $35 for the Model B.

Happily, things change. After six months of negotiation, both Premier Farnell and Element14 will now move the bulk of their Raspberry Pi manufacturing to South Wales, with the initial contract seeing the Pencoed plant producing 30,000 Pis a month, creating around 30 new jobs.

The highlights of Revision 2.0 include the ability to power a Pi with a powered USB hub, a fix for an issue that caused problems when connected to TVs by HDMI, a new reset circuit, two mounting holes and “Made in the UK” etched into the PCB near the power jack (click on image below). Revision 2.0 has been coming off the Pencoed production line for the past few weeks, so they will have already started arriving in orders (I have two of the Revision 1.0 + ECN0001).

This is great news for the Raspberry Pi Foundation and great news for Wales.

Raspberry Pi Rev2

Credit: Homwer

Written by Tom

6 September 2012 at 9:12 pm

Cardiff Science Festival 2012

with one comment

CSF banner

July 2012 marks the return of Cardiff Science Festival (a.k.a. Gŵyl Gwyddoniaeth Caerdydd), after a break of nearly seven years. Science festivals are popping up all over the country, especially with the popularity of Cheltenham Science Festival and the long-running British Science Festival (this year taking place in Aberdeen), so it’s about time Cardiff put itself back on the science map.

So, starting Monday 9th July, Cardiff will play host to a spectacular line-up of scientists and science communicators from across the UK in a range of science-themed events, lectures, exhibitions, music and comedy shows across the city. There are more than forty family and adult events over the week, including a few in which I am taking part:

It’s shaping up to be an excellent week! While the majority of the events are free, many require registration, so please check the CSF website, as well as @CdfScienceFest on Twitter, for the latest news, information and updates.

Written by Tom

8 July 2012 at 10:31 pm

The importance of playing

with 6 comments

As you may already be aware, Richard Feynman is a hero of mine. I highly recommend his book, Surely You’re Joking, Mr. Feynman!, an edited collection of reminiscences published in 1985. While there are light-hearted anecdotes about safe-cracking, art, languages and samba, what he says about playing and actually doing the things you love has always resonated with me:

But when it came time to do some research, I couldn’t get to work. I was a little tired; I was not interested; I couldn’t do research!

Then I had another thought: Physics disgusts me a little bit now, but I used to enjoy doing physics. Why did I enjoy it? I used to play with it. I used to do whatever I felt like doing — it didn’t have to do with whether it was important for the development of nuclear physics, but whether it was interesting and amusing for me to play with. When I was in high school, I’d see water running out of a faucet growing narrower, and wonder if I could figure out what determines that curve. I found it was rather easy to do. I didn’t have to do it; it wasn’t important for the future of science; somebody else had already done it. That didn’t make any difference. I’d invent things and play with things for my own entertainment.

So I got this new attitude. Now that I am burned out and I’ll never accomplish anything, I’ve got this nice position at the university teaching classes which I rather enjoy, and just like I read the Arabian Nights for pleasure, I’m going to play with physics, whenever I want to, without worrying about any importance whatsoever.

Within a week I was in the cafeteria and some guy, fooling around, throws a plate in the air. As the plate went up in the air I saw it wobble, and I noticed the red medallion of Cornell on the plate going around. It was pretty obvious to me that the medallion went around faster than the wobbling.

I had nothing to do, so I start to figure out the motion of the rotating plate. I discover that when the angle is very slight, the medallion rotates twice as fast as the wobble rate — two to one. It came out of a complicated equation! Then I thought, “Is there some way I can see in a more fundamental way, by looking at the forces or the dynamics, why it’s two to one?”

I don’t remember how I did it, but I ultimately worked out what the motion of the mass particles is, and how all the accelerations balance to make it come out two to one.

I still remember going to Hans Bethe and saying, “Hey, Hans! I noticed something interesting. Here the plate goes around so, and the reason it’s two to one is…” and I showed him the accelerations.

He says, “Feynman, that’s pretty interesting, but what’s the importance of it? Why are you doing it?”

“Hah!” I say. “There’s no importance whatsoever. I’m just doing it for the fun of it.” His reaction didn’t discourage me; I had made up my mind I was going to enjoy physics and do whatever I liked.

I went on to work out equations of wobbles. Then I thought about how electron orbits start to move in relativity. Then there’s the Dirac Equation in electrodynamics. And then quantum electrodynamics. And before I knew it (it was a very short time) I was “playing” — working, really — with the same old problem that I loved so much, that I had stopped working on when I went to Los Alamos: my thesis-type problems; all those old-fashioned, wonderful things.

It was effortless. It was easy to play with these things. It was like uncorking a bottle: Everything flowed out effortlessly. I almost tried to resist it! There was no importance to what I was doing, but ultimately there was. The diagrams and the whole business that I got the Nobel Prize for came from that piddling around with the wobbling plate.

I truly believe in the importance of playing and solving problems that you find interesting; in fact, that’s why I do research. While I strive to adhere to this philosophy, it is not always possible — especially considering the academic research environment in which we currently reside, with its minimum publishable unit (as well as the shadow of the Research Excellence Framework in 2014).

But the main point I wanted to draw from this extended Feynman quote is how important it is in education to stimulate curiosity by playing: tinkering, fiddling and finding interesting real-world problems to solve. And while Feynman was talking about physics, I think this is especially relevant for computing: it is crucial that we give students something to play with! It should be trivial to engage students in computing and technology, but I think this is something that is (in general) missing from UK schools.

However, at a TeachMeet I attended in Reading last night as part of the 2011 Microsoft UK Partners in Learning Forum (where I am giving a talk today), I met teachers who were showcasing incredible examples of innovative teaching to engage students in computing and technology. But as with talking to members of the Computing at School (CAS) group, it is very easy to preach to the converted; it is therefore crucial that this “network of excellence” interacts with people who are currently outside of the network who need help and support.

So let’s try and get a Raspberry Pi, Arduino, LEGO Mindstorms, .NET Gadgeteer, Kinect et al. into the hands of kids at school (as well as exposing them to Scratch, Kodu, Alice, Greenfoot, etc) so they can program, hack and solve interesting problems.

But more importantly, play.