Jason Brennan at Playgrounds Conference, 2017
This is a talk called Playgrounds. I've got to warn you. It's going to be a little different than the rest of the talks that you've heard so far. Everybody has been really good at diving deep on technical things. We've seen a lot of code on screen. We're not going to see that much code on screen here, but I do promise you this is still a talk about computers.
Let's talk about Playgrounds. This is one in the city. I spotted the other day. I thought it was really nice so I took a picture of it. We're at a conference called Playgrounds, which I'm pretty sure is named after Swift Playgrounds. I could be wrong, but I think given the imagery that's surrounding us, that's what it's about.
I think one thing that I've noticed about the way that Apple talks about Swift Playgrounds is they think of this as an educational tool. It's very clearly marketed as a thing that kids are supposed to learn with. Even last year at WWDC, they showed this ... They had this marketing campaign where they say everyone can code and they think that they're talking about this as something that everybody needs to do.
But I worry this is kind of misguided because I don't think Apple really focuses on why anybody should learn to code. The vibe I get is vaguely “so you can make apps”, but they don't really clarify should everybody be making apps? Do they want to turn every kid into an app developer?
It's unclear. Now, I'm all for making software development, the job that I think most of us probably do, as more accessible, more available to children and to more people who want to be software developers as an adult. I support that, but I don't think that everybody necessarily needs to learn to code Swift or a similar language.
So there is this quote by this guy and he said, "Everybody in this country, which is America, should learn to program a computer because it teaches you how to think." I think that's a misconception. First of all, Steve was not a programmer. It's awkward that he's suggesting this when he didn't do it himself.
It's not necessarily a deal breaker, but I think the problem here, the misconception is that coding on its own doesn't really teach you how to think at all. It just teaches you how to code, but I do think there's still a big thing to using computers as this educational medium that this learning to code movement misses and that's what this talk is really about.
This talk is in two parts. First is what is the purpose of education and then the second part is what should programmers do about it. I'm going to dive in. I'm going to tell you a little bit about me first. To give you some context for where I'm coming from, just so we have a little bit of a sense here.
A few years ago, I became enamored with this idea of ... As computers, as a creative medium, as a tool that anybody can use to learn, to think with, to express ideas and that's thanks in large part to this guy, Alan Kay, he's a computing pioneer. How many people here have ever used a thing called object-oriented programming?
Show of hands. Okay, there's a few of you. How many people here have ever used an iPad? Show of hands. Okay, a couple more. How many people have ever used a computer that uses like a mouse and windows and icons and menus and stuff, anybody? All right, you have Alan to thank for that. Alan and his team at Xerox in the 1970's invented all of that stuff.
He's a big inspiration to me. His whole thing is beyond ... programming, is beyond windows and menus and icons, but that's things we all know him for. We're going to hear a lot from Alan throughout this talk. I became enamored with his idea and then I found this company called Hopscotch.
Hopscotch was a startup in New York City, which is where I live and their whole thing is ... it's a programming environment for kids on the iPad, which was really cool because kids are learning with iPads and also the fact that this was a paying job just blew my mind. I worked with them for a little while.
They have this programming environment where you have characters. While I work for them, we redesign and rebuilt the app to have this drag and drop environment. You position characters. You're in this blueprint world. It's very tangible. It's very spatial. Then we also have this block space programming part of it where you drag and drop blocks of code.
The nice thing about blocks of code is there are no syntax errors here. It doesn't matter how old you are, you cannot have a syntax error in this app and that really helps children who are learning programming. We also had a community, an online community where thousands of kids every day were exchanging projects.
They were all essentially open source. They borrowed ideas from each other and they even ran into intellectual property issues. These kids just didn't understand the idea of sharing ideas so we got to finally ... We got to really teach them how to do this and it was really funny because kids, they love emojis. That was really fun to work on.
I also started to work on inventing the future of what we hoped math education would be like for young children. These are like mini playgrounds for kids. They're not games. They're not entertainment. They're just environments where kids get to learn mathematical concepts through numbers and time and counting.
They get to grow things. They get to learn how to draw their numbers. They're dealing with scale. They're dealing with numeracy and integers between zero to ten. They're finding math in nature and with color and music. It was a really enriching environment to work in. I worked on that for a little while at Khan Academy.
I've done some other things like this programming environment that's based on comics. Instead of writing lines of code or dragging or dropping blocks, you just have strips of a comic and then the whole environment is live. It's reactive. You can play with everything and see it react where your writing code is the same thing as reading code.
I worked on that for a little while and all the while while I was working on these things, this idea of “everybody should learn to code” started emerging and that's what brings us back to Swift Playgrounds. Here we are. That's a little bit about me and now I want to talk about education.
What is the purpose of education? This feels like a really obvious thing. It's really obvious, but it turns out it's hard to answer this question. Here are just some of the books that I own that try to answer this question. I'm going to answer it for you in this 20-minute talk. No, I'm lying. I'm not going to answer it for you, but I am going to give you one answer that is hopefully useful, if not definitive about what the purpose of education is.
To do that, we have to look at who's being educated. It's people, it’s people who are being educated. We have to look at human beings and why we even need to educate them in the first place. I'm primarily going to focus on the minds/brains of human beings, but don't forget that there's a body attached to the mind/brain thing, which is also important.
I'm not really going to talk about that aspect of the whole body today, but don't forget about it. There's this amazing book called The Meaning of the Body that talks about how people have understanding just through their whole physical being into their brains. Very interesting stuff.
You might want to get it for any flights back to North America or to Europe. It's a nice, nice read for a plane. Okay, we're back to the brain. I found this really gross picture. This is what's inside of all of our heads. It seems really fascinating. If you study the brain at all, even just basic watching Discovery Channel episode about the brain, which is very accurate, it's fascinating, but when you study it, you realize that it only barely works at all.
The fact that I'm standing here talking is just a marvel of evolution and really nice conference organizers for letting me put a gross picture of a brain up on screen. There's this dreadfully good book called Thinking, Fast and Slow. It's very long, but it's a very interesting book as well.
Essentially, the book is about cognitive biases. It's about blind spots that we have in the brain essentially. There are dozens of these things. I'm going to talk about a few of them very briefly. One cognitive bias is the tendency to search for interpret, focus on, remember information in a way that confirms one's preconception.
This is a confirmation bias. This is why it's really hard to argue with your racist relatives basically. We all suffer from this. Another one, according to Wikipedia is the Sunk Cost Fallacy, the phenomenon where people justify increased investment in a decision based on the accumulative prior investment despite having new evidence suggesting that the decision was probably wrong.
Has anybody ever worked on a software team that did anything like that? Yeah. We have these cognitive biases and what they really illustrate I think is that reality is the hallucination that just only barely works. We're just constantly just trucking along with these brains that are half functioning at best.
Our brains invent this idea that we are in control of ourselves, that we're totally aware of what's going on, that we make rational decisions about everything that we don't ever make mistakes, but of course that's just a lie because it would be inconceivable to deal with all of that all the time.
Our brains do us a favor by just papering it all over. I want to sum up a little bit. A lot of this talk is inspired by Alan so I'm going to let him finish this bit off.
Video of Alan Kay: “We're kind of like a cave person with a briefcase if you sum all this up. And in that briefcase are a lot of baggage from the past. All those human 101 stuff- but instead of a spear, we've got nuclear weapons, and the same old brain. This is pretty scary. The thing is is that what's wrong with us has far larger consequences.
This is why education has to wake up. It has to get into what's actually going on and what needs to be done. What's a better context? Well, here's my colleague by heart, very talented artist and educator and she said we must ensure that human wisdom exceeds human power.
That's just the great sentence for what education is about. That's it. Ensure that human wisdom exceeds our power. What that means is we can't try to take the old brain and extend it by external tools. That's the deadly part. The tools can't be out there. We have to get some tools in here and that means we have to grow some habits that are not naturally there in the human psyche”.
Alan says that the purpose of education is to make sure that our wisdom exceeds our power and if Alan says that's it, that's good enough for me. We have these problematic brains, these problematic minds and we want to fix those. We want to learn better habits to getting around those and in order to do that, we have to remember that we not only are complicated human beings, but we're also complicated things that interact with the rest of the world.
We have many systems in our body. We have a digestive system. We have emotional systems. We have intellectual systems. We have skeletal systems, respiratory systems and these, of course all inter play to keep each and every one of us alive every day. We also live in cultural systems so we're a programming culture here in this room.
We're in a country, which is a political and national system. We have technology so we have these vast networks like highway systems or the internet that are systems that move around us as people. There are ecological systems that we're a part of because we're biological beings. There's also animals. There's weather. There's plants. All of these things interplay together and these are the contexts for what our education needs to know about.
It's this unifying idea that education basically entirely misses because it's really hard to talk about these things. That's the purpose for education and what context like what I think people need to know about. The second part is what should programmers even do about that. Where do we start?
The first thing is to just learn. I had this slide up earlier with all these books, the first thing that we need to do as programmers is learn from educators, learn from teachers, learn from students, learn from kids all around the world, learn about how they develop, about how they grow, how they interact with people.
I think so often in the software development community, we just have this idea that we need to just jump in and change things because we know how to do them better, but I think that that can lead us down some bad ways because if we don't understand what we're changing or what we're trying to ... I think the word is “disrupt”, then I think it's very easy to actually disrupt things, to actually make them go sour. The first step really is to not do that.
If you spend anytime learning about learning, learning about how people learn, you realize that it's really hard. Now, we decide that in school that you need to learn how to read. You need to learn math. You need to learn science. As a kid, there are often like things that you don't really want to do because we're not really set up to want to learn how to read.
Reading is really hard, to look at squiggles on a page and then decide that this actually means something. You have to train yourself over years to be able to do that. We're not really set up to learn these sorts of things, but we do anyway, because we have to have a culture where this is important to know.
We have a literate culture. People grow up, learning to read because their parents read books or their older siblings read books or whatever. We are genetically set up to learn from our culture, the thing that we're submerged in. There's this educator, Seymour Papert, he just died recently, but he had this saying. He would say, "If you want a child to learn French, take them to France. If you want a child to learn math, take them to mathland."
Mathland is not an actual place on a map anywhere, but it was a fictional world that he invented. He invented it in a programming language called Logo. You may have learned Logo or heard of it or played with it a bit as a kid. Now, you can look at Logo and say that it's a coding language. It's a way to learn how to code, but coding wasn't really the point of Logo.
This is what a Logo program would look like. You have this little pointer on the screen that's called the turtle. Originally, the Logo turtle was a robot that was the size of a five year old essentially and it would draw on paper on the floor, but modern Logo exists on computer screens for better or worse.
While you did write code to make the turtle do things, that wasn't the point of it at all. The point of Logo was to be an environment where kids could think with math. They could type in math, but they could also play with it. They could send it to other kids. They could exchange information. They could exchange ideas and they had this medium on a computer as a thing to point to where we might talk about math in most schools with pencil and paper or chalk on a chalkboard but, you can't really play with that chalk.
You can't really play with the formula written down whereas with Logo, you draw a picture, you draw polygons, you draw flowers, you draw whatever you want. This is what Mathland was to Seymour. This is the idea of culturally submerging people via the medium of the computer. This was his big idea. I think that's so wonderful, to use the computer for that.
This guy, Ted Nelson, he among other things invented hypertext. You might have heard of it and he had this thing in his interview from years ago, I couldn't even find it, but I'm going to paraphrase it. He said: the name “computer” is an unfortunate accident of history. The least interesting thing that a computer does is actually compute things.
What's interesting about a computer is that it is a meta-medium. It can simulate pretty much anything that we throw at it and that's what's really interesting about a computer. The fact that we call it by the word computer, it distracts us all from the fact that it's actually really good at just simulating anything.
That brings us back to Apple. We're at a talk called Playgrounds so of course I have to talk about Playground. I think everybody has seen Apple's environment, but if you haven't, this is what it looks like. This is Playground. It's singular. It's a completely different app, but Apple had this as a research project in the 80's.
Now, what it was, it was a Mac app and instead of being an app where you coded with it, where you wrote codes and get things on the screen. This app was more of a drawing app to start with. This looks like if you've ever played with Mac paint back in the day or MS paint. It's very similar. You have these drawing objects. You draw them on a canvas.
What do you want to do? If you're a kid, you probably are interested in nature or you're interested in making things come alive. You play with your toys. Playground was an environment for making these things come to life. You draw a fish and you draw a shark and then you want to make it come to life.
You do have to program it a little bit, but the point isn't really about writing the code. The point is really about making the fish come to life. If I want to make this fish come to life, I have to think about what does the fish want to do? What does a fish do? Well, the fish has to swim and the fish has to eat and I'm like, "Okay, well what does the shark have to do?"
Well, the shark has to swim and the shark has to eat, but what does the shark eat? The shark eats the fish. Now, I have to go back and I have to think about what the fish needs to do because the fish wants to eat food, but the fish doesn't want to get eaten by the shark and it really wants to get eaten by the shark a lot less than it wants to find its own food.
In doing this, I'm ... I don't care about algorithms so much. I'm not really focused on the mechanics of how this works. I'm really focused on what these creatures are thinking about and it turns out we have a word for this. Thinking about thinking is known as epistemology which I've been practicing that word all day.
It's very hard to say out loud, but this app focused on getting children to think about thinking, to think about how other children thought, to think about how their animals think, to think about how they interact in the ecosystem and this was a long time ago. How does this compare to Swift Playgrounds, Apple's environment to get all children to learn with iPads?
This is what we have now and it's nice, it's very ... It's colorful. It's a lot more colorful than we had before, but I think that it focuses on the wrong thing. This isn't really a great environment for learning anything except for just Swift. I mean, this bit is about for loops and like ... I don't know. It's hard to get kids excited about for loops.
I don't know if you've tried. It's very difficult. In fact, they don't really want you… It's not about thinking about anything. It's literally about thinking like a computer. This is from the iBook that Apple released with Swift Playgrounds for the iPad and literally the first chapter is called “Think Like a Computer”.
I think that's a crock of shit. I honestly think that is just bullshit. I mean, if you're being a software developer, if you have a job like most of us here do as software developers, yes, it's important to be able to think like a computer because unfortunately that's our jobs.
That's one aspect of our jobs, but if your child is trying to learn about an ecosystem or a complex idea like a political system, if you want a child to program a simulation of racial oppression or the patriarchy or a financial system, good luck doing that with Swift. Swift is a great language. It's a great language for professional software developers.
It focuses on things like; type safety and memory management and speed, and these are all really good things for our job, but they're not at all relevant to children trying to learn complex ideas on a computer. I think what we really need, we really just need new media for our complex ideas to be exposed in.
We as a culture get everybody to learn, to read and write on paper and books not because we want everybody to become an author or to become a journalist, although it's great if they do, that's not really the point. The point is that our culture has decided that there are these really important ideas that we've written down in our literature.
We have vast literature that we all share. These are really big ideas and you learning to read and write is just a way to get into that culture. Similarly, there are really big ideas that don't exist well in paper. They are live simulations. They're thinking about complex things. That's why I think we need new environments for people to work in these.
The closest thing that we have to it today is programming, is coding, but coding is often far too low level, too focused on mechanics to really be a good environment for that. If you're interested at all in this, please come talk to me. I love it obviously. I eat and breathe it, but it's a really hard problem and we need more people involved in it.
Swift Playgrounds is a nice attempt to getting computers, to get programming into more people's hands, but I think it completely misses the point of what computers should be doing for education. Thank you very much.
If you enjoyed this talk, you can find more info: