A Flash resource for Python

As I introduce Key Stage 3 groups to Python, I’m finding that some of them really “get it” and have started trying to develop and experiment with code, while others really struggle to make any sense of it at all.

In order to help them work more independently at all levels, to free me up to give more targeted help where needed, I wanted a resource I could use that would offer support at all levels.

I had an idea for an interactive Flash resource, to offer different levels of challenge, with support available if needed. I keep looking at Flash, telling myself that it’s not worth going into, and then reconsidering, so it was an ideal opportunity to see if I could make good use of it after all.

developing a resource in flash

Developing a resource in Flash

I came up with a simple idea for a coding project – working out the costs of something with a fixed element and a sliding element – that was within their mathematical understanding as well as programming experience but complex enough to require some thinking. Once the basic idea was there, I found ways to develop it, from a simple changing of the fixed and sliding costs to adding a discount which would require an if statement, and started to build my resource.

This was my first time creating an interactive flash resource for a specific purpose, but having tried out various tutorials I had at least a vague idea of how it worked, and as I progressed I found that all that theory started to make sense and I got a much clearer idea of how to proceed.

The end result was a resource that posed a problem, provided listings for students to copy if they needed, and then provided three levels of challenge, each of which could be tackled independently, again with code to copy if needed.

I tried it out with students of various abilities, all of whom are very new to Python, and all completed the basic program, the majority tried at least one challenge and the bravest went straight to the highest level of challenge.

Easy challenge

Easy challenge

While I wouldn’t recommend copying code indefinitely, students at the early end of learning to program definitely benefit from having something to work from, as checking capitals and spelling can be enough of a challenge to start with! They are starting to look more carefully at what they do, and to see how to adapt their code, and some are starting to show the buzz of excitement at getting a program running that shows they are getting a real sense of achievement at coding rather than just being an end user of software.

I’ve since adapted my resource to a second project, and while the first took a couple of evenings to complete the second one took only a couple of hours, and felt much easier to do, proving that Flash is a viable tool for creating interactive resources.

Both resources are available on my website.


Raspberry Pi time!

Although I have had the pi out and working once before, it’s been a while and there’s a new distribution out for the software, so it was like starting all over again: the first thing I needed to do was to download and unzip the new distribution (Raspbian wheezy) from the pi website.  This needs to be copied onto an SD card before you start.  You have to use a disk imager to set up the SD card, it can’t just be copied over, but I’d already downloaded a free disk imager ready.

pi with case

pi with case

The operating system for pi is a linux distribution, with a graphical interface very like Windows available. It also comes preloaded with several pieces of software such as Python and Scratch, making it very fast to get up and working for programming purposes.  It took about 20 minutes altogether to download the software and copy it onto the SD card ready for use, and then I could start plugging things in.

The pi comes with two USB sockets which are usually taken up with keyboard and mouse, and as the operating system is installed onto an SD card which needs recreating for a new setup, this time I was also trying out a powered USB hub, so that I can save any work I do onto a separate memory stick rather than on the SD card.  The Pi itself isn’t powerful enough to run a hub, so it has to be one with its own power supply.

I hit a major problem when connecting the screen – as I explained in an earlier post, I need to use an adapter to connect my screen to the pi, and it had a rather troublesome connection, but eventually we managed to get it working.  So I had the pi up and running, with powered hub running keyboard, mouse and memory stick, and with a cable draped across the room to the router to give an internet connection as well.

I was disappointed to note that this new distribution seems to have a lot less than the previous one in the way of preloaded software, but the essentials are there – web browser, python 2 (with pygame) and python 3 (without pygame), plus Scratch.  Squeeze is also listed, but didn’t seem to load up.

There is also a folder of python games, taken from the book Invent With Python, which I copied onto the memory stick to bring back to my main machine and look at.

The browser seemed to work with no problems at all, and it was as easy as plugging in the cable and typing in a web address to get online with the Midori browser, so that was the basics up and running, although I couldn’t see how to access the memory stick directly from applications such as Scratch – my husband said something about mounting the drive, but I felt copying over is enough for now, until I get to the point of using the pi properly and having files worth saving directly onto the external drive.

I feel now that maybe I’ve reached the point where I need to start looking carefully for instructions, either via the MagPi magazine or some of these books that have sprung up about the pi, in order to take it any further.  Scratch and Python are fine with no issues for me, but the operating system is a little unfamiliar for anything outside the very basic and I’m not confident enough to go poking around, downloading stuff and installing it without advice.

I do believe the pi is a wonderful gadget, but as yet I don’t think I’ve identified its full purpose – as a really cheap machine available to encourage kids to play with programming, it’s great, but apart from its price it doesn’t offer that much different from a desktop machine. I understand you can use it for input and output devices, rather like the arduino, but that again is something that would need research and setting up, although it does seem to me that one major advantage for the pi apart from price is the physical size of it and that seems to be begging to be embedded in some sort of system.

I think it’s time to go off and do some research into what people are using the pi for, and what it’s capable of!

PS the case is great for protecting the pi as it sits on  my desk – I found it on my husband’s desk (around his pi in fact! shh!)

Using my skills

It strikes me that on the one hand the way to get better at anything is to practise, and on the other hand there’s little point in having a skill if you’re not going to use it.

So I hereby vow that I’ll be looking for ways to use my ICT and programming skills to develop resources and show what can be done.

I have made an animation about the intranet/extranet/internet, and I use extended facilities in our school Moodle system wherever I can.  I’ve also made screen capture videos explaining how to do various things related to games creation and web design (I like your videos Miss but I have to keep watching them over and over and keep stopping them! Me: that’s the point of them).  Now it’s time to step up and really start seeking out ways to use and develop my skills and resources.

One thing that I intend to do is to create a seat planning tool.  In my classroom I’m lucky enough to have computers round the edge of the room plus tables in the main area, so each seating plan I create has to have two related spaces for each child – I try to keep the place at the table related to the position of the computer they use.  So a plan where I drag a name to a place at the tables and their computer place is automatically labelled too would be useful.

There are many topics where detailed written, well laid out step by step instructions would go well side-by-side with tutorial videos, so students can choose their preferred way of working.

I’m sure there are many topics suited to a multimedia, multi-pathway approach of presentation (yes, the dreaded OCR Nat unit 4, but in something other than a simple powerpoint, hopefully!).

I’m also sure that there are many other possibilities I haven’t even thought of yet.

Getting the students used to seeing high quality resources and knowing they were created by someone they know should be a good step towards inspiring them to see what can be done and that the gulf between creators and users doesn’t have to be as massive as it is currently.

Any other suggestions for projects more than welcome!