The thing—the key—the realization that’s needed before you can write shaders. Really, I think this will help.
This page is also on dat.
philosopher.life, the 'wiki'/'avatar'/'life' of h0p3. serious rabbithole.
ramblinggit, bumped into him, lots of crossover with this blog.
whimsy.space v good zine by danielx.
neil c very famous but should be a world icon.
sammyclassicsonicfan the original teen rage adventure.
innovation.isotropic.org probly the best carl chudyk game.
and opinionated gamers for non-chudyk game analysis.
I often have the students concoct their own story problems. I highlight the most insane.
I often have the students concoct their own story problems. Lately, I’ve been using a tablet-based drawing tool along with some stickers from Byte. (I would love to use Byte—but it doesn’t live up to COPPA.)
One kid came up with the pictured story problem. Pardon the grammar—we didn’t proofread these.
To clear this up: the lemon is struck by lightning 117 times each day! This lemon also appears to be alive, unlike the unfortunate turtle and teacup that found themselves stuck on the same hillside.
He is also probably actually a lime. How would that be—to have your key identity discarded during this defining moment? Maybe this is that elusive lemon-lime that the soft drinks always talk about.
Clearly we are dealing with a tough fellow here—an affluent, though morose, lemon-maybe-lime. We all hurriedly dashed out the answer so that we could know exactly how many strikings this poor citrus had endured! It was a tough four days.
Now for this one.
I asked the student, “Will the hobo still blow the monkey up after he spends his $40,000?”
He said, “He’s going to blow him up no matter what.”
Wealthy monkeys, don’t do business with hoboes! Especially hoboes trafficking 18 mil in explosives! That seems suspicious to me.
The last story problem I want to mention never actually materialized, but this next one is a math-in-feelings problem.
It went like this:
(Student who has been at the counselor’s office arrives late for the activity.)
Me: “Ok, (Student). We’re coming up with story problems.”
Student: “Oh, I know what mine is!”
Me: “Let’s hear it.”
Student: “Ok. There are two guys. And they’re neighbors.”
Me: “Sounds good.”
Student: “And they hate each other in a hundred different ways.”
Me: “Oh, wow.”
Student: “But they love each other in a hundred different ways.”
Me: “So they cancel each other out.”
Student: “No, so you take all of their feelings—how many feelings all together do they have for each other?”
One of the kids next to us goes, “Four hundred feelings!” jubilantly.
A detour: three weeks teaching Twine at school. Implications feel profound.
At the beginning of the year, the principal came to me and said, “I’m going to have you help with the after-school computer club. It’s a club for fourth- and fifth-graders.”
I was like, well, yeah, I’m the computer teacher, that makes sense.
She tells me the first grade teacher is in charge and I’ll just help her.
Perfect. This particular teacher is a close friend and this probably means we can do what we want.
“And code.org is going to give you all the stuff.”
Ok, no sweat. We’ll take a look.
A month ago, I walk into the first grade teacher’s room and she’s got this little pile of stuff on her desk.
I go, “What’s all this?”
It’s the stuff from code.org. A cup. A packet of seeds. A gumball. Dirt.
She’s like, “I don’t get this.”
I clear a space and start to look over the paper she’s got—it’s this lesson plan that goes with the cup. And the dirt. (Wait—is that real dirt?)
Now, I’m just a computer teacher at a public elementary school—meaning I am absolutely the bottom of the chart on Career Day—like you do NOT bring up my job as some kid’s future—I am next to the guy selling Japanese dexterity games out of a kiosk at the mall—same guy who dresses in gold spandex and gets to be the Snitch in college Quidditch games—you don’t see him for two hours until you notice him above the quad, scaling the political science building—so, yes, a paltry elementary school computer teacher, but I have to tell you: I would never teach computer programming with a cup of dirt and a gumball. Nut uh. Not the way they’ve got this.
So we bag that.
“Ok, good,” she says. “So I’m not crazy.”
She is. All humans are. But now’s not the time.
She seems relieved at first. Until she goes on. “So the next thing is: zombies.”
Couple clicks and her Macbook is showing the zombie lesson. In this lesson, all the kids get a zombie. You basically control a zombie with code. You make it walk. Lurch forward, lurch left, lurch forward, lurch left, lurch left, lurch, lurch, lurch, then lurch right. That kind of thing.
“It’s not bad,” I say.
“I just don’t get why,” she says. “What is this for? Like: is this really teaching code?”
I’m thinking that, well, it kind of does—I guess?
“Code.org is like a million-billion dollar thing, isn’t it?”
“Well, Mark Zuckerberg,” she says. “And I think President Obama is in the video. Or he’s on the site or something.”
We look. Yeah, that IS Obama.
“So we’ll work for an hour and the kids will have made a zombie walk around a bit.”
So we bag that.
Fortunately—meaning this is where our fortune left the realm of mere dirt and a little bit of zombie walking—I had recently played a game called HIGH END CUSTOMIZABLE SAUNA EXPERIENCE. And somehow my thoughts turned toward this game, of which I recalled two things. For one, I remembered something about hacking into a cupcake in the game, which was certainly a fond memory. And then, the other thing, of course, what also came to mind, is that the game was a Twine game. A hypertext game. Made by Twine—some kind of neat way of building these games.
I pulled it up on her Macbook. Fifteen minutes later, we were like: “This. We are doing this.”
So we covered Twine for the first three weeks of the club. The first day we just showed them how to link. This was actually plenty. I think this could have gone on for three weeks alone. One of the kids came up with this game THE BLOOD FLOOD. And, in his game, everywhere you went, THE BLOOD FLOOD showed up. Like this tsunami of gore.
Another girl came up with this game where you just lose. Over and over, you just lose. First you die. Then you lose a hundred points. Then your mom traps you and you lose. And then you die and you’re broke.
Great game. Pretty lifelike.
I expected the crazy stories. What really surprised me was: a kid showed me his project and it was a map of his family, done using Twine links. So he had links for his sister and mother and father and grandparents. And you could navigate his whole family and learn about them.
The creative story side didn’t appeal to him. He wanted to use the information housing and organization aspect of programming. It was a database.
So the kids universally loved the first week. (Kids love a lot of things, though.)
Second week we ran into problems getting everyone’s pages loaded. Not everyone was using the same laptop that they used the first week. So that can be a bit of a setback when using Twine—you’ll need to archive your stories and put them on a USB stick or something. Technically, the district’s user profile sync stuff should have brought down all the Chrome settings. However, I guess it doesn’t do anything with Chrome’s LocalStorage. So some kids had to start over. It was okay—they’re a resilient bunch. All humans are. But this problem, coupled with the time required to subsequently be resilient, meant we couldn’t cover as much.
We talked about the set: command and the if: command. The point was to help them see how to pick up things and how to give the player coins, swords and other trinkets one might take a-questing.
One kid wrote this dungeon where you could pick up a sword—and the sword is at 100%—so it’s like
(set: $sword to 100).
And then, as you fight through the dungeon, the sword wears down.
(set: $sword to $sword - 5).
And then when it’s at zero, it’s useless.
(if: $sword > 0)[Take another [[swing]]?]
I was blown away by how much they could do with a simple variable and a conditional statement. I mean how. How are we spending time drawing shapes, lurching left, lurching right, when you can do all this great stuff with a variable and an if? I realize Papert did it this way—with shapes, with lurching—not with zombies but with turtles. Who am I to question Papert? Look him up on the career chart.
To me, this is incredible. On our first day, we were making actual games—text games, yes, but fun ones. I should have known better. I mean this is the generation that plays Minecraft for fun.
They were actually building the game logic. Like in a meaningful way—by turning these abstract constructs into concrete, actual iron swords that wear down.
Initially I had planned to write some macros to help with inventory in Twine. I’m so glad I didn’t. By forcing the kids to use the basic constructs directly, they were able to grasp the rudiments and then apply those throughout their games.
Too often I see sites (like codecombat.com comes to mind) which give a kid an API to use. Like useSword(), turnRight(), openDoor(). I can’t understand this. It is teaching the API—not the simple constructs. Anyway, should we really be starting right into objects, methods, arguments and all that?
Our third lesson covered adding images, music, colors and text styling. I’m not as happy with Twine’s absence of syntax here—you’re basically just doing HTML for most things. But I also felt it would be good for them to dip their toes in HTML. For some kids, they didn’t care to take the time to use this tougher syntax just to put a picture in there.
They also struggled with stuff like
(text-style: “rumble”). They loved the effect—esp. the two girls doing a graveyard adventure—but they didn’t like having to get everything perfect—the double-quotes, the colon, the spacing. This kind of syntax is a hurdle for them. Typing skills are still needed. This is a generation of iPhone users.
In all, my experiment using Twine went great—super great—they could do this every week and be content. There are a lot of movements out there to try to teach computer hacking, but they all really miss the mark in a way that Twine doesn’t. They don’t get railroaded into solving mazes. The kids come away with a real game.
How to teach — with an eye to Plato and Vygotsky
It was Christmas—and I binged on Piaget videos. And later that week, the grainy Seymour Papert documentaries where he has kids acting like robots in a field. Left! Left! LEFT! And I made several meals of Susan Engel’s essay on Curiosity. And then had it all dashed apart by Vygotsky.
Okay. Good. However—how should I teach? All this theory swimming around so impressively. What to actually say and do?
I was recommended The Educated Mind by Bret Victor at the 20 minute mark in a talk of his. Turns out this is truly a lovely book. It attempts to sum up all the theory. Everything from Plato to Piaget, Vygotsky to Carl Sagan. (Even devoting a hearty portion to irony—a virtue which never seems to get its due.) After half the book mulling over the theories, we move into practical discussion of how to materialize all of this lofty thinking into teaching our real classes. Much like the real classes I teach in one corner of an old brick elementary.
Now, it’s funny. At the same time that I find myself troubled with how to teach, I realize there is almost no other way to do this. As the King of Hearts said, “Begin at the beginning and go on till you come to the end: then stop.”
We recapitulate. We take a young one through the alphabet and all the numbers and symbols, the great novels and how to sketch with perspective and how to disassemble a frog—all that we once went through. We relive a history with them.
It is through this interiorization of historically determined and culturally organized ways of operating on information that the social nature of people comes to be their psychological nature as well.
This interiorization happens through understanding. Kieran Egan covers the many ways of understanding—he lists his five most crucial types—like Mythically, in which we deal with binary concepts and construct imaginary beings that dwell at the extremes. Romantically, in great stories that pretend to have some grand purpose. As well as Philosophic, Somatic and Ironic.
These are not mere gimmicks. We often rely, in small children, on their mythical understanding. We don’t need to explain Hansel and Gretel.
The narrator does not explicitly discuss and explain the concepts of opposition—in this case, security and fear. We presuppose that in some profound way children already know these concepts; the narrator is using their familiarity to make events in some distant forest at some distant time meaningful.
These early chapters on mythical and romantic understanding are wonderful. The mythical section studies the import of fairy tales and Peter Rabbit to toddlers; the romantic part studies both Herodotus and The Guinness Book of World Records, the appeal of high drama and human limits to adolescents. I found so many of his questions to be top notch.
[B]y far the most common learning principle urged on teachers is that children’s learning moves “from the known to the unknown,” and that, to engage their interest and make new knowledge meaningful, one must begin with something relevant to their everyday experience and connect the new knowledge to that. If this indeed is how children learn most effectively, one must wonder what does the fattest person who ever lived have to do with their everyday experience, or the most expensive postage stamp, or the longest beard?
So the theory isn’t too detached from practice. Find the extremes in the subject you’re teaching, the soul of it. Play to the bizarre and the novel. It’s not quite as simple as that, of course—leave room for a touch of irony.
By preserving the earlier kinds of understanding as much as possible, we may develop a kind of irony that enables its users to recognize validity in all perspectives, to believe all metanarratives, to accept all epistemological schemes, to give assent to every belief. […] we do have other pursuits than understanding, and for some of the more exotic amoong them magic will trump science.
Wow, this kind of thing has got to be a heresy in today’s society! The predominant notion today is that our goal is progress, our goal is a perfect truth and knowledge. To be brought back to Socrates and Nietzche—who suggested that the pursuit of truth is only driven by “wanting to be superior”—gives the feeling of an old great truth: that we are really just working with scraps of the universe here. Not the keys to ultimate truth that we pretend.
As a technology teacher, this helps remind me that maybe technology is more of a magical substance than it is a great medicine for society. A realization that cannot come quick enough now that our ideals about social media have been dispelled by the absence of the interpersonal advances we were promised. No, it was all just a trick of getting messages from here to there, not a new form of living.
The final chapters take apart how to structure actual lessons. He falters a bit here—I feel there aren’t quite enough good examples given. But he does give a few very good ones. Such as when he discusses teaching about the air around us in a mythical way.
All in all, though, very near five stars here. I read books not to agree with the authors, but to think. To mull over someone else’s thoughts, in order to find where mine stand. But this book very much influenced me. I know I will be staying close to it from now on.
Luria, A. R. (1979) The making of mind: A personal account of Soviet psychology. p. 45. ↩︎
Egan, Kieran. (1997) The Educated Mind: How Cognitive Tools Shape Our Understanding. p. 42. ↩︎
Ibid., p. 84. ↩︎
Ibid., p. 162 ↩︎
Nietzsche, Friedrich. (1968) The will to power. p. 249 ↩︎