Skip to content

djrrb/Python-For-Visual-Designers-2020

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python For Visual Designers

  • Type@Cooper Public Workshop
  • Term: Fall 2020
  • Dates: Tuesdays 7–9pm ET, October 13–27 and November 10–17
  • Instructor: David Jonathan Ross
  • Office Hours: Book on Calendly or get in touch

Course Description

Designers use tools to help us get our work done, but we rarely consider how much these tools can box us in to certain processes and solutions in our work. Creating our own tools can lead us down new and unexpected avenues in our designs: some of the best visual ideas can come about by setting up some boundaries — a color palette, a typeface or two — and then running wild within the system. And working out a system in code is a great way to explore these ideas: computers love repetition and can quickly make hundreds of variations on a theme, and mistakes in the code can result in something that often looks better than what was originally intended.

With no programming experience necessary, workshop participants will learn the basics of the Python programming language while working in the free DrawBot application for MacOS. A quick sketch made with code in DrawBot can be saved as a PDF as a starting point to be finished later in Illustrator, or, with a little bit more work in the code editor, an entire book, magazine or animation can be built without even launching Illustrator or InDesign.

Using the fundamentals of the Python programming language, students will sketch to create vector art with code and use the basic principles of design to turn their sketches into PDF zines and animated gifs.

Required Materials

  • A computer with macOS 10.9 (Mavericks) or newer
  • A fast enough internet connection for video calls

Software

  • Drawbot
  • A coding font of your choice!

Course structure

Most of class time will be spent coding together in the Drawbot app. In between courses, students are encouraged to practice the skills learned during class and experiment with them.

Between the third and fifth class sessions, each student will be asked to work on a few spreads that we will turn into a collective zine.

Beyond the nuts and bolts of Python programming, I hope students use this opportunity to step back and consider how Python/Drawbot might affect their relationship with their tools. I will provide Optional readings and links for students that explore this topic at their leisure, even though they may not relate directly to the course materials.

Credits

This Type@Cooper course was originated by Andy Clymer, and its structure and content owe much to his work.

Course Outline

Session Date Subject
1 October 13 Shapes and Loops
2 October 20 Colors and Text
3 October 27 Canvas and Images
Daylight savings ends, move back 1 hour
November 3 Optional drop-in class
4 November 10 Layouts
5 November 17 Animation

Sessions

Session 1: Shapes and Loops

  • Introductions
  • The Drawbot interface
  • Keyboard shortcuts
  • Hello world
  • Math
  • Strings
  • Comments
  • Variables
  • Drawbot primitives (docs)
  • Loops
  • Conditions

Session links

Optional readings

Session 2: Colors and Text

  • Review
  • Show & Tell
  • Lists
  • Booleans
  • Canvas
    • Pages
    • Graphics State (docs)
    • Saving (docs)
  • Functions
  • Text (docs)
  • Formatted Strings (docs)
  • Color (docs)
  • colorsys (docs)

Session links

Optional readings

Session 3: Paths and Images

  • Review
  • Show & Tell
  • Paths (docs)
  • Color (docs)
  • Image Object (docs)

Session links

Optional readings

Session 4: Layouts

  • Review
  • Show & Tell
  • Installing Python Packages
  • Importing and Parsing Data

Session links

Optional readings

  • See #random channel for code snippets

Session 5: Animation

  • Review
  • Show & Tell
  • Animation techniques
  • Easing
  • Saving and exporting

Session links

Additional resources

Drawbot resources

Python resources

Drawbot Modules

Drawbot projects

Drawbot script collections