It’s getting to the point where I need to make a decision how I’m going to proceed in  September.  I think it’s fairly straightforward to declare that I intend to use Scratch/BYOB to introduce various programming topics, as it’s straightforward to put the code together and the user can focus on structure without worrying too much about typos, syntax etc.

Then I feel I need to move onto a “proper” typed up language, and that’s where I hit the problem.

So far this summer I’ve been dabbling in all sorts of things.  I’ve tried Small Basic, Python and Java mainly, Java being both through Greenfoot and Processing.

Small Basic concerns me because I discovered that it seems to overthink – when I tried adding strings together, because each string consisted of what it recognised as integers, it added them as integers.  I wonder what else it has up its sleeves, and I also feel concerned about teaching a Microsoft-specific language.

Python seems much more straightforward, and I like the way you can work quickly and easily from the command line as well as writing programs.  Getting a basic program up and running is really fast and simple.  There’s no fuss about declaring the type of variables and no worry about semi colons.  Instead, the fuss is moved to layout, and spaces/tabs.  There’s also the issue, though, of Python 2 v Python 3.   This seems to be a matter of preference, but some of my resources are for 2 and some for 3.  This isn’t necessarily a drawback; if I finish working through the resources for version 2, I should know enough to adapt the version 3 resources if necessary, but I’d like to stick to 2 for now because it’s what I’m using in the Udacity courses and with Google App Engine.  It also seems a very viable language to move forward with in either version.

Java has a wonderful tool in the form of Greenfoot, and Processing is another tool using Java as its base that is really quick and easy to start working with.  My reservation with Java comes in the form of not being so easy to work with straightforward input/output.  That’s possibly because I lack recent experience with it: I know I can use tools like Eclipse to write simple programs, but I find it horribly complex and would not like to introduce students to it as a learning tool when they first start programming!

Of the other tools, MIT App Inventor looks wonderful to use, and I would love to use it with key stage 3 who have already worked with Scratch, but again it’s graphic-based and I’m not sure how I would use it for the OCR GCSE computing tasks, which seem in the main heavily console based.  I don’t like the way I’m having to choose tools that are suitable for the assessment rather than tools that are best for learning, but maybe that’s something that will change as the qualification matures and newer assessments are added in.

So in summary, it looks like I need to consider Python 2 as first choice, while continuing to work through Greenfoot and Processing as these are my two favourite options.  As I’ll be using Scratch/BYOB at the start, while ensuring that other software is available on the school system, there is still flexibility for a while longer, and I would like to continue working in both Python and Java for my own purposes anyway.

The bottom line is that the real challenge when programming is knowing the structures to be used and how to use them efficiently, and in the end the choice of language matters little.  The main issue is to be able to form correct syntax and layout for the language.  As with everything, what you say is vital; the form you choose to say it in is less important.



About emmyleigh
Writer/editor/proofreader who loves technology

2 Responses to Indecision

  1. Ian Harcombe (@MrHarcombe) says:

    Thanks for all your thoughts – I’ve really enjoyed following your progress over the summer and hearing how you’re thinking of applying the various technologies. I only teach KS3, but make use of Scratch to teach programming (both games and simple animation) as well as some Kodu – so its all graphical with no console development. Having said that, I think I agree that Java is a little over-involved for first encounters with command-line development (speaking as an ex-professional developer) – Python seems a much more approachable language. Plus it will enforce good indenting habits for any future development work (and trust me, it’s /really/. important in all coding languages – for your own sanity as well as anyone who has to maintain your code later).

    Have a great year 🙂

    • emmyleigh says:

      Thanks for your comment! Yes, Java seems horrible on first meeting properly – but I did want to use Greenfoot, which seems a really good way of introducing it. Trouble is, Greenfoot would be brilliant for creating games, but the assessments just don’t allow for that.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: