Hi!
I'm going to start every lecture with a promise and an artist to reference.
I promise that by the end of this lecture you'll be able to understand how you can use objects in your code to scale from one interesting thing to whole ecologies of interesting things, reacting to each other.
Hyperobjects are a "objects that are so massively distributed in time and space as to transcend spatiotemporal specificity, such as global warming, styrofoam, and radioactive plutonium". It really helped me start to think about why we aren't doing anything about global warming and what artists and designers can do about that.
I think alot of Timothy's work is about what objects are, how they work and what they do in the world - which is why he's perfect for today's lecture - which is on exactly those things! N.B.
Object orientated ontology and
object orientated programming are not the same thing. But they do use the same word. So there!
The main thing I want you keep in mind today is the power of object orientated programming (OOP) is that we can combine data and logic together - this makes it much easier to build really large scale software systems, and to share those systems with others - often known as libraries of code. Libraries of code can be abstracted into
Application Programming Interfaces (API's) - which is a way of abstracting a load of complexity behind a series of commands and formats of data. For example, Google, Amazon, Microsoft and Apple all provide API's to their operating systems (either locally or on the cloud).
By the end of this lecture, you'll know more about:
- Two pioneers in computing, Seymour Papert and Alan Kay, and how they helped contribute to the creation of Graphical User Interfaces (GUI's) and a new way of programming that was invented to make that happen - Object Orientated Programming (OOP)
- What OOP is, and how the idea of abstraction plays into it
- How to do OOP using p5.js
- How to add other libraries of JavaScript code to your p5.js projects, and some of the most interesting ones I've used in my work
Two pioneers in computing, Seymour Papert and Alan Kay, and how they helped contribute to the creation of Graphical User Interfaces (GUI's) and a new way of programming that was invented to make that happen - Object Orientated Programming (OOP).
What OOP is, and how the idea of abstraction plays into it.
How to do OOP using p5.js - time for lots of chickens and eggs to come together!
How to add other libraries of JavaScript code to your p5.js projects, and some of the most interesting ones I've used in my work.
Do you remember that falling logo I showed you in a previous lecture?
Let's take a look at how it includes other libraries apart from p5.js -
p5.gui and
matter.js. Making GUI's for your sketches is a great idea because you can use that GUI to quickly tweak settings and the like - to explore the "possibility space" of your code. I love using physics simulations to animate with because I'm too lazy to do keyframe animation.
Let's finish with a quick tour through some other JavaScript libraries that might be useful.