Teaching VBA macro programming
Since September 2009 I’ve been working as a teacher – after almost ten years as editor-in-chief of a Linux magazine. The subjects I teach are maths and computer science, and this year CS means object-oriented programming. The school offers Windows machines only, so I’m stuck with that platform.
However, when I tought an Introduction to CS course at Munich University of Applied Sciences about 1.5 years ago, I opted for Excel macro programming (VBA) instead of the also available OpenOffice macro language, and I actually liked what I saw there, and now I can recycle some of my lecture concepts in my school lessons.
Why would I, being a Linux enthusiast, choose Microsoft’s macro language over the open source OpenOffice macro language? VBA is much more accessible for programming newbies. While the languages themselves are pretty similar dialects of Basic, the object model that OpenOffice uses to access document content requires very profound insights and cannot be explained in a few hours. (Try to do something with the current selection in Excel and in OOo Calc to see what I mean.) The VBA object model for Excel documents might be flawed in comparison (as many people like to point out), but it’s fairly easy to understand, and when teaching VBA, I can get pupils to write useful macros in a few hours.
There is certainly a long list of things that I prefer in OpenOffice (think of the terrible new GUI for Microsoft Office, think of easy PDF export in OOo), but the macro language isn’t one of them.
Are there any (free/open source) object-oriented languages out there that you would suggest to use for teaching programming to school pupils aged 17 with no prior programming experience? I’d like to switch to something different next year.