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.

Wednesday, 18 January 2012

Neat tools you can use in the classroom part 1

A few people have asked me recently for what I'd recommend using to teach children computer science skills, and more specifically how to learn programming. These are also really good ways to get your skills up to scratch as an educator!

1: MIT Scratch - Not the first visual programming tool, but one of the best around now. Kids love it, it teaches the concepts of programming very well, but ultimately it is limited. So you could move onto...

2: Scratch BYOB - Berkley's offshoot of Scratch that allows you to access higher order functions and make scratch more like a modern OO Programming language. Better for older kids.

3: Alice - Alice and Storytelling Alice will take you onto an even higher level. This is a free (again) 3D programming environment that introduces learners to the more complex three dimensional design space and mimics production programming languages like C++ and Java. As Alice has been around a long time, lots of well-developed resources exist to help you out, and the visual, immediate nature of Alice helps keep learners engaged.

4: Python - "Learn to think like a computer scientist"! Python would appear at first as hardcore as any programming language. Certainly the way you create in it is just like the classic languages - you write your scripts in a text editor, and then run them to see the results. Except Python is really easy to work with and much more forgiving than C or its peers. The thing is, it hides massive power under the hood and you could create something as impressive as Facebook or eBay given the time and motivation. (4a would be Ruby on Rails, a great environment for creating Web apps, with the 'Rails' giving you structured support to do common Web stuff like logging in to a site without reinventing the wheel. Favoured by the RAD/Agile Web development industry)

.. to be continued (with some stuff to help teach the fundamentals)

Sunday, 15 January 2012

BETT 2012 thoughts

So, the Code-Ed team are back from a successful and incredibly busy BETT 2012 show. We learnt lots, had even more fun and are now thoroughly knackered! I need to extend my thanks to the wonderful kids of Lampton School of Hounslow in West London. What a lovely and hard-working bunch they are! Also thanks to heppell.net, Panasonic, EMAP, Juliette, Stephen, Carole and Stephanie for supporting the project and being wonderful friends throughout the show. A review of the pedagogic findings will follow, and I'll also upload some Scratch projects that the Lampton lot did..

Saturday, 14 January 2012

Friday, 13 January 2012

On the Heppell.net stand

Posting on the go - here on the world famous Heppell.net stand "new worlds of learning" at the BETT educational trade show. Busy busy busy! (but fun)


BETT postcard

This is the cute little postcard we had on our stand at the BETT show telling the world what we were up to (which was teaching ten 11 year olds how to program in 4 days from scratch, using scratch!)

You can actually send the postcard to someone if you want...


Wednesday, 4 January 2012

Playing with Scratch and App Inventor

I've been spending a lot of time recently playing with two incredible tools provided by MIT. They are Scratch and App Inventor. Both are based around the idea of making computer programming easier to learn, by 'visualising' the syntax of programming, but keeping the idea of the logic, variables and operators so key to every modern programming language.

Scratch enables you to build beautiful little apps that run on a computer or a browser, (the latter being cleverly packaged up as Flash or Java) and is so accessible it's unreal.

In my mission to try and get kids programming as part of their ICT education, I think both of these tools are just what is needed. Certainly in other countries outside of the UK where I live, many educators and kids are producing wonderful stuff with them.

App Inventor is in a bit of a state of transformation right now and is not publicly accessible, so I'll give an update on that when it settles down, but essentially it takes a lot of the concepts of Scratch and puts them on your Android powered smartphone.