Diploma in Creative Computing at the Creative Coding Institute, Camberwell, University of the Arts, London
Lecture slides, wiki, notes and examples from units 1 and 3 of the Creative Coding Institute Diploma in Creative Computing.
- Lecturer: Joel Gethin Lewis
- Location: Creative Computing Institute, Camberwell, 5th Floor Block B
- Weekly times: Every Monday and Tuesday, 09:30 - 13:30 and 13:30 - 17:30 (lunch break TBC (-;)
- All term dates
- Office Hours
- Contact me via the UAL Creative Computing Institute Slack
- Lecture Slides
- Wiki for all homework, reading lists and other resources
- You are expected to undertake independent study of about 25 hours per week
You can find the UAL Disciplinary Code For Students here: Disciplinary Code For Students
You can find our code of conduct here: code_of_conduct.md.
Golan Levin also offers a useful thought from his children's school:
When communicating, ask yourself:
- T – is it True?
- H – is it Helpful?
- I – is it Inspiring?
- N – is it Necessary?
- K – is it Kind?
At the end of this block (midway through term 2) you should have the following outcomes, with subheadings for methods and platforms we will use to do so. To be clear, I want you to obtain knowledge and then use that to make projects. My aim is to have every student graduate with new creative computing core knowledge and a portfolio of projects that relate that new creative computing knowledge to their chosen BA subject elsewhere at University of the Arts London (UAL).
- Code creative computing assets in relevant languages (Knowledge, Process)
- Understand the use of key frameworks for creative computing (Knowledge, Process)
- Use online tools to collaborate and support your creative computing projects (Enquiry, Communication)
- Code interactive visuals (Process, Realisation)
- Build physical computing prototypes (Process, Realisation)
- Evaluate and discuss creative computing practice (Enquiry, Communication)
- case studies
- studio, gallery and museum visits
- presentations
- workshops
- discussions
During the first half of term 1, Unit 1 and 3 teaching will be intermingled, in order to make most efficient use of our time.
During the second half of term 1, Unit 1 will be taught on Mondays by me, with Unit 3 being taught on Tuesdays by Julia Makivic.
Unit 2 (Computational Futures and AI) will be taught throughout by Alex Fefegha.
The first half of term two will be spent doing rehersals and mocks for presentations and exams. We will then move on to block 2, units 4, 5 and 6.
Monday morning: lectures and discussions Monday afternoon: homework Tuesday morning: lectures and discussions Tuesday afternoon: homework, my office hours
Monday morning: lectures on Mathematics and programming. Monday afternoon: visits, talks and seminars Tuesday morning: physical computing lectures Tuesday afternoon: continued physical computing lectures and my office hours.
Throughout the term, you will be working in pairs. This is a technique known as Pair Programming. You may change pair partner as often or sparingly as you like.
Following the latest research, I've decided to shift us from pairs to threes. After all, three is a magic number.
However, at the end of block 1 (halfway through term 2), you will be assessed individually. Unit 1 and Unit 3 are assessed in different ways:
- Unit 1 - "Creative coding and creative computing frameworks" - this unit will be assessed in two ways - via multiple choice test and practical coding exam. In the multiple choice test you will be presented with a series of questions relating explicitly to course content. You must choose between up to 4 potentially correct answers per question. In the Practical Exam you will be individually asked to write a basic program to demonstrate the application of creative coding to a set problem. Each part is worth 50% of the unit mark. You will be given 1 hour to complete 20 multiple choice questions. You will be given 2 hours to complete the practical coding exam.
- Unit 3 - "Creative Practice: Visual coding and physical computing" - this unit will be assessed via the presentation of a project that you will work towards throughout the first term and half of the second. This unit is about putting skills from Unit 1 (and others) to use in a project. You will be assessed on your presentation and the ‘slide deck’ from the presentation, which may contain elements you didn't present. You will be given 5 minutes to present, with 5 minutes of discussion.
In addition to the formal assessment at the end of the term, I will be setting weekly homework projects. We will discuss and work on the weekly projects on Monday and Tuesday afternoons. The weekly homework projects won't be assessed, but will be in your interest to complete.
The homework projects will be based on exercises from Code as Creative Medium: An educator's handbook by Golan Levin and Tega Brain.
Remember that small, short, technical exercises can be the root of much bigger ideas and projects that could last a lifetime.
- Introductions.
- Questions.
- My motivations and my aims for the next year.
- What are your aims for the next year?
- Doing this right thing/Ethics.
- Copying/Plagiarism.
- Some artists.
- Practice.
- How to criticise well.
- Counting in decimal, unary and binary.
- Memory in computers, storing numbers and words.
- How big things are.
- Really, really, really big numbers.
- Homework Assignment
- Group meditation.
- Questions.
- Overview of current Creative Coding frameworks.
- Introduction to JavaScript.
- Processing, p5.js, ml5.js, pts.js.
- p5.js web editor, Glitch.com, Visual Studio Code.
- Daniel Shiffman, The Nature of Code, The Coding Train, Rune Madsen, Programming Design Systems.
- openFrameworks, Machine Learning for Artists and the oFBook.
- zzz.dog, three.js, Mr Doob and A-Frame and AR.
- Unreal Engine, Blender and Rubber Duck Debugging.
- Data Types: primitive, composite and abstract.
- Feedback, how was this week? What worked? What didn't?
- Homework Assignment
- Group meditation.
- Questions?
- Git and GitHub.
- Drawing on paper.
- Moving from zero spatial dimensions to one and on to two.
- Art from rules.
- Colour and colour on computers.
- Feedback.
- Afternoon - homework exercises from Code as Creative Medium - Arrays and Colour as well as introduction to p5.js.
- Group meditation.
- Questions?
- Deciding - logic in humans and computers.
- Looping - doing things many times, but using logic to stop.
- Moving from two spatial dimensions to three.
- Some artists working in three dimensions.
- Feedback.
- Afternoon - homework exercises from Code as Creative Medium - Conditional Testing and Iteration as well as continuing introduction to p5.js.
- Group meditation.
- Questions?
- Functions and recursion.
- 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.
- Feedback.
- Afternoon - homework exercises from Code as Creative Medium - Curves.
- Group meditation.
- Questions?
- Object-oriented programming.
- Fuzzy logic, Computer Vision, Neural Networks, Adam Harvey, Bias and Anti-Fascist AI.
- Feedback.
- Afternoon - homework exercises from Code as Creative Medium - Graphic Elements.
- Group meditation.
- Questions?
- Moving from three spatial dimensions to four and others!
- Some artists working in four dimensions.
- The Fast Fourier Transform.
- Three kinds of feedback: audio, visual and interactive.
- Feedback.
- Afternoon - Modernism trip with CCI BSc group and Dr Charlotte Webb to Victoria and Albert Museum.
- Group meditation.
- Questions?
- 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.
- Mark Lombardi, Listening Post and Celestial Mechanics
- Feedback.
- Afternoon - homework exercises from Code as Creative Medium - Images and Time and Interactivity.
- Group meditation.
- Questions?
- 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.
- The EM Spectrum, how long a nanosecond is, Hedy Lamarr and - Frequency Hopping.
- Feedback.
- Afternoon - homework exercises from Code as Creative Medium - Text and Language with rita.js.
- Group meditation.
- Questions?
- 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.
- Feedback.
- Afternoon - homework exercises from Code as Creative Medium - Simulation.
- Group meditation.
- Questions?
- Memo Atken, Mario Klingemann, Golan Levin, Art+Com, Daito Manabe.
- Win without Pitching, You're my favourite client, Hell Yeah, Austin Kleon, Tim Pychyl, Ira Glass, Virgil Abloh and Bret Victor.
- Feedback.
- Afternoon - homework exercises from Code as Creative Medium - Sound and Visualisation.
- Group meditation.
- Questions?
- Sprint and Crazy Eights
- Paper prototyping
- Feedback.
- Group meditation.
- Questions?
- Show and tell presentations
- Project work and maths/coding catch-up.
- Feedback, how was this week? What worked? What didn't?
Week 8 (week 46 of 52, commencing Monday 11th November 2019) - Split point - moving to project work on Mondays and physical computing on Tuesdays
- Group meditation.
- Introduction to C++, via openFrameworks.
- Questions?
- Practice project presentation.
- Feedback, how was this week? What worked? What didn't?
- Group meditation.
- Questions?
- Project work and maths/coding catch-up.
- Feedback, how was this week? What worked? What didn't?
- Group meditation.
- Questions?
- Practice project presentation.
- Feedback, how was this week? What worked? What didn't?
- N/A JGL is out of office.