I’m starting my PhD at COFA in 2012. For the last couple of years of my undergraduate degree (Digital Media), coding has been a building block of just about everything I do. Having said that, I don’t see myself as a programmer, not even as a particularly good coder. I’m a hacker in a very real sense: I figure out what it is I need to create and hack it together with the tools that I have – often taking pieces of code from others who have already worked on similar projects. And it’s not always an enjoyable or fruitful experience.
In that sense, I can understand why many students within the Digital Media degree resent having to complete a class in which they are introduced to coding (in this case, it’s Processing). With a course as diverse as this one, most students have a different focus and cannot see the benefit in learning any form of programming skills. It’s a class that’s endured rather than enjoyed.
Obviously I have a vested interest in seeing things change. I would love to see programming – particularly that of the interactive art variety – become a more important part of not just the Digital Media degree, but COFA more broadly. There’s a lot of work being done at the campus right now to improve the digital resources there, and I think it’s a perfect time to put foundations in place to see interactivity grow. But more than selling this idea to the academics and bureaucracy of a university, creative coding needs to be sold to the students. Like-minded people will be attracted to studying at COFA once it starts outputting a greater amount of quality interactive work.
It’s a tough sell though. For most students, they are at COFA to learn to use a polished piece of commercial software, like Maya or Photoshop – not to create these tools themselves from scratch. And when you add further levels of difficulty with having to learn a new language (I’m referring to both code being a language and the many international students who speak English as a second language), it’s often something that is complained about as being too difficult and not applicable to their chosen skill set.
Personally, I see programming as vital to a broad degree like Digital Media. It’s an excellent opportunity to explore new techniques and tools that can be drawn on to be creative with digital technology – something that can be greater than the sum of its parts. It’s something of a utopian viewpoint, and not going to appeal to the many students who are studying to solely be graphic designers or 3D animation careerists. So how do we make the experience as appealing – or at the very least palatable – to a greater proportion of students? It needs to be sold to them as an important part of their own workflow.
The word ‘selling’ has some nasty connotations within an educational institution, but that’s our reality – universities are run like a business, and students shop around for the best on offer – and so they should. I’d like to work at one that has motivated and inspired students knocking at the door, ready to try new things, but perhaps they need a taste of the possibilities before they’re ready to dive straight in. I had an interesting response to this question on Twitter from David Butler, and totally agree with his comment:
I think the emphasis has to be on tangibility for people new to coding. Processing is too abstract for complete beginners.
David works with performance stage lighting amongst other things, something that I think could appeal to new students in Digital Media. Music and performance is something that everyone can relate to in some way and with tools like Max/MSP/Jitter cross-pollenating other software like Ableton Live, there is now a bigger picture that may appeal to many. Making something which is both interactive and real – ie, not trapped on a screen – is exciting and motivating. And while I’m here, I need to link this wonderful post I read recently which articulates the point better than I can.
But here is the curly part that I’m struggling with: I don’t believe many students will be willing to pay for programming software or other tools. There is a perceived value in products like Final Cut Pro or Adobe’s Creative Suite – after all, these are considered ‘industry standard software’, but unless a student plans on continuing to more advanced creative coding classes, I see cost as being a fairly large barrier. This is where the smoother learning curve of a graphical environment like Max comes up against the access of a free coding language like Processing.
Obviously there are other options out there, but it’s not only students who are limited by budget – bringing yet another software package into a university can get expensive and takes time to be implemented. So I’m looking at the various pros and cons of a few options which I know that COFA already has (varying amounts of) access to: Processing, Arduino and Max…
- [+] Portability (runs on most OS, and a fairly easy excursion to the web and Android)
- [+] Access (software is free, and there is a strong community of users to offer advice and code snippets)
- [+] Verbose (language ‘reads’ easier than many others, for those that are new to code)
- [-] Code (it’s still code – this scares the hell out of many students, no matter how verbose it is)
- [-] Efficiency (for most beginners, there is no real chance of working to make code more efficient and therefore run faster – to most, it will seem that Processing is just slow)
- [+] Access (like Processing, there is a large community for support and is also an open-source experience)
- [+] Tactility (it’s much easier to get excited about a physical input/output than moving a coloured box on a screen)
- [+] Modularity (can be extended a little, or a lot, to get a wide range of uses)
- [-] Cost (although relatively low price, costs can escalate with larger projects)
- [-] Code (like Processing, requires learning a new language)
- [-] Electricity (can be daunting using electronics for the first time)
- [+] Usability (Max 6 introduces excellent usability improvements, making it an easier learning curve)
- [+] No (Written) Code (modular objects are friendlier than blocks of written code)
- [+] Support (strong community and being a paid product, offers commercial support)
- [-] Cost (is commercial software, although offers student pricing)
- [-] Access (Mac and Windows only)
…these are my first thoughts and certainly only based on my own experience as a student. My opinion may not have much pull when it comes to what is taught at COFA, but I’m really keen to hear the thoughts of others on the subject. Comments don’t need to be on the platforms I’ve listed above, and just as important is thoughts on presenting programming in classes generally. I do plan on passing on any feedback I get – especially that which could be valuable for getting new students engaged with creative coding.
Edit: On some reflection, I think my focus here on technology may be missing the point somewhat. While we should certainly be using tools that are as friendly to new students as possible, we should also be showing them that there are Real Outcomes (jobs) using this technology in the Real World. I could never judge a student for thinking about their future careers (who can afford to be an artist in Sydney??), so why don’t we show them the work being done by creative agencies and the like using programmed technology as a part of their own process? Australia has been slow to take up the interest in this area (compared to the US and Europe), but there’s no doubt that it is a growing area and as a production-based degree, we should be looking to be ahead of the curve.