CCI Diploma 2020/2021: Unit 1: Lecture 0: Introduction.
Back to slide index.
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:
What is the CCI?
What is the Diploma in Creative Coding?
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.
What I'm going to teach you in Unit 1: let's take a look at the list of lectures I'm going to be giving up to Christmas.
Up to Christmas, I'm going to teach you JavaScript, which is the most commonly used programming language in the world. After Christmas I'm going to teach you C++, but that's a language for another day.

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?
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?
What about the dimension of care with the dimension of time?
BTW, this idea of play and care as sustainable activities came from a brilliant talk by anthropologist, provocative critic of economic and social inequality and self-proclaimed anarchist David Graeber at amazing annual conference in Germany at the end of 2019: "From Managerial Feudalism to the Revolt of the Caring Classes". Sadly, David Graeber passed away in Venice on September 2nd, 2020. David coined the term "We are the 99 Percent" and the idea of Bullshit Jobs.

Some things to keep in mind for the whole course:

  1. Dory
  2. Henrick Kniberg on making skateboards
  3. A rubber duck
  4. Cassie Robinson's thoughts
  5. Chuck Wendig on being a magic skeleton
  6. David Bowie on being out of your depth
  7. Dhiru Thandani on rotating things that are already there
  8. Jim Jarmusch on stealing
  9. Sister Corita Kent's Rules for Art College
  10. Yohji Yamamoto on copying
  11. Stewart Brand on the responsibility of the artist
  12. On going slow
  13. Susan Wendell on hearing disabled people

What does Dory do? This is the most important thing in coding.
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!

Cassie Robinson's thoughts on what to think about when you design something.
Chuck Wendig on what to remember.
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.
Jim Jarmusch on stealing.
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.
Yohji Yamamoto is right. Copy what you love!
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:
Stop press! I found a great p5.js cheat sheet for beginners! I really recommend downloading this in your favourite human language and saving it to your desktop.
Other creative coding teachers and courses:
Other coding resources:
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:
Thanks!
Back to slide index.