Still catching up on the activities of this summer. One of the closing events and highlights was spending a few days in Berlin teaching at the School of Machines, Making & Make-Believe.
I spent 3 days with around a dozen students from a variety of backgrounds. They included artists, designers and engineers. The general topic I was teaching was wearables. It was the second week of the programme and everyone had some amount of experience with Arduino.
I started my sessions with a bit of background about myself and a broad overview of the intersections of e-textiles, wearables and art. We then started with switches in the afternoon.
The big technical topic of the afternoon was the role of pull up and pull down resistors.
Here’s the final set of slides from the third introductory programming class I did with MzTEK. You don’t get to cover a lot of material in 6 hours, but we managed to introduce the idea of functions and how to use them. Writing functions was well beyond the scope (groan) of this short course. I was repeatedly asked what “void” means, so the goal was to try and answer that at some shallow level.
It’s taken longer to put up the slides from the second week as there was some significant re-structuring of the content. It takes a lot of concentration to decide how to present comparators and boolean operators – or at least more than I initially thought. What I originally put together and presented last Monday blurred the lines between too many subjects within discrete math and I think it came across as confusing. I hope this version is much clearer.
It’s funny how the knowledge inside your head mixes together. It can become difficult to explain fairly simple subjects without relying on a large base of information assumed to be understood by everyone. You just can’t expect people from an arts background to understand a mathematical explanation. It does force you to understand the information better yourself.
As this was the first time I’ve taught this material, I was expecting there to be rough patches. Overall though, I think it’s going very well, or at least that the feedback I get directly to my face. Our last class is tomorrow evening. How the time flies! I’ve had students say they are sad it’s coming to an end so quickly and I have to agree. It’s amazing how little you can truly cover in 6 hours.
I think the next steps are to work out a longer version of this material and then start looking at where I can teach it.
I have started a bit of an experiment this month: I am trying to teach basic programming and software engineering to women that more closely identify as artists than coders. I have a number of motivations for attempting this.
- A small amount of motivation comes from attending workshops where the instructor doesn’t entirely understand the tech they are dealing with. I think coding is a craft and new digital media art is a new form of craft. If you work with other traditional media such as clay or oil painting, you are expected to understand the material (to a reasonable level). The same should be true with technology.
- People seem eager for this kind of instruction.
- I think there are some problems with the way we teach programming to CS students, this is a way for me to test some more experimental practices.
One thing I do struggle with is that tools that help attract new practitioners by working out of the box and being ready to go (Processing, OpenFrameworks), can encourage bad habits. I think by excessively hiding the details of software, you restrict the ability for someone to learn about those details. I haven’t entirely formalized my irritations nor come up with solutions. Well, I guess my initial solution is to teach the course I am teaching right now and try to bring more traditional programming instruction to non-traditional forums.
Below are the slides (with some corrections and additions) that I used last night.