Skip to content

benkiel/program-design

Repository files navigation

Programming Design

Spring 2020, Washington University in Saint Louis, F10 ART 338Y

Class meets Tuesday/Thursdays, 8:30am to 11:20am

Course description

What unconscious ways do your design tools influence your work? Would your work look different if you made all of the tools used to create it? What will design look like when machine learning automates many design tasks? How will you adapt when your software changes? What does design look like when you are building systems to create outcomes? How do you design for different contexts at the same time from the same content? What would computer-aided design iteration look like? These are all questions you may confront in your career as a designer and are what this course will explore through in-class demos, solo and group projects, readings, and talks from practitioners in the field.

The class will teach students the Python programming language, which will be used in the free DrawBot application for MacOS and with the PageBot code library to create design applications and tools. Students will learn how to think systematically about design, how to work in teams, rapid iteration using the computer, sketching, the design of software applications, how to translate digital experiences to analog and vice versa, and how to learn from failure.

The course assumes no prior experience of programming or knowledge of Python. Open to Junior or Senior students, with preference given to Communication Design majors and minors. This course is experimental and team driven. Students will be fundamentally curious, willing community participants, capable of self-learning, and tolerant of failure.

Types of projects

We are going to at least explore the following:

  • Hardware (with CircuitPY and miniKbd (https://github.com/andyclymer/minikbd)) (not in 2021, and well, not in 2020 either! Pandemic)
  • Learning to program Python with DrawBot (http://www.drawbot.com)
  • Building your own custom design tools (with Python, Drawbot, perhaps Pagebot) to aid your design process (be it to explore design spaces or to produce a finished piece)
  • Working as a group to build larger tools
  • Exploring building tools that can output in a variety of media (think: a tool that takes in text and both makes a book and a website)
  • Animation

Part of the course will have the option of using the tools of the Book Studio to take what is generated by your digital tools to print.

From the above, we’ll see where things go during the semester.