8 lectures on Computational Thinking by Joel Gethin Lewis.
Thanks to Mick Grierson, 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 available on GitHub.
Breakdown of syllabus:
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.
- 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 and Neural Networks.
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, 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.
- three.js, Mr Doob and A-Frame and AR on the web (WebXR).
- Open Source, Github, Unreal engine, Blender and Glitch.
- 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.