Tuesday 31 December 2013

Open Data

I like Open Data, and I don't use it nearly as often as I should do in class.
Open Data is a great resource for classes, it can be used in programming lessons, spreadsheets, databases and they are just the IT/Computing related lessons I can think of from the top of my head, let alone the other subjects it could be used in. Using Open Data gets away from using the boring, repetitive and non-real world examples that get used in classes like film databases, or music libraries, etc.
So where can you get Open Data from?
My post the other day on the CareerHack Challenge pointed to one source of Open Data that could be used.
In November 2013 there was a Parliament Hack event run by ReWired State and UK Parliament. There was a great page with links to Open Data etc (which you can find here) that they shared for the event.
Then there is the official data.gov.uk which has all types of official data for you to use.
If you look at the ReWired State site there is a page of up and coming Hack Days. As I write this there are two coming up one in January (a Foreign and CommonWealth Office Hack Day) and a National Hack the Government Day in March. The National Hack the Government Hack Day has a "micro site" for it here. There is a great google doc spreadsheet on there that has lots of links to Open Data sources (go get it).
By keeping an eye on these Hack Days, and the hash tags they use on twitter it is possible to discover new sources of Open Data or remind you of new ways to use existing ones already knew of.
You can also get MP expenses data! (which can be found here)
The nice thing I like about teaching programming (and this would apply to spreadsheets etc) is that it is easy to embed functional skills like maths into the lesson. For instance take the MP expenses data you can get the students to analyse their local MPs expenses, and answer questions like what is the average (mean) rent paid by an MP, and how does your local MP's rent compare? Get them to use different measures of average. Or how about getting them to do some simple stats like standard deviations and variance on the data?
As my CareerHack post showed the data for that requires making requests to a website and getting JSON responses. While others like the MP data comes as a csv file. This gives a lovely variety in getting the students to access data in different ways. Real world examples.
Open Data is such a great resource. It gives students real world data to work with, gives opportunities for students to access data in different ways, and gives opportunities to involve students in wider issues like politics and social issues.



Saturday 28 December 2013

CareerHack AppChallenge 2014

The UK Commission for Employment and Skills (UKCES) are running a competition. They are billing it as a £20,000 App Challenge. Which technically it is, HOWEVER that is the sum amount of the prize money on offer. The actual first prize is £10,000, with a second prize of £5,000. Now that doesn't add up to £20,000 does it? Well it does if you add in the special prize of £5,000 for any student in the age range 16-24, and studying in Further Education within the UK. Pretty good hey?

So what are UKCES looking for to be in with a chance to win this money? They are looking for people to design apps that use the data from the Labour Market Information (LMI) for All website in "new and innovative ways".

The contest started on the 18th November 2013, and closes at 5pm GMT on the 21st February 2014.

Go read up on the rules etc (links below)

You can contact on Twitter: @appchallenge and @lmiforall
They mention these hashtags to use: #careerhack #lmiforall

Further Info Here:
Contest Web Page
UKCES Page
LMI for All Website

When I get back I will be encouraging my students to enter this competition. I think this is a great idea, and I hope some of them will take up the challenge. It would be nice to use our STEM Fair in March to show off some of the entries.

Now here is a first, considering the name of this blog, there hasn't been any coding so far.
So I knocked up a small Python program that accesses the LMIforAll api to get a list of Standard Occupational Codes (soc) for a keyword. A lot of the other api's need this soc code to work.



Not the best example, and not the best coded Python by a mile. But it does give a very simple example of accessing the LMIforAll api, which is sadly missing at the moment from their site.
I say sadly considering the fact they have a special prize for students, and with the popularity of Python in schools/colleges I think this is a little bit of an oversight. Yes they have an example of a web app (HTML/javascript if I remember correctly, I didn't investigate it too much), and there is an Objective C example I came across, but nothing in Python.

You can get further info on the requests library here. How to install the requests library here.

UPDATE1: Added use of Syntax Highlighter for displaying the Python code
UPDATE2: Note the Python code is 2.7 

Saturday 21 December 2013

A Concern About KS3 Computing

"understand several key algorithms that reflect computational thinking [for example,ones for sorting and searching]; use logical reasoning to compare the utility ofalternative algorithms for the same problem" [The National Curriculum in England - Framework Document, Sept 2013]
While I was preparing for my talk on mapping Python to Keystage 3 (for sake of openness I don't teach KS3, I teach 16+) the above quote stood out to me and made me very concerned about a new possible future of the teaching of computing.
Last year in a discussion with an examining board representative a comment was made about how for databases the vast majority of submissions were for film databases. The impression given was there was no variety, no "real world" application.
When I saw the above quote and the examples given I instantly feared that the new KS3 computing version of the film database is going to be sorting and searching algorithms, especially the bubble sort.
I know how busy teachers are (being a lecturer at an FE college gives me a bit of insight here), I also have a pretty good idea the sort of background a lot of those who will have to teach this have (the CAS site is great for this sort of thing, getting a pulse of things, and I have seen the resources going up to be shared). All the indications at the moment seem to be a focus on sorting and searching, and very little on other key algorithms. And busy teachers with very little time will fall back on resources available to them, and what they are comfortable with.
So I know what you are thinking, "that's fine and dandy saying this but what other algorithms should we be teaching?" This is where I think the DoE wimped out. They should of given more examples to guide teachers. By just mentioning sorting and searching that is all some teachers will cover. Especially if they do not have a computer science background.
Does the book 9 Algorithms That Changed The Future just cover sorting and searching algorithms?
No, it covers cryptology, data compression, pattern recognition, error-correcting, as well as page rank and indexing.
And there is the hint about what other algorithms should be covered.
How about a free resource in the flavour of the month programming language for education Python? Here is a pdf book Hacking Secret Ciphers with Python: A beginner's guide to cryptography and computer programming with Python , which you can also buy (please do, as the proceeds go to support the EFF) as a physical copy. So no excuse not to also cover basic cryptology now along side sorting and searching algorithms.
I know time is in very short supply but this Christmas "break", however if you are a computing teacher, or moving from ICT to computing get the book Algorithms Unplugged. It's very accessible, and will hopefully widen the options available on what algorithms you teach.
The book covers 41 algorithms in 4 main areas (sorting and searching, arithmetic and encryption, planning coordination and simulation, and optimization) written using "colloquial and nontechnical language". So there should be plenty there to choose from.
I'm not saying don't cover sorting and searching, they still need covering. What I am saying is make sure you don't place so much emphasis on them to the detriment or exclusion of other algorithms.
Hopefully this has given some food for thought, pointed you in the direction of where to go for ideas and information on algorithms, and helped me sleep at night knowing my worries are unfounded.


Tuesday 17 December 2013

Games Britannia 2014 Program


Below is a summary of the program of events that Games Britannia have lined up for 2014 with links.
  • 16th January 2014 - Sumo Digital Coding Master Class (click HERE for full details)
  • 24th January 2014 - Industry Lectures and GB Competition Brief (click HERE for full details)
  • 10th - 12th June 2014 - Schools Workshops (click HERE for full details)
I will say I already have my ticket booked (via the EventBrite page) and there are not many tickets left when I just looked. So I will write up the days event for here when I go.

I am interested in the Games Britannia Competition Brief, it's something I want to have my students on the Level 1 and 2 have a go at this year.

Sadly the Sumo Digital Coding Master Class is for University students only. 
While it really is a bit of a lottery getting the workshops you want for the Schools Workshops. The problem I have is that I have 93 students I'd like to take to that! Will have to discuss logistics with the organisers before hand. 

If you get to any of the above events let me know how you got on in the comments. If you are going on the 24th January then say hi to me. I will be wearing a retro video game t-shirt of some sort (probably a manic miner one).



Saturday 7 December 2013

CamJam December 2013

Just some snaps taken from the CamJam (a Raspberry Pi Jam in Cambridge).
The Picade currently shipping to the kickstarter backers! and will be available to buy some time next year. I missed the kickstarter so will have to wait. But be sure I will be buying this.
Above: Now this is what I call a robot arm, unlike the Maplin one I have, this one looks less of a toy.
Below: Seven Segments of Pi, a kit that can be bought that teaches electronics and programming.
Below a fully kitted out robot controlled by a Raspberry Pi, this has every sensor you can connect to a Pi built by Matthew Timmons-Brown aka The Raspberry Pi Guy.
Below Ryan Walmsley aka Ryanteck with the new robot kit he is going to be selling real soon.
If you haven't been to a Raspberry Jam then the question has to be why not? Especially if you are in education and/or a Pi user. You get to meet fellow enthusiasts, get ideas for projects from seeing what others have been doing (show and tell area) or from discussions with others, learn (workshops and talks), and basically have a good time.
A word of warning they can be expensive! With online retailers attending with their wares, it's very easy to walk out with a load of goodies. As my little bundle below shows (another Pi, a case, and a wireless keyboard) from the show today.
It is nice to have the online retailers at these events as they give you that chance to physically see the goods before purchasing.
Hey you even get sneak peak at stuff like the HDMI-Pi kickstarter project, which is an affordable 9" HD screen for the Pi (photo about of Dave and Alex doing their speed talk about it). Some news was announced like the dual 5v and 12v power , 2 HDMI ports, and a USB port that provides 5v power.
Next CamJam is 8th February 2014.
Update: Below some close up (ish) photos of the HDMI-Pi.
Update 2:
Below the Pibrella on a Raspberry Pi



Friday 29 November 2013

Another Open Day Another Display

This week instead of a parents evening we had an open day at work. Which was very busy. So busy in fact I didn't even get a chance to make use of the free beverage that we are entitled to for doing the open day. Anyway I had my Raspberry Pi's out again. This time I had two running, one with the Pi-Lite (with the same code as the parents evening but different message scrolling), and the other running the Pi Glow. I was going to write some Python to show off the Pi Glow, however after running the demo code that came with it, for my needs I couldn't improve on it, so I ran with that. You can see the setup running in the embedded Instagram clip above.

So now I am 50% there of having my own version of the PiHub demo I saw at the last Cambridge Raspberry Pi Jam (CamJam). Which was basically 3 Pi's running off the one PiHub (see below). Next one I will add to this demo will most likely be a Pi running the PiFace Control and Display. I'd like to get the case for this however at the moment it's a fiver under their limit for using a debit/credit card with them, and there is nothing else I want from them!!! What a ridiculous limit, oh well I'll make do without for now. The other Pi for my demo will most likely be the PiBrella (not yet got my hands on one hopefully at the next CamJam, but shown briefly in the clip below) or the LedBorg (which I have on my Model B revision 1 Raspberry Pi).

What I like about having Pi's set up at events like the open day or parents evening is they firstly look interesting. Secondly they are a talking point for prospective students and their families. While we are talking Pi's and what they can be used for, I'm able to talk about the projects one or two of my students are currently working on (I'm lending Pi's out at the moment in the hope we will have some interesting projects to show at the next STEM Fair at work sometime after Christmas, like a USB Robot arm controlled within Minecraft on the Pi). Sometimes the prospective student will have one at home that they have not used, and it gives them a little inspiration to go back home and try doing something with it.
Anyway I hope this post has given folks some more ideas for using Pi's at open days. I'd love to hear how you have used them.

Saturday 23 November 2013

Hour of Code Event in Sussex

Following on from my post yesterday about the Hour of Code next month came across this tweet today about one such event happening in Sussex.

 

Here is the full link http://www.eventbrite.co.uk/e/cas-sussex-raspberry-pi-hour-of-code-tickets-9490150295?aff=estw

If you go would love to know how you got on.

 

Friday 22 November 2013

An Hour of Code

Over in the US of A they have a Computer Science Education Week running from the 9th to the 15th December. Which frankly I think is a fantastic idea. Part of this week involves an activity called "An Hour of Code". As the CSED Week site describes it, an Hour of Code is:

"... a one-hour introduction to computer science, designed to demystify "code" and show that anyone can learn the basics to be a maker, a creator, an innovator."

If you look on the site there are links to some tutorials that teachers/lecturers can use for their Hour of Code. If I remember correctly I think some UK teachers/lecturers are also going to participate and run sessions.

I am going to run an Hour of Code session for my Level 2 tutorial group that week. It also happens to be their final week before breaking up for the Christmas holidays (don't worry non teaching readers I will still be working right up to Christmas Eve).
I'm undecided at the moment if I will run my Hour of Code with Python or C#. My C# activity is more visual and has the students producing a little app that moves a picture box round the screen depending on which buttons they press.
Actually while typing this I may go with a Pi/Minecraft/Python activity - students love Minecraft and those sessions at Raspberry Pi Jams are always popular. The only drawback is the setting up and packing away, and at the moment I only have 5!
Right I have some thinking to do, and you now know about the Hour of Code.

Parents Evening Name Tag

This Wednesday was our parents evening. So I quickly cobbled together a 'hi tech' name tag for the table I was on (hopefully that's what you will see above (direct link).
The name tag is basically a Raspberry Pi (Model B to be specific) with a Pi-Lite being powered by a battery extender, and a glowing USB cable.
I ran the Pi 'headless' (i.e. without a monitor or keyboard). To start off the python script I had to ssh into the Pi from my Macbook Pro using an ethernet cable (DadHacker link).
The actual script I used was a modified version (read cut down to just one string) of this one from Raspberry Pi Spy.

What to say?

First posts of a blog are always hard, well for me they are.

Last week I did a talk at a local CAS (Computing at Schools) meeting on Python and KS3. I knew I was going to be doing this talk for a while (before the Summer holidays), and I had been thinking "how do I support this talk?".
The idea of a blog quickly came to mind, and the name manic coding followed very quickly after. It kind of reminded me of my old retro games I enjoyed playing, such as Manic Miner and Jetpac. But also I thought it caught the mood of programming in education at the moment.
With the change of direction within the curriculum, moving from ICT to computing, there seems to be an air of panic. Due mainly to the Government not putting in any training budget to bridge the skills/knowledge gap, and expecting teachers to somehow get the knowledge and expertise required.
Luckily there is a great community out there on the CAS website, where sharing resources, constructive and informative discussion are the norm.

So here we are with the first post of Manic Coding.


NEWS: Wolfram Alpha comes to the Pi
Yesterday Wolfram Alpha announced to the world that in future releases of Raspbian the official Linux distro for the Raspberry Pi will now include a version of their Wolfram Language and Mathematica software.
As they point out in the post announcing this, the only other time that there software was bundled with a machine was the Next Cube from Next, which later got bought out by Apple and provided the basis for OS X. I wonder what did happen to the CEO of Next? (Yes I know it was Steve Jobs)

Wolfram Post Announcing Now on Raspberry Pi
Raspberry Pi Site Announce Wolfram Language and Mathematica on Pi, also includes how to get hold of it now.

What is exciting for me about this announcement is the fact that the Wolfram Language also supports physical computing via the GPIO (there is an example in the Wolfram link).
I've not used either the language or Mathematica, but I will be playing with it over the next few months (I'm sure I will write something about it on here).
I do like the potential that this gives for making some interesting lessons, and opening up the Pi for use in other subjects other than computing.

With Java (or the official Oracle port now part of Raspbian) the Raspberry Pi is becoming a nice little machine for those with a small budget to learn to program. For me the big advantage of the Raspberry Pi over using a PC/Mac/Linux computer is the cost and how easy it makes physical computing and connecting devices. It's being able to light up LED's, use a sensor, or control a robot that brings life to  the subject and gets children hooked.

See ya in the next post...

PS I think I'm down for doing a second talk in January on the Raspberry Pi and the devices that you can attach to it. I'm not sure how this will work yet. But an idea is formulating in my head as I type this up. I want it to be very hands on this time.