My second Coursera MOOC course, Creative Programming for Digital Media and Mobile Apps, which I introduced in this post, is nearing the end. The final set of lectures, for week 6, went up today, and probably covered my favourite subject so far: a basic 808-style sequencer with lots of virtual knob-twiddling (actually slider-wiggling) features. It’s very cool.
I have found the style of the three lecturers, Dr Marco Gillies, Dr Matthew Yee-King and Dr Mick Grierson, really engaging, despite being a little bumpy and informal in delivery occasionally. They clearly know their stuff, and have worked hard to bring the complexities and possibilities of the Processing language to non-experts in a very condensed course. Because of this it has been pretty intense. While I am a relative coding novice, I do have a distant background and understand a good deal of this stuff. I suspect pure creatives will struggle to grasp some of the programming concepts. That said, the team do acknowledge the spread of abilities and give some less elegant methods: this course is about getting groovy things to happen, not computer science.
So the Processing language has been yet another one for me to learn alongside others I have been learning from a purely web context. The nice thing is that while Java based, Processing clearly overlaps with conventions from the very strict C (which i used to vaguely know years ago) and the very slack Javascript, which I have been attempting to learn. My brain aches from the lack of consistency as I switch, but it is a form of cross training. Data types, classes, arrays and libraries, are examples of concepts and techniques that can be hard to master, but seeing them used in different contexts reinforces learning, and the actual specific syntax, while easy to trip up on, is close enough that one is not too alien from another.
As with other languages I have been learning, I come up against the limits of my own knowledge and abilities quite quickly. I am able to follow the concepts and the technical aspects of the course quite well, but when I stray outside to define my own projects, I am in a less scaffolded world. It is clear that Processing is a very real, very deep and broad language. More so than I expected when I started out. I worried that I might be learning skills in a bubble that might not extend very well to my core ambitions around the web. But Processing is mirrored by the Processing.JS javascript library, which allows you to port your Sketches to the web. This is an important principle of the course for it to support the applications on mobile devices. And it is also fair to say that Processing provides a rapid prototyping environment for graphical work, to test principles that you may later implement directly on other platforms, and in other languages.
So I have a week now to develop my final project app. I have no shortage of ideas but from the interim project I have learned that I need to to temper my ambitions with the need to make it work really well, artistically interesting, enjoyable for the audience, and not consume too many hours down rabbit holes of extended functionality that I may struggle with.
No comments yet.