Hi!
I'm Joel.
Welcome to the Creative Computing Institute!
Welcome to the Diploma in Creative Computing!
You are all Diplomats now - in a year I want you to go back to your courses and be Diplomats for the land of Creative Coding.
By the end of this lecture, you'll know more about:
- Me and my background
- The Creative Computing Institute (CCI)
- The Diploma in Creative Computing and why I'm proud to be teaching it
- How I'm going to teach and test you in Unit 1: "Creative Coding and Creative Computing Frameworks"
- What I'm going to teach you in Unit 1
- Important methods for succeeding on this course (and in general)
- Other coding resources and teachers of Creative Coding
- Some brain exploding resources
Me and my background:
Why am I proud to be teaching it? I think the Diploma in Creative Computing is the most interesting course that the CCI offers. You are all two years into your undergraduate degrees, you know what you are doing. I'm here to give you knowledge and skills to take back to your final years in whichever department you are in.
How I'm going to teach and test you in Unit 1: "Creative Coding and Creative Computing Frameworks": let's take a look at the Unit 1 GitHub for more information on how I'm going to teach AND test you (aka the Unit 1 Brief, you'll be getting briefs for each unit you take):
https://github.com/JGL/CCIDiploma-AutumnWinter2020 - BTW, this should be the first place you look if you have any questions about unit 1, or the course in general.
I'm going to teach you JavaScript using a library called p5.js. p5.js was specifically designed as a great way for designers, artists and others to learn to code. It was originally created by Lauren McCarthy but now has many contributors. p5.js emerged out of another project: Processing.
After Christmas I'm going to teach you C++ using another library, openFrameworks, but that's also for another day.
TLDR: I'm going to teach you creative coding, but also explode some brains along the way with references and concepts outside of creative coding that I think you will find interesting and useful.
BTW, I'm going to reference
Wikipedia a lot in this course, because I think it's one of the best things that humanity has ever made, and I wish I'd had it when I was young. Also, it's free - I hated it when teachers would reference books that I couldn't afford when I was at university.
I'd really encourage you to take the time to look at the references I put up throughout these lectures. Think of them as
cheat codes to get you to the next level quicker than I did. A reminder: you are expected to undertake independent study of about 25 hours per week - spread across all the courses you are taking in the Diploma.
I'm going to
introduce lots of interesting concepts from many areas so that you know the magic word to search for if you want to know more. Obfuscation is a BIG problem. What is
Obfuscation?
What is creative coding? I believe all coding is creative, as all life is creative. Specifically, creative coding is about blending creative techniques with software engineering. I want to teach you how to write code but also how you could use computing to change your practice. You can make lots of earth credits writing software, but I much more interested in giving you the tools to change yourself, your practice and the world.
Through teaching you creative coding, I want to teach you Computational Thinking. But what is Computational Thinking?
- To teach you see problems at many levels (abstraction), break down problems (decomposition), find the order in them (pattern recognition), make solutions using a series of steps (algorithms) and realise that you might be able to use that solution in lots of areas (generalisation).
- Most of all, to teach you to be autodidacts, and, as previously mentioned, to blow your mind at least once per lecture.
- First task: what is an autodidact?
Look it up!
Jim Campbell's formula for Computer Art. Realise that you can use things without understanding every aspect of them. All that computers do is process inputs into outputs. That's it.
Important methods for succeeding on this course (and in general)
So, I'm going to teach you how to code! But much more than that - as mentioned previously, I'm going to teach you different ways of thinking about the universe. I want you to explore thinking in multiple dimensions, how mathematics can help you do that and what dimensions you might want to think in.
What about the dimension of time?
What about the dimension of play
with the dimension of time?
- Playful history - sampling/remixing?
- Playful now - glitching?
- Playful future - speculative design?
What about the dimension of care
with the dimension of time?
- Caring past - history, telling stories truthfully?
- Caring now - repair, upkeep?
- Caring future - sustainability?
Some things to keep in mind for the whole course:
- Dory
- Henrick Kniberg on making skateboards
- A rubber duck
- Cassie Robinson's thoughts
- Chuck Wendig on being a magic skeleton
- David Bowie on being out of your depth
- Dhiru Thandani on rotating things that are already there
- Jim Jarmusch on stealing
- Sister Corita Kent's Rules for Art College
- Yohji Yamamoto on copying
- Stewart Brand on the responsibility of the artist
- On going slow
- Susan Wendell on hearing disabled people
Henrick Kniberg on how to make a car. In other words, if you want to make a car, make a skateboard, then a scooter, then a bicycle, then a motorbike and THEN a car. I want you to make lots of skateboards this term.
Rubber duck debugging is a very powerful technique. Please ask me for your duck when you finish watching this lecture!
Just a little out of your depth is the right place to be.
Dhiru Thadani on thinking about what would happen if we designed for humans - but also that you don't have to make new things, sometimes you just have to rotate what is already there.
Sister Corita Kent's rules for art school. It's always obvious when people have put the work in. It's not about one great idea, it's about steady practice, failure and determination.
Steward Brand's
pace layering. It's our job to experiment wildly! We have to test the future. Then slower things can filter those tests.
Just try. As soon as you try you are way ahead of most other people.
Susan Wendell wrote powerfully about disability and feminism. What explosion of knowledge could you make with your life?
There is a chicken and egg problem with teaching coding, which is that so many parts rely on each other. I've picked an order to teach you over the rest of this term, but I'd really recommend making use of the resources on the next few slides - you won't understand everything right away, but it will help with familiarisation.
Throughout this course I'm going to use something that I call "Examples orientated teaching". I'm going to spend a lot of time in lectures going through examples, and then re-enforcing that in workshops. Please Slack me with any praise, problems, questions or queries.
Other coding resources and teachers of Creative Coding:
Some useful general JavaScript coding resources:
Some useful p5.js coding resources:
Other creative coding teachers and courses:
Some brain exploding resources:
We are in a stressful time at the moment. Here are some resources for situating yourself in the world, and how to keep going, set up a studio (if you want) and what you (maybe) should be doing:
Finally, some brain exploding resources:
- Digital morphogenesis is the exploration of how shapes, forms, and patterns emerge in nature through the use of computational modeling and generative systems based on biological, chemical, and physical processes. It draws upon research from practically every area of the natural sciences and has applications in architecture, digital fabrication, art, engineering, biomedicine, and more.
- Wait but Why - lots of great essays on interesting things - I started with this one - Your Life in Weeks.
- Better Explained - the best site for getting explanations of Maths ideas graphically - I started with this article - Surprising Uses of the Pythagorean Theorem.
- Joscha Bach's lectures are always brilliant - lots of amazing thinking about love, the universe and what it means to be concious.
- Stanford professor Robert Sapolsky's opening lecture of the course entitled Human Behavioral Biology on how he aims to avoid categorical thinking.
- Jane Elliott's anti racist teaching.