An intensive of lectures and workshops on Computational Thinking by Joel Gethin Lewis.
This week-long creative computing intensive course will give participants a wide ranging knowledge of the history of creative computing, a survey of artists working in this area and advice for setting up a studio. This also includes a working knowledge of p5.js, a Javascript library for creative code on the web.
What will the workshop involve?
The goal is for participants to be able to be critical of current creative computing practice by not only being able to code, but by having knowledge of all the different fields that have contributed to creative computing as well as current practitioners and studios.
Daily schedule:
- 10am - 11am: Lecture
- 11am - 1pm: Workshop
- 1pm - 2pm: Lunch
- 2pm - 3pm: Lecture
- 3pm - 4pm: Workshop
- 4pm - 5pm: Discussion / Q&A
Thanks to Ben Stopher, Mick Grierson, Georgina Capdevila Cano, Alan Warburton, Rebecca Ross, Jaap de Maat, Jonathan Harris, Jessica Bland, Rick Walker, Graham Bennett, Toby Milner-Gulland, Liam Walsh, Golan Levin, Greg Smith, Mark Lundin, Xiaohan Zhang, Lia, Joshua Goldberg, Rosa Menkman, Daniel Shiffman and Rune Madsen.
Source code available on GitHub at https://github.com/JGL/ComputationalThinkingIntensive2020.
The workshop content will be determined by the workshop participants, so if you are reading this for the first time, what do you want to get out of these workshops? This will be the subject of our first workshop.
Breakdown of workshops:
Breakdown of lectures:
-
Lecture 1: Counting
- Introduce myself.
- The aim of this course.
- Counting in decimal, unary and binary.
- Memory in computers, storing numbers and words.
- How big things are.
- Bonus: really, really, really big numbers.
-
Lecture 2: Drawing.
- Moving from one dimension to two.
- x,y co-ordinates, area, Pythagoras' theorem.
- Circles, Sine, Cosine and Pi.
- Two dimensional lists (or arrays) for remembering pixels.
- Delaunay triangulation / Voronoi diagram.
- Bonus: Art from Rules.
-
Lecture 3: Mixing and Sculpting.
- Moving from two dimensions to three.
- x,y,z co-ordinates, Pythagoras' theorem in three dimensions.
- R,G,B co-ordinates for colour, other colour spaces.
- Point clouds and voxels.
- Polygons and Polyhedra.
- Bonus: Artists working in three dimensions.
-
Lecture 4: Compressing.
- Moving to four dimensions.
- Artists working with the space and time.
- Text compression.
- Spatial compression and Temporal compression.
- The Fast Fourier Transform.
- Bonus: three kinds of feedback: audio, visual and interactive.
-
Lecture 5: Linking.
- The History of the Internet, The History of the Graphical User Interface, The History of Hypertext.
- Encryption.
- Trees and Graphs.
- Google, Facebook and CS183.
- Decentralisation: P2P, Blockchain and IPFS and Filecoin, Merkle Trees and DAT and Beaker.
- Bonus: Mark Lombardi, Listening Post and Celestial Mechanics.
-
Lecture 6: Looping.
- Boolean algebra and control flow.
- Functions and recursion.
- Object-oriented programming.
- The Jacquard Loom, Charles Babbage and Ada Lovelace.
- Pāṇini, al-Khwarizmi, al-Jazari, Alan Turing, Tommy Flowers, Grace Hopper, Margaret Hamilton, Bugs and Hacking.
- Bonus: Fuzzy logic, Computer Vision, Neural Networks, Adam Harvey, Bias and Anti-Facist AI.
-
Lecture 7: Consuming.
- Ant Farm, A Hole in Space and The secret war between uploading and downloading.
- Genes and Memes and the Alt Right.
- William Gibson and Atemporality.
- Disney eating the Commons and Relational Aesthetics.
- Aaron Schwarz, Mark Fisher, Rutger Bregman and Timothy Morton.
- Bonus: The EM Spectrum, how long a nanosecond is, Hedy Lamarr and Frequency Hopping.
-
Lecture 8: Thinking.
- Seymour Papert and Alan Kay
- Conway's Game of Life, Cellular Automata and rules 30 and 110.
- Boids, Evolved Virtual Creatures and emergence.
- Joscha Bach and a Computational Universe.
- Pace layering, Pattern Language and the purpose of Art.
- Bonus: System Art, Everywhere and Another Sky.
-
Bonus lecture 9: Doing.
- Processing, p5.js, ml5.js, pts.js.
- Daniel Shifmann, The Nature of Code, The Coding Train, Rune Madsen, Programming Design Systems.
- openFrameworks, Zach Lieberman, SPFC, Theo Watson, Arturo Castro, Machine Learning for Artists and Gene Kogan.
- zzz.dog, three.js, Mr Doob and A-Frame and AR on the web (WebXR).
- Open Source, Github, Unreal engine, Blender, Glitch and the p5.js editor.
- Bonus: Memo Atken, Mario Klingemann, Golan Levin, Art+Com, Daito Manabe.
- Bonus Bonus: Win without Pitching, You're my favourite client, Hell Yeah, Austin Kleon, Tim Pychyl, Ira Glass, Virgil Abloh and Bret Victor.