I have been playing with Scratch a little lately as my daughter is starting to learn some ICT and basic coding at school. Scratch, from the MIT media lab is a fantastic tool for learning the basics of coding - all using visual building blocks to build up the code. If you haven't tried it, I urge you to go and take a look.
 
Even though it is aimed at learning, you can produce some fairly complicated programmes with it - certainly more complex and visually appealing (and functional) than what I used to produce learning BASIC on a Commodore 16 many years ago.
 
Having been involved in teaching/training bioinformatics for quite a while - often having to start from fairly basic principles for biologists entering the subject - it has been interesting to see the skills being taught in primary school. The objectives for the early key stages in the National Curriculum look very much like the kind of expectations we build into introductory computing programmes for biologists! In fact, one exercise I carried out with my daughter recently was to write an algorithm for making a cup of tea - something my wife and I have tasked MSc students with in the past for both bioinformatics and lab skills (protocol writing) activities. 
 
I am pleased to say she did a good job - in traditional job referee style I would say she "was among the top 40%" of students I have experienced :-) Perhaps this is because she likes tea, or maybe she approached the problem without the preconceptions about the task, or any ritualised autonomous tea making habit - who knows. As a demonstration of logical thinking I was a happy parent.
 
Because it interested me, and I think it is useful to understand the efforts in building a future generation who will likely make our training jobs redundant in this area, I have reproduced the key stage 1 and key stage 2 ICT objectives from the Computing in the National Curriculum guide document at www.computingatschool.org.uk below. For those of you not familiar with the terminology, Key stage 1 is typically children aged 5-6, and Key stage 2 runs from 7-10. In the table, CS is Computer Science, IT is Information Technology, and DL is Data Literacy.


So this got me thinking about Scratch - could we use it to do some bioinformatics? Is this an important question? No. Is it likely to be useful in the real world? No. Useful to training? Probably not. Excellent excuse for procrastination? Certainly.
 
The tool appears to have all the components necessary to do something basic - logical control structures (loops etc), some basic string processing (splits and joins) and some data structures (arrays). It also has a cute cat (or other sprites should you choose) through which you can interact with the programme - something perhaps we could run past the professional UX designers/testers out there. After all, who doesn't miss Clippy the office paperclip?
 
Anyway, here are the results of my efforts to build a tool to find (in a very simplistic way) in-frame ATG start codons in a DNA sequence - you can download the programme to load into Scratch here.
 
First we meet the friendly cat who invites the user to enter a DNA sequence:


The programme block structure and results are shown below. When the user enters their DNA sequence an array (codons) is set up and the sequence broken into 3 letter codons and stored in the array (the repeat block). Once the array is filled, the final if...else block checks if any of the array elements contains "ATG" - and the cat tells us the answer.


I would suggest that yes - you can do some bioinformatics with Scratch, although perhaps this example is not particularly helpful in the real world. What I think is interesting though, is that the features of Scratch cover many of the basics of scripting/programming that we often teach as being useful to biologists. The interface is clearly targeted at children which would probably be a barrier to trying to use it in a "serious" scientific training environment - but with the right introduction/expectations, perhaps it could be used.
 
What is more interesting, is that there is the possibility to extend Scratch - the Scratch Extension Project - which provides a route to interfacing with hardware, adding custom Javascript code blocks, and interacting with data via HTTP extensions. These could open up some really fun (and actually useful) bioinformatics pipelining opportunities.