I’ve been getting some emails asking for course notes for fluxus workshops, I don’t really have anything as structured as that but I thought it would be good to document something here. I usually pretty much follow the first part of the fluxus manual pretty closely, trying to flip between visually playful parts and programming concepts. I’ve taught this to teenagers, unemployed people, masters students, professors and artists – it’s very much aimed at first time programmers. I’m also less interested in churning out fluxus users, and more motivated by using it as an introduction to algorithms and programming in general. Generally it’s good to start with an introduction to livecoding, where fluxus comes from, who uses it and what for. I’ve also started discussing the political implications of software and algorithmic literacy too.
So first things first, an introduction to a few key bindings (ctrl-f fullscreen/ctrl-w windowed), then in the console:
- Scheme as calculator – parentheses and nesting simple expressions.
- Naming values with define.
- Naming processes with define to make procedures.
Time to make some graphics, so switch to a workspace with ctrl-1:
- A new procedure to draw a cube.
- Calling this every frame.
- Mouse camera controls, move around the cube.
- Different built in shapes, drawing a sphere, cylinder, torus.
Then dive into changing the graphics state, so:
- Multiple objects, graphics state persistent like changing a “pen colour”.
- Transform state is applicative (scale multiplies etc).
Then tackle recursion, in order to reduce the size of the code, and make much more complex objects possible.
- A row of cubes.
- Make it bend with small rotation.
- Animation with (time).
At this point they know enough to be able play with what they’ve learnt for a while, making procedural patterns and animated shapes.
After this it’s quite easy to explain how to add another call to create tree recursion, and scope state using (with-state) and it all goes fractal crazy.
This is generally enough for a 2 hour taster workshop. If there is more time, then I go into the scene graph and explain how primitives are built from points, faces and show how texture coords work etc. Also the physics system is great to show as it’s simple to get very different kinds of results.