Thursday 16 February 2012

Neat tools you can use in the classroom part 2



The physical vs. the virtual

I've had great success (mainly through the work I have done with heppell.net at the BETT show) with some more 'hands on' resources that can help teach the fundaments of computer science. Diving straight into notepad and banging out some Javascript is all well and good, but you'll find that with younger learners especially, they'll respond much better to visual and physical feedback, and can struggle with the more abstract notion of writing, running and debugging code (even with visual programming languages).

Here are some of the things I've used:

1. Zeon Tech BigTrak

I love this toy! Originally a kid's plaything made by Milton Bradley the 1980s, it was re-released as an executive toy a couple of years back and is still available in toy shops and on eBay for £25-£35. The basic concept is this 'remote' controlled moonlander-esque vehicle is similar to the old logo turtle, but a lot more fun! BigTrak can basically drive forwards, and turn around and the movement in driven from a stored program that you enter on the keypad on the vehicle. Very simple commands like 'forward 3, turn 30, back 2' can be strung together to create a complete program. Consider strapping a pen to the back of it, putting it on a while board mounted on the floor and get the programmers to draw pre-defined shapes.

2. Unilab Decision module

Another 80s/90s classroom favourite and still used and available now in much updated form new. The picture above is of an original loaned to me by Professor Stephen Heppell, which I updated to USB power. Using a combination and AND, OR and NOT gates, learners can grasp the concepts of how inputs can change outputs using simple logic. You can then take these concepts and show how a computer 'thinks' fundamentally (or NOT). As with all these tools, it's very hands-on, very visual (and aural) and accessible, whilst teaching some valuable concepts about how computers are built.

3. Lego Mindstorms

Build it, program it, test it, share it and improve it. Lego Mindstorms is an exceptionally powerful construction kit that allows you to build machines, vehicles, robots and more and then share your creations with the Mindstorms community. The programming bit is taken care of with LABview - A visual programming language that has been around for as long as I have. The cute bit is that interfaces to Scratch or any of the accepted languages such as C and Java are also available, and this means the programming possibilities are as massive as the construction ones. The community that supports Mindstorms is active, and many schools have invested in it. Sadly, my experience has been one more of dusty boxes in cupboards than student-built vending machines serving hot coffee to school visitors! I've no doubt that with the right support and resources this can't be changed though.

4. Storyboarding

Like digital creativity projects, proper planning will mean learners achieve more and are more engaged with learning programming (The 5 Ps?). Storyboarding your programming challenges, especially where game creation is involved is far more successful than just rolling your sleeves up and going for broke in an IDE. Software development in the real world is going a lot more down the road of creating stories from which code can be written, and Agile methodologies and XP (extreme programming) advise the use of 'User stories' to capture requirements. The ide of structured English to help you transfer ideas into code has been around for ever, but take a Wikipedia tour beginning here to learn more.

That's it for now, I've got more tools and ideas to blog, but in the meantime, please feel free to comment and add your thoughts.