Computing, Outside a School of Computer Science
Designer/educator/engineer, Leah Buechley, has observed that STEM subjects generally fail to educate students who:
- learn concretely (from examples) rather than abstractly (from equations)
- work improvisationally rather than by planning everything in advance
- are interested in creating expressive objects, rather than utilitarian solutions.
Of traditional computer science introductions, educator-innovator Mitch Resnick has remarked, “It’s like offering a writing class that teaches only grammar and punctuation without providing students a chance to write their own stories.”
This unit is intended to address that. It should no longer be taken for granted that computing must be taught by computer scientists. Computer Science is a discipline, but programming is a skill (or a tool, or a medium, or better yet, a craft) which has different communities of use with different pedagogic needs.
“Creative coding” describes the growing set of cultural practices by which artists, designers, architects, and poets employ computer programming and custom software as their chosen medium. This burgeoning field has been accelerated by the widespread adoption of open-source arts-engineering toolkits, such as p5.js. Created by artists, for artists, these toolkits are specifically oriented to the needs and working styles of cultural practitioners, and have radically democratized software development as a potent mode of creative inquiry. In this unit:
- Our objective is to make stirring and provocative new forms of culture.
- Our medium is software.
- We learn code-craft as necessary to execute our ideas.
It Takes a While
It’s worth remembering that even people without conventional forms of professionalized skills can make very compelling art.
Melanie Hoff: Already Always Coding:
Everyone who interacts with computers has in important ways always already been programming them.
Every time you make a folder or rename a file on your computer, the actions you take through moving your mouse and clicking on buttons, translate into text-based commands or scripts which eventually translate into binary.
Why are the common conceptions of what a programmer and user is so divorced from each other? The distinction between programmer and user is reinforced and maintained by a tech industry that benefits from a population rendered computationally passive. If we accept and adopt the role of less agency, we then make it harder for ourselves to come into more agency.
When we all build up and cultivate one another’s agency to shape technology and online spaces, we are contributing to creating a world that is more supportive, affirming, and healing.