I had been drawn to programming at the beginning for the sheer number of possibilities a few simple logical statements could make. Programming, I think, offers one of the purest pleasures of making: being able to see what you do reflected in the result of the code, being able to watch the program take shape in your hands, instant feedback, instant rewards, mom, do you see what I’ve done?
Which is why I found the conversation in class we had on tutorials very interesting. In programming these tutorials proliferate. Want to learn how to make games? Here’s 5 detailed guides on custom built systems complete with graphics. Want to learn Python? Here are 9,999,999 different websites to get you started, with primers on variables and loops and a few MOOCs just in case. By the way, your new best friend is the 2.5X button, and whatever you choose don’t click on the codeacademy class.
The result is a sort of tedious uniformity disguised as diversity, based on whatever tutorial you happened to follow. To avoid that, what is the tack tutorials should take? Some help to get people started, and some freedom to go off to do what they want, I suppose, but how to introduce to people the possibilities of the tools and the materials, without 10 plugins and a database? Where is the line educators can take as guide and standardize, though in itself, would that be counter to the general ethos of creativity?
I have never been an educator myself, nor have I read any literature on this specific problem, so any guess I hazard here has come from what I thought has worked for me, in both programming and in studio art. I think when people can see the range of possibilities of what they can create from a set of tools, without necessarily being given any complete guide to assemble any of it, only the pieces, then there can happen a more organic process of discovery. If the educator knows each and every student’s learning preferences, whether that is needing to be dragged through a project, or needing complete independence, then the same tools and tutorials can accommodate wider ranges of the student population.
Not much I can say this week, I think, except that I can’t do the hidden bookcase door on instructables for many reasons, including the fact that I am currently renting and am not allowed, apparently, to knock down a dry wall, but boy have I been dreaming about this since childhood.
Browsing the instructables did have the effect of letting me see the possibilities of Arduinos though. Some projects were rather baffling (why would you need to ask Siri what the temperature of your room is) and some were rather amazing, like the bookcase door. That project is remarkable as it uses Arduino as a tool towards a means, and does not treat demonstrating the uses of Arduino as a means in itself, which I felt may have been the direction of any Arduino project I might take on, should I take it on.
(A good number of the projects were IoT, though, which I always like to mention that I am skeptical of because of security risks they pose. A single exploit in a manufacturer’s board can turn them into botnets with which to, for example, launch DDoS attacks on major Internet infrastructure.)