Final Intro to Programming Slides

4 04 2011

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.





Teaching Programming Part 2

27 03 2011

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.





Teaching Programming to People Who Don’t Want to be Programmers

15 03 2011

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.

  1. 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.
  2. People seem eager for this kind of instruction.
  3. 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.