Babbage University
There are stories here for your current quest
Babbage University
Metapolis' famed university. Named for the inventor of the computer, Charles Babbage: the first programmer.Story Table of Contents
6 of 8Chapter 5: The Science behind Games
You pass the now familiar model of Babbage's Analytical Enginenin in the Neuroscience wing of Babbage University and take the stairs up to Professor Istoria's office.
"Back again, I see," says Istoria, as you walk in. "Have a seat."
"I suppose you know why I'm here," you say, taking a seat.
"Well let's get to it, shall we? Games, games, games..." He mutters, before stopping suddenly and fixing you with a piercing gaze. "Are you in a state of flow right now?"
"Um, I don't know." You say. "I have heard that phrase a couple times -- 'state of flow' or 'flow state' -- what does that mean?"
"That's not how this game is played! You remember, right?" The Professor pauses, but you aren't sure what he is waiting for. He continues. "The game we played last time. I ask questions. You answer them."
"Right."
"So, are you in a flow state right now?"
"Maybe?" Seeing that this half-answer isn't satisfying to Istoria, you continue. "Sure. Yes. I am."
"Hmmmm, how long has it been since you sat down?"
"Just a few seconds."
"And were you aware of those seconds as they passed?"
"I suppose so."
"Then you were not in a flow state," Professor Istoria says. He rummages in his desk and returns with a sheet of gold stars -- the kind a grade school teacher might use. Delicately, he peels off one of them and keeps it on the end of his index finger. "Now, let's try your question. What is a flow state?" he asks.
"I guess you're trying to get me to say that it's a state where you're not quite aware of the passage of time."
He reaches across the desk to give you the gold star. Not knowing quite what to do with it, you stick it to the back of your hand. By the time you've done so, he has already peeled off the next one.
"Tell me more," Professor Istoria says.
"Okay, so MetaCoders classes alternate between Story Mode and Game Mode," you begin, thinking out loud. "In Story Mode, coaches communicate information, ideas, and values in the form of stories and discussions -- with the ideal goal of inducing a kind of deep engagement scientists call 'narrative transporation.'" The professor slowly begins to extend the gold star to you. You go on, encouraged: "I'm guessing that in Game Mode, we do the same thing, but with 'flow state.' Actually, now that I'm thinking about it, maybe narrative transportation and flow state are the same?"
Suddenly, Professor Istoria stops, scowls, and retracts the gold star. "If they were the same, why would they need different names?"
"Well..."
"Have you seen a child engaged in a game? Does it look like a child engaged in a story? Have you played a game? Does that feel the same as watching a movie?"
"Okay, okay, maybe they aren't exactly the same. But still," you argue, "they don't seem entirely different. Video games and movies both make me lose track of time."
He tears the gold star in half. "I suppose you're half right." He hands you the half-star, which you place on the back of your hand. "But half right is also half wrong. Two things can both cause us to lose track of time yet still be distinct states of mind. When you're at the movies, and it doesn't turn out the way you want, do you buy another ticket and watch it again, hoping for a new ending? When you read a book, and the ending sucks, is it your fault?"
You laugh. "I see what you're saying. In games, we have a kind of agency; we have a goal, a way of achieving it, and things standing in our way. I suppose you could say that we're enacting a story, not just trying to understand one being told to us. So when it turns out badly, we know it was our own fault -- and we often feel a desire to try again -- assuming we feel the game was fair and balanced, and that we have a shot at doing better the next time."
He gives you the other half of the gold star. "Are games the only way of inducing flow state?"
"You still haven't told me exactly what a flow state is," you observe. "But it sounds like it's both a feeling being highly absorbed, losing track of time, and feeling like you have some control over the situation..." You ponder for a moment. "... but not too much control. Things have to be a bit unpredictable, or else they get boring. When you are bored you are aware of time and so not in flow..." You glance at him to see if you're on the right track. His face is unreadable as he inspects the way the light from the open window hits the next gold star on his fingertip. "I suppose someone could feel a state of flow with pretty much anything. Cooking -- for example. I could imagine someone getting absorbed in the challenge of cooking a challenging recipe. Or when playing music -- I could imagine someone getting into a state of flow -- as long as the piece isn't too easy or too hard."
He hands you the star. "Being 'in the zone,'" he says. "That's what atheletes call it. Psychologists starting calling it 'flow state' in 1975." Seeing your surprise, he nods, "Yes, we've been studying this state of mind for a long time. Like narrative transportation, it's a state that seems to be deeply human. Children experience it. Adults do, too. It spans cultures and geographies. Games have been with our species for -- well -- how long do you think?"
"I know that chess is an extremely old game. And we've been doing the Olympics for thousands of years. I'm not an expert, but I would guess that human brains have been making up games and getting into flow states for as long as we've had language -- 200,000 years or so. Maybe even longer."
"Give me back the gold stars," he says, much to your disappointment.
Wondering what you got wrong, you peel off the three stars and hand them back. Professor Istoria throws them into the trashcan beside his desk. He rummages around and finds a fidget spinner and hands it to you.
"Well done," he says. "This is yours now."
You take it and thank him.
"But," he says. "Use it wisely. It isn't just a fidget spinner."
"It's not?" you say, spinning it and examining it very closely. "It certainly looks like one."
"Let me repeat myself. It isn't just a fidget spinner. It is one. But it isn't just one."
"Okay..." you say. "It looks like just a fidget spinner, though."
"It's also a game piece," he says. "In this game we're playing right now. Three stars gets you a fidget spinner. One figet spinner..."
"Gets me what?" you ask.
"Gets you nothing," he says. "But two fidget spinners can be exchanged for a secret prize."
"Are you trying to teach me about gamification?"
He ignores you. "Study this for a moment." He hands you a card with information on it. "It's direct from Wikipedia."
When you are finished: "Assume," he says, "a coach or teacher knows how to craft experiences that induce flow states, how might they leverage that skill in an educational environment?"
"The card seems to suggest that flow states increase motivation and self-directed learning, so I guess I would try to give my students as many flow state opportunities as possible with educational games and stuff."
He doesn't answer. He just wordlessly takes a gold star from his sheet and, instead of giving it to you, throws it into the trash. You try again:
"I guess I would try gamify-ing my classroom, to make things fun. Like, I would give out gold stars and fidget spinners ..."
Another gold star goes into the trashcan.
You try a third time. "I would give stars to students who successfully get into a flow ..." As he begins to waste another perfectly good gold star, you protest, "I can't be that far off. I don't know the exact was to do it, but I do know that games are fun and engaging, and you just showed me that there's scientific evidence supporting a connection between flow states and performance gains. If flow states can be woven into a classroom, why wouldn't you do it?"
The gold star sticks to his finger and won't go into the trashcan. He shakes it, but it stays. Still trying to shake it off, he says, "This is the problem with non-scientists. You hear 'flow states are good' and immediately think 'give kids as many flow states as possible.' It's not wrong, but it's crude and reductive. What kind of flow states? How do you make sure that what students learn during flow states are what you wanted them to learn in the first place? How do you put them in the flow state you want them to be in?"
"With coding..." you say, causing him to pause his efforts to trash the gold star, "... I guess my goal as a MetaCoders coach is to induce flow states in which students are writing, reading, or editing code. If it was a Spanish class, I suppose my goal would be to induce flow states in which students are speaking, reading, or writing in Spanish."
He hands over the gold star. Strangely proud, you put it on your hand and give your fidget spinner a whirl.
You go on: "Or... because we also train teamwork and leadership, a game where students work together and achieve a flow state can help students build those skills too. I could see a lot of increasingly complex Game Modes the stronger those skills become."
"A coding flow state," says Istoria. "Have you ever experienced it?"
"Maybe," you say. "But I don't know."
"How would you induce a coding flowstate for yourself?"
"It depends on whether my skill in the language matches the task I'm trying to do. One thing that takes me out of the flow state is all the error messages, though."
He grunts in disapproval. He hands you a card. "Read me the third criteria for flow states."
Incredients for Flow States
- Feeling the potential to succeed.
- Feeling so engrossed in the experience, that other needs become negligible.
- Immediate feedback.
"Immediate feedback," you say.
"Let me ask you," he says. "When you run a program with errors in it, how quickly do you get back an error message?"
"Immediately, I guess."
"Those error messages on the computer are a constant stream of one of the key ingredients of flow," he says. "Saying that they take you out of the flow state is like a tennis player saying that the net breaks the flow state, or a soccer player saying the goalie takes them out of it. As you said, the Olypmics has been running for thousands of years. Why are sports such powerful flow state inducers?"
"Well, we get immediate feedback on our performance. We can see the ball hit the net with our own eyes; we don't have to wait a week for a teacher to hand us back our soccer grades to know if we made our shots."
"And what would a coach say to a young player who complained that the goalie was distracting from their state of flow."
Voluntarily, you peel off the gold star and give it back to him. "Yeah, you're right," you say.
But he is not letting you off the hook, "Right about what?"
"How I see the error messages is a matter of perspective. Bugs are evidence that we have more to learn, things we did wrong but didn't know at the time. If you look at it with a positive spin, I suppose the computer is politely informing us that we didn't understand something. It's like a parent correcting a child when they misspeak. If you look at it that way, the errors don't have to take you out of your flow state, they are just challenges that are part of the game."
He gives you back your gold star. "So we've covered that Game Mode is less about games and more about a state of mind. Why do you think MetaCoders calls it Game Mode?"
"We do play games during Game Mode," you point out. "But we also do drills and activities. I guess they're all game-like."
"So Game Mode is for game-like things?"
You spin the fidget spinner, lost in thought. Istoria patiently waits. His sheet of gold stars is almost empty, only two left.
Finally, you say, "Maybe it's also to help students understand what we want from them. We want them to learn how to become engaged with coding in the same way that they engage with video games or sports. But they don't all realize that they can yet. So we call it Game Mode, to help them understand that their brains should be in the same mode as when they play games. If we asked kids to 'put their brains into a flow state' -- they wouldn't necessarily know what we're talking about. But -- put your brains in 'game mode' is an easier starting point for what we're asking them to do."
He gives you the second-to-last star. You put it on your hand with the other one. You're suddenly curious what two fidget spinners will get you. Will it be a some kind of gag gift? Maybe a book? Maybe just a card full of information?
"Cognitive load," he says. "If you hang out in the Department of Neuroscience and just listen, you'll hear my colleagues and I use that phrase quite often -- more often than 'flow state' in fact. What do you think it means?"
"The load on your mind at any given time, I would guess. Like if you're strolling through the park, you might have less on your mind than if you're, say, doing a math problem in your head or juggling. Or doing both at once."
"Psychologists have been studying cognitive load and the limitations of working memory since the 1960s," he says. "How many things can the human mind keep in its working memory at one time?"
"I think I remember this one from Intro to Psych," you say. "It's seven, give or take. Right?"
He nods but doesn't give you the gold star. "And how does cognitive load relate to flow states?"
"I would guess that if your cognitive load is too low, then you're bored -- so no flow. In fact, the definition of flow is total absorption in the task at hand, so I suppose that cognitive load should be high. When I'm in the zone in a game or sport, I feel like my entire self is focused on that one thing."
"So if you raise cognitive load, you induce flow?" he asks, beginning to hand you the last star.
You sense it's a trap. You don't answer. Istoria pauses.
"No," you say. "If a child's mind is on his math test he failed earlier and the fact that his best friend has strep throat and the fact that his computer keeps giving him error messages -- that's a lot of cognitive load, but none of it aids the task at hand. So it's all just inner noise that distracts from any flow state they might experience."
Istoria gives you a rare smile. "Go on," he says. "How can a teacher -- or a coach -- help students experiencing a cognitive load like that get into a flow state?"
You want the gold star, but you find yourself coming up blank. After a moment's thought you say, "I don't know. It depends on the student. For some, maybe it's enough to explain that Game Mode involves putting distractions out of your mind. For some, you might have to notice that they're distracted, listen to what they say, and help them choose to set their problems aside for a moment. This feels like the part of coaching that's the most subtle. I really don't know..."
You half-hope that Istoria will give you card that contains the secret to making any student inspired and focused. But instead, he simply gives you the final gold star. "Well done," he says. "Would you like to trade in your stars for another fidget spinner?"
You nod, pealing off the stars. When the exchange is complete, you have a red fidget spinner in one hand and a blue one in the other.
"Now," he says, "I'm about to give you the option of trading in the two spinners for something else. But first, I must ask you -- did these gold stars and fidget spinners help you achieve a flow state during our conversation?"
"Um... I guess maybe..."
"Stop being polite."
"Not really," you say. "It was fun, but it didn't exactly put me into a flow state."
"Gamification," he says. "It's a hot topic these days. There are teachers gamifying their classrooms with experience points and fuzzies. There are businesses gamifying commerce with point systems and rewards. There are scientists who create ed tech software with points, digital marketplaces, unlockable content, and so on. There's gamification everywhere. Even MetaCoders gives badges to their students -- much like the Boy Scouts or Girl Scouts. But I must ask you..."
You lean forward, waiting for the question.
"Gameification and Game Mode both have the g-word in them," he says. "How are the two related? Or are they?"
"I haven't personally seen a MetaCoders coach giving out a badge yet," you say. "But I've seen the badges on their coach hoodies. But to be honest, I feel like the badges are less about Game Mode and more about Story Mode."
"Say more," he says.
"Well, if a kid is getting a badge," you reason, "they probably aren't in a state of flow. You have to stop what you're doing and receive the badge from the coach. Plus, when a coach hands out a badge, they probably congratulate them or tell them why they are getting it. That's a story. Badges mean more when people know why they're getting them. And then the badge on their hoodies gives them an external symbol of that why. Students can point to the badges and tell the story of their growth as a MetaCoder."
"Games and stories," says Istoria. "They're two activities that almost every human being currently alive and every human being who has ever lived has participated in. What a coincidence! It's enough to make anyone ask -- are games and stories really so separate? You yourself asked if narrative transportation and flow state are the same. Maybe they are. That's the kind of thing we study here at the Department of Neuroscience." He holds out his hands. "Do you want to trade your spinners?"
You give him your spinners, reluctantly, thinking it unlikely that you will receive something of equal or greater value back.
He holds both spinners up, one red, one blue. He pauses dramatically, as if to let you know that this is the final question, the moment of truth. "You can tell stories about games. And you can play games that involve telling stories. There are even things that blur the lines between games and stories. A choose-your-own-adventure book is a story where you make choices -- so is it a game too? In a roleplaying game, the Dungeon Master tells stories, but the players take part in the narrative -- is it a story or a game? As a coach," he says, "some of your Story Modes may have some gamification involved and some of your Game Modes may have a storytelling component. How can you tell the difference between a Game Mode and a Story Mode when the lines start getting blury?"
"I guess it all comes down to narrative transportation versus flow state. And maybe that comes down to cognitive load -- stories don't need to be cognitively difficult to understand in order to transport you. Simple stories can still be powerful. Even stories we've experienced before can still transport us. Games, on the other hand -- they should to pose some challenge and cognitive load if they are intended to induce a state of flow."
Without telling you if you're right or wrong, he writes down from memory the urls for the following YouTube videos on a card and hands it to you:
On working Memory Neurochemistry of Flow States Classroom Gamification Positive Psychology (begins talking about flow about 13 minutes in) A talk about flow by the first psychologist to study it
He also hands you a book from his shelf. You assume that these are your prises for the fidget spinners. "It's less dense than the last one," he says.
"Thanks," you say, feeling a tiny bit cheated -- that didn't seem like a fair trade. As you get up to leave, to your surprise, he hands you a fresh sheet of gold stars and both fidget spinners back, along with a green one and a yellow one. His desk drawer must be full of them.
"Coach," he says. "Use them wisely. In the hands of a good coach, a fidget spinner is not a fidget spinner, and a star sticker is not a star sticker."
Chapter 5: The Science behind Games
Wed, March 31 6:00 PM
Read the full story to the right:
Dijsktra Elementary
There are no stories here for your current quest
Dijsktra Elementary
Named for a cool dude.Story Table of Contents
No stories here at this time. Look elsewhere!
Lovelace Elementary
There are no stories here for your current quest
Lovelace Elementary
Named for Ada Lovelace, one of the world's first programmers. Her life was tragically short, but her legacy shall live forever.Story Table of Contents
No stories here at this time. Look elsewhere!
Margaret Hamilton Elementary
There are no stories here for your current quest
Margaret Hamilton Elementary
Named for the an American computer scientist, systems engineer and business owner. She was director of the Software Engineering Division of the MIT Instrumentation Laboratory, which developed on-board flight software for NASA's Apollo space program.Story Table of Contents
No stories here at this time. Look elsewhere!
Pascal Elementary
There are no stories here for your current quest
Pascal Elementary
Named for a cool dude.Story Table of Contents
No stories here at this time. Look elsewhere!
Bruce's House
There are no stories here for your current quest
Bruce's House
Bruce is MetaCoder's newest Coding Coach in Metapolis; he was hired at the beginning of March. He lives here with his family.Story Table of Contents
No stories here at this time. Look elsewhere!
Jack's House
There are no stories here for your current quest
Jack's House
Jack's place has an extra room that is used as an office space, this is where he will keep all the equipment.
Story Table of Contents
No stories here at this time. Look elsewhere!
John's House
There are no stories here for your current quest
John's House
John lives in a condo that has a side gate with easy access to his back door, inside he has a small room inside where he keeps all the equipment.
Story Table of Contents
No stories here at this time. Look elsewhere!
Joseph's House
There are no stories here for your current quest
Joseph's House
This is where Joseph lives. Or so he tells us.
Story Table of Contents
No stories here at this time. Look elsewhere!
Kate's House
There are no stories here for your current quest
Kate's House
Kate's house has a driveway and a garage where she keeps all the equipment.
Story Table of Contents
No stories here at this time. Look elsewhere!
Ruby's House
There are no stories here for your current quest
Ruby's House
This is where Ruby lives.
Story Table of Contents
No stories here at this time. Look elsewhere!
Coder Cafe
There are no stories here for your current quest
Coder Cafe
A quaint coffee shop frequented by coders of all sorts.Story Table of Contents
No stories here at this time. Look elsewhere!
Hopper Library
There are no stories here for your current quest
Hopper Library
Named after Grace Hopper, who created the first computer language compiler, which led to the COBOL programming language.Story Table of Contents
No stories here at this time. Look elsewhere!
MetaCoders HQ
There are no stories here for your current quest
MetaCoders HQ
The mothership hovers benevolently over the city of Metapolis. The population thrives in the cool shade beneath.Story Table of Contents
No stories here at this time. Look elsewhere!
Kick Butt Martial Arts
There are no stories here for your current quest
Kick Butt Martial Arts
A local business owned by Johnny Lawrence.Story Table of Contents
No stories here at this time. Look elsewhere!
Metapolis Welcome Center
There are stories here for your current quest
Metapolis Welcome Center
Where all vistors to Metapolis are encouraged to begin their journey.Hint: Most quests will start here...
Story Table of Contents
2 of 8Chapter 5: Intro
Welcome back to Metapolis! We are back in early Spring, seeing the MetaCoders' classes starting up for a new session.The theme of this chapter is Game Mode! We'll dive in and see Games in action, as well as make another stop at Babbage University to gain a scientific perspective.
Our travel guide today includes:
- Turing Recreational Center Where we'll observe a few Game Modes on the first day of a new session.
- Babbage University Where we'll learn about the science of games in education.
- Lastly, we will jump forward in time, and revisit Turing Recreational Center to see a special Game Mode -- the last day's Game Jam.
Chapter 5: Intro
Tue, April 6 12:00 PM
Read the full story to the right:
TechSquared
There are no stories here for your current quest
TechSquared
A big business that does big, big things.Story Table of Contents
No stories here at this time. Look elsewhere!
Turing Recreational Center
There are stories here for your current quest
Turing Recreational Center
Named after Alan Turing -- considered the father of theoretical computer science and A.I.Story Table of Contents
4 of 8Enter Game Mode
4:00 pm -- class start time
You park at the rec center and are not surprised, upon entering, to see a picture that appears to be Alan Turing. Upon a second glance, you relize it is not actually Alan Turing at all, but the actor Benedict Cumberbatch.
The plaque reveals that it is indeed Benedict Cumberbatch, who played Alan Turing in the award-winning 2014 biopic The Imitation Game -- which recounts the story of Alan Turing's influential role in the cracking of German military encryption during World War II.
A picture of the actual Alan Turing is hanging on the opposite wall.
This plaque notes that, in addition to breaking codes during World War II and publishing some of the deepest, well-respected results in the field of theoretical computer science, Turing was also a world-class long-distance runner. He had once run a 2:46 marathon and would sometimes run 40 miles just to attend meetings.
You ask person at the front desk if you need to sign in for the MetaCoders class, but he tells you that there is no need -- this is a community center and everyone is welcome! He points you in the direction of the Arts and Crafts room, where the today's class is held.
4:04 pm
As you step into the room, you can tell that Ruby is just finishing her coach story, which tells you that this must be the first day of this MetaCoders class.
"And that's why the next Nanowrimo that I do is going to be a digital work of fiction, written partially in English and partially in code!"
The students, there're about a dozen of them seated around Ruby, say things like "woah" and "no way!" They look to be about the same age as the students in Bruce's class at Lovelace.
Ruby waves to you and takes a moment to introduce you to the room before continuing.
"Now," Ruby goes on, "it's time for us to become fluent in each others names. I want everyone to come join me in a circle over here in 5, 4, 3..." She counts down and the students hurry to get in position by "1." The volume level rises a bit as the magic spell ('narrative transportation' effect) of Story Mode starts to wear off and some of the students begin to chat with each other. But Ruby's voice cuts through the chatter and arrests their attention again by saying, "Okay, let's fix up this circle so everyone has a spot, please." They do so, and by the time Ruby dramatically steps into the middle of the circle, everyone is silent and waiting to see what Game Mode this will be.
"We're going to play the 'Compass Name Game,'" she says. "Right now, I'm like the needle of the compass. I can point to anyone I want." She makes a dramatic 180 spin and points at the student behind her. "Can you tell everyone your name and your favorite thing to do on a computer?"
"My name is Jasmine," she says. "And I took a MetaCoders summer camp last year with my brother Jayden --" (She points to the boy next to her) "-- and our friends Carlos, Isabel, and Daniela -- " (She points to three of the other students). "And my favorite thing to do on computers is code, because at camp I got to make a game with an evil broccoli eating apples and battling strawberries."
As the students giggle, you quietly enter the classroom and take a seat near Ruby's laptop because you're curious about the classmap she is using. You notice that the map on the screen is titled Ruby's Awesome Class Launch Map (v3). It looks similar to the map that Bruce was using, with some changes...
A variation on the Class Launch Map by Coach Ruby
A chance to introduce yourself and some values of MetaCoders.
[Coach fills in: Your coach story][Coach fills in: Any discussion questions you wish to ask about your story]
A multi-level name game with speed and a technological flavor.
Need:
- no required supplies
How to Play:
Levels must be played in order.
- Players circle up around Coach
- Coach points to a Player in the circle
- That Player says their name and a fact of a given type (favorite computer activity, video game, food, what they did last weekend, etc)
- Repeat steps 2 and 3 until every Player has shared at least once, Coach speeding up/switchng up order to keep Players on their toes!
- Coach assigns a Player to be the Online Player
- Coach points to another Player
- Online Player says this Player's name and fact
- Repeat steps 2 and 3 several times
- Coach assigns a new Online Player
- Repeat steps 2 and 3 several times
- Repeat steps 5 and 6 multiple times
- Coach assigns an Online Player
- Coach points to two different Players, one with each hand
- Online Player says the name of the Player that Coach is pointing to with their left hand
- Online Player says the fact of the Player that Coach is pointing to with their right hand
- Repeat steps 2-4 several times before assigning a new Online Player
- Repeat steps 2-5 multiple times
Tips & Tricks:
- Additional level options:
- Designate a Player to take over the Coach's role as 'Pointer'.
- Designate two 'Online' students.
- Run an elimination round, where 'Online' students compete to stay in the circle.
- Have the students come up with new favorite things.
- Have the students mix up their positions in the circle.
- Run two circles at the same time. When students are eliminated from one, send them to the other.
Introduce the course concepts and goals: including language, gamification, and learning how to learn!
Tips & Tricks:
- You may also want to summarize the day's schedule so students know what to expect. This can be especially helpful if you have a few more things to do before getting on computers, since students can get stuck "waiting" for this and get impatient rather than focusing on the important stories/games in the meantime.
- In this class we will learn about:
- Coding
- Learning
- Code is a language, like English. The language we are learning is _______.
- (Include features of the language/what you will be learning)
- Like learning anything, there will be easy and hard parts. As we learn coding remember it’s like learning language - easy and hard but with lots of practice, we can become fluent and code like we speak -- effortlessly!
- You will earn badges as you learn in this class!
- (Introduce other gamification elements such as: game jam, dollars, market, etc.)
- Coding
- Learning
In order to practice either one of those, we need a language to learn. That way, we can learn that language -- and (more importantly) we can learn how to learn languages.
In this class, we're going to be using a language named [Coach fills in: #lang _______]. I've been learning this language myself, and I want to tell you about a few of its interesting features.
[Coach fills in: Mention one or two features of the language.]
As with any language, there are easy things about it. And there are hard things about it. But we're going to work together as a class to find things that are just right -- not to easy, and not too hard. That way we can increase our brains' abilities to read and write in that new language.
- Who has learned a foreign language before?
- Who can tell me some good strategies for learning a new language?
Which part of our brain do we need to grow to increase our ability to understand new languages?
Left hemisphere (for most people) -- specifically areas like Broca's area and Wernike's area.
Lastly, this class is going to involve challenging ourselves with various games. For some of those games, I'll be giving out rewards and prizes!
[Coach fills in: Any additional information about your intended gamification in this class.]
Also, the class as a whole is a kind of like a game -- because you'll be getting badges every few weeks just for showing up and working hard. Remember that 100% of winning is showing up.
- Getting prizes is cool -- but what is the larger purpose of those prizes?
- Why is it important to stay motivated over a long period of time when learning new languages?
- If you train your brain to learn languages, how will that help you as a coder?
- Who has learned a foreign language before?
- Who can tell me some good strategies for learning a new language?
Which part of our brain do we need to grow to increase our ability to understand new languages?
Left hemisphere (for most people) -- specifically areas like Broca's area and Wernike's area.
- Getting prizes is cool -- but what is the larger purpose of those prizes?
- Why is it important to stay motivated over a long period of time when learning new languages?
- If you train your brain to learn languages, how will that help you as a coder?
A story comparision activity that introduces the Code of Awesomeness Codes with these fables. The Code of Awesomeness is a chance to discuss critical values while learning to code. It also (along with the Code of Awesomeness Game Modes) provides an opportunity to co-create call-and-response traditions within a group of students -- great for team-building and for forging a strong group identity.
Read the following stories and discuss:Mode Summary & Goals
Summary: Introduce the OVERCOME THE UNKNOWN Code to the Code of Awesomeness. Explore the values and ideas that this Code encompasses.
Goals and Gains:- Add a new Code to the Code of Awesomeness: Overcome the Unknown!
- Discuss the benefits of taking on new challenges.
- Learn about mindsets, world-views, attitudes and how they can change our life and behavior.
- Set up a classroom norm: sometimes we will do stuff we haven't done before!
- Relate the abstract concept (Overcome the Unknown) to tangable actions and experiences through story.
- Prepare for the Code Of Awesomeness Motto Creation Game Mode
- There are two fish, Trout and Catfish, who are the same except for the way they think and talk. For example:
- While Trout says: "I hate when the bigger fish laugh at me when I do coding. One day, I’ll be the best around."
- Catfish says: “I think I got better at coding today. If I keep it up, I’ll be the best around.”
- While Trout says: "I lost the coding competition, so I'm switching to jewelry-making. I hate losing."
- Catfish says: "I lost the coding competition, so I'm going to practice even harder for the next one."
- Both fish enter coding tournaments.
- Trout wins and laughs at all the smaller fish who lost.
- Catfish doesn't win, but talks to the other fish and learns what they did better than her.
- Both fish grow up and become the biggest fish in their pond
- Catfish decides to travel and learn more.
- Catfish competes with even bigger fish in bigger ponds. When she gets to be the biggest in the pond, she moves to an even bigger pond.
- Catfish grows into a gigantic fish.
- Meanwhile, Trout stays home and wins the same competition year after year. She laughs at the smaller fish.
- When Catfish comes home to see everyone, she is the biggest fish they have ever seen!
- Trout is upset, and she refuses to talk to Catfish at all.
- Trout stays in the small pond her whole life, one day losing to young fish. She retires from coding after that.
- Catfish travels the big ponds of the world, a medium-sized fish and one of the best fish coders ever.
Although Trout and Catfish were best friends, there was one big difference between them. It wasn't their color. (Both were rainbow-colored.) It wasn't their dreams. (Both dreamed of becoming the biggest fishes in the pond.)
No, the difference was actually in the minds of the fish. You wouldn't be able to see the difference from the outside. But if you listened carefully to them talk, you might be able to hear it.
Trout would often say things like: "I hate when the bigger fish laugh at me when I do coding. One day, I'm going to be the best coder in the pond."
Catfish would often say things like: "I feel like I'm a tiny bit better at coding today than I was yesterday. If I keep this up, one day, I'll be the best coder in the pond."
Did you catch the difference? Let's listen again.
Trout once said: "I lost the coding competition, so I'm switching to jewelry-making because I'm better at that. I hate losing." (She did not, in fact, switch to jewelry-making.)
Catfish once said: "I lost the coding competition, so I'm going to practice even harder for the next one."
Did you catch the difference that time?
Time passed and both fish grew from tiny to medium-sized. The difference between their minds grew, too. One day at their weekly brunch, Trout and Catfish discussed the coding tournaments they had competed in over the last week:
"Yesterday, I beat a bunch of little minnows in the coding competition and laughed at them." Said Trout. "Small fish are so basic."
"Hmm." Catfish said. "Well, today, I lost my coding tournament. But it was a tough competition -- against some of the best coders in the entire pond."
"How many trophies do you have?" Trout asked. "I have six trophies!"
"I don't remember," Catfish said. "Not many. I don't go to tournaments for trophies."
Trout sighed -- sometimes Catfish was very odd.
More time passed and now both Trout and Catfish had grown to be the biggest in the whole pond -- even bigger than the turtles! That difference inside of them had also grown so large that anyone who knew them could hear it in the way they talked:
One day, after comparing herself to every other fish in the pond, Trout annouced: "We finally made it! We're officially the biggest fish in the whole pond. No one can beat me at coding."
Catfish said, "No one?"
"I could beat you if I wanted to," Trout said, "but I don't want to make you look bad."
"I don't mind if you make me look bad." Catfish said.
"Look -- I'm just too busy to compete with you right now," said Trout. "Maybe tomorrow."
Catfish said, "Actually, I'm leaving today."
"Leaving? You're leaving the pond?" Trout said, surprised. "But what about our dream of becoming the biggest fish in the whole pond? We finally did it!"
"It's just..." said Catfish, "don't you ever wonder if there are bigger ponds out there?"
"No!" said Trout. "I've spent my entire life becoming the biggest fish here. If the next pond is even bigger, there might be even bigger fish!"
"That's kind of what I'm hoping for," said Catfish.
"What if they laugh at you?" asked Trout.
"I suppose that might happen," said Catfish. "I'll take the risk."
"What if they are better at coding than you?" said Trout.
"Exactly!" said Catfish. "I can become even better out there than I can in here."
Trout humphed and swished away in a swarm of bubbles, saying over her shoulder, "Fine! With you gone, I'll finally be the biggest fish of all!"
Later that day, Catfish bought plane tickets to a larger pond -- it was ten times larger, filled with gigantic fish. When Catfish arrived in the new pond -- those gigantic fish did sometimes laugh at her. And the gigantic fish did code faster and better than her -- at least at first.
But slowly, Catfish grew, and kept entering coding tournaments, and the day that she became the biggest fish in that pond -- can you guess what she did? She bought plane tickets to a new pond -- one twenty times bigger than her home pond, filled with enormous fish!
Once again, Catfish was just one of the smaller fish, and at first Catfish lost every coding tournament. But Catfish knew what she was doing. For years, she moved from pond to pond, always knowing when to go -- once she had become the biggest in the old pond.
Many years later, Catfish decided to visit her home pond again. When she swam off the plane into that tiny pond, all of the other fishes' mouths dropped open. They had never in their entire lives dreamed that a fish could ever get that big.
Trout pushed her way through the shocked crowd to the front, until she was nose to (much larger) nose with Catfish.
"What are you doing back here?" Trout snapped.
"That's no way to treat an old friend," said Catfish.
Trout humphed and swam away, saying over her shoulder, "Go back to your big ponds and leave me alone."
It's always sad when two former friends' have such different mindsets that they cannot get along. Trout stuck to her small pond, entering the same small tournaments and winning the small trophies over and over again. She retired from tournaments early, the first time a young minnow beat her at a coding tournament.
Catfish, on the other hand, grew to be a medium-sized fish in some of the biggest ponds in the whole world. She went on to become one of the most famous fish coders of all time! She traveled all over, competing in the biggest coding tournaments -- sometimes winning and sometimes losing, but always learning.
- Which fish had a better mindset?
- What adjectives would you use to describe Trout's mindset versus Catfish?
- Which fish had a 'growth mindset' and which had a 'fixed mindset'?
- In what ways are you like Trout?
- In what ways are you like Catfish?
- How can we help each other be more like Catfish and less like Trout?
- What could Catfish have said to Trout to convince her to think differently?
- How can you tell when someone has a mindset that's more like Trout than Catfish?
Tips & Tricks:
- For younger audiences, use a whiteboard to track the size and journeys of the two fish.
- Yes, it is ridiculous that fish might code. The authors know it, you know it, the audience knows it. Use the ridiculousness to your advantage!
- Don't forget to engage with questions -- at the end and throughout!
Mode Summary & Goals
Summary: Introduce the BE A BUG HUNTER Code to the Code of Awesomeness. Explore the values and ideas that this Code encompasses.
Goals and Gains:- Add a new Code to the Code of Awesomeness: Be a Bug Hunter!
- Introduce the concept of a bug/debugging in coding.
- Discuss contrasting attitudes when it comes to facing problems.
- Set up a classroom norm: solve your bugs!
- Relate the abstract concept (Be a Bug Hunter) to tangable actions and experiences through story.
- Prepare for the Code Of Awesomeness Motto Creation Game Mode
- There are two friends, Woodpecker and Ostrich, who each want to build the biggest house before summer.
- Sometimes there are termites in the wood that both animals use to build:
- Whenever Woodpecker finds a termite, she stops building her house to get rid of them.
- Whenever Ostrich finds a termite, he ignores them so he can spend all his time building.
- For a while, Ostrich's house is growing bigger, faster than Woodpecker's.
- But then, the termites eat away at Ostrich's house and he is spending more time fixing than building.
- Woodpecker's house keeps growing steadily.
- When summer comes, both houses are huge.
- But when the first summer storm comes, Ostrich's house collapses!
- Woodpecker helps Ostrich to build a termite-free house by teaching him to be a bug hunter!
Now, the branches they were building with occasionally housed a termite or two. Whenever Woodpecker found a termite while building her house, she stopped building to track it down. This meant her house was not growing as quickly as Ostrich's. Meanwhile Ostrich was scared that he would fall behind in the contest if he stopped too long, so he kept building and ignored the termites. His house grew quickly.
Woodpecker and Ostrich worked for many days. Both houses grew bigger and bigger, but everyone could see that Ostrich was winning the contest. But the Spring wasn't over yet, and the houses weren't finished...
Woodpecker and Ostrich worked for many, many days. Woodpecker's house was gaining on Ostrich's. Ostrich was spending less and less time building and more and more time fixing the crumbling walls the termites were eating. Meanwhile, Woodpecker's house grew at the the same, steady pace.
Finally, the hot summer arrived. Woodpecker and Ostrich stayed cool in their equally huge houses. When the first big sandstorm blew through the desert, Woodpecker hid in her house, safe from the biting wind. Ostrich's house, however, collapsed with the first strong gust of wind.
Woodpecker helped Ostrich out of the wreckage of his termite-ridden house and brought him to her own to shelter from the storm. Woodpecker insisted that Ostrich spend the summer in her house, and offered to help him rebuild his own, come Fall. She also offered to show Ostrich how to hunt down any termites they came across in the process.
Ostrich gratefully accepted the help, and over that summer and fall, learned how to be a bug hunter. His new home was strong, sturdy, and bug-free. The two houses stood for years and years to come.
- How did Woodpecker and Ostrich approach the same problem differently?
- Which animal had the better strategy? Why?
- How does this story relate to coding?
- What specific coding habits could you adopt to code more like the Woodpecker?
- What specific coding habits could you get rid of to code less like the Ostrich?
- Why did Woodpecker help Ostrich?
- How can we help each other be more like Woodpecker?
Tips & Tricks:
- Before you start, you can let the students pick the characters. Use these characteristics as guides:
- (Woodpecker): practical and level-headed.
- (Ostrich): impulsive and anxious
- For younger students, physically indicate how the houses grow throughout the story: ex. 'Woodpeckers house was THIS tall' and holding your hand at knee-height.
Mode Summary & Goals
Summary: Introduce the TEACH THE TEAM Code to the Code of Awesomeness. Explore the values and ideas that this Code encompasses.
Goals and Gains:- Add a new Code to the Code of Awesomeness: Teach the Team!
- Discuss the benefits of sharing your knowledge.
- Set up a classroom norm: help each other out!
- Relate the abstract concept (Teach the Team) to tangable actions and experiences through story.
- Prepare for the Code Of Awesomeness Motto Creation Game Mode
- There are two students, Bear and Wolf, who are the top of their class.
- They are both studying for a very challenging history test.
- All the other students keep interrupting their studying to ask them for help and advice!
- Bear gets annoyed and hides away where no one can find him. He studies alone.
- Wolf helps out the other students, and ends up with a whole study group.
- When the scores for the test are released, Bear is shocked to see that he is in the middle of the pack, with Wolf and several other students with better grades than him!
- Bear thinks there was some error in grading, asks the teacher.
- Pause here and ask students what they think happened!
- Teacher asks how Bear and Wolf studied. Bear and Wolf share their different tactics.
- Teacher explains -- by teaching others and sharing their ideas, Wolf and the rest of the students gained a deeper understanding Bear did, studying alone.
- Next time, Bear joins the study group and they all do better on the test.
Bear and Wolf were the top of their class -- always getting A's in every class! But the upcoming History exam even had the two of them nervous! Ms. Badger was a very strict teacher and she had warned them many times that this test would be the toughest one so far. It had short answers, long answers, 2 essays and no multiple choice questions!
So Bear and Wolf gathered their notes, books and study guides and settled in their favorite study nook by the river to get to work. But it wasn't long until they had a vistor. You see, the other students were also extremely nervous about the test. And they knew Bear and Wolf were the best in the class. And it was well-known where the two liked to study...
"Ahem," Raccoon coughed quietly. Bear and Wolf looked up from their notes. "I was stuck on this one question on the study guide, the one about comparing the laws of the Red Squirrel and Grey Squirrel Clans of the early 10th century, and I hoped you might be able to help me..."
Raccoon looked back and forth between Bear and Wolf, hopefully. After a tense moment, Bear said:
"Listen, I have to study hard for this too. I don't have time to answer your questions today."
Raccoon looked pleadingly to Wolf.
"Well," Wolf said, "I think I have an extra minute. I needed a break anyhow."
Bear rolled his eyes as Wolf talked Raccoon through the question. Wolf is wasting his time! Bear thought to himself.
Raccoon left a little while later, thanking Wolf profusely for his help. Wolf shrugged, and turned back to his books.
But it wasn't too long until they had another vistor: Chipmunk. She couldn't remember anything about the signing of the Great River Otter Treaty! Once again, Bear refused to stop his studying. And once again, Wolf offered to help out.
After Chipmunk came Deer, then Owl and Hedgehog had some questions, then Beaver was in need of help, then Hare and Boar and Snake and Moose--
"ENOUGH!" Bear shouted. "How am I supposed to get anything done with all of you traipsing in here everytime you have a silly little question! I don't know about you, Wolf, but I am going to find somewhere with some peace and quiet!"
Bear stomped off into the forest. He stomped off to a cave, deep in the forest, holed up with his notes, books, and study guide, lit a candle and studied in silence for the next three days until the test.
Meanwhile, Wolf and Moose were left in the dust of Bear's departure.
"Well then." Moose declared. "As I was saying -- I just don't understand what Ms. Badger is asking here about the Era of the Redwoods! I don't have anything about any Red Woods in my notes... Only Brown and Green Woods!"
Wolf pulled some notes from his folder and began to explain. Shortly, they were joined again by Owl and Hedgehog, who overheard their discussion and were eager to hear Wolf's explaination. Then Hare and Chipmunk returned, with 2 more questions of their own, questions that Hedgehog had her own thoughts on.
Soon, their little group grew too big for the Study Nook by the river. Wolf and the other animals moved to a field nearby, where more animals joined them. Discussions sprung up all over the group as the animals shared questions, notes, thoughts and ideas. Wolf left his study guide behind, wandering through the large group, joining discussions and answering questions as needed. And so it continued for the three days leading up to the test.
The Big History Test came and went. The only thing now was to wait for Ms. Badger to finish grading! It seemed like ages until the day when she finally announced that she would be passing back their tests.
Bear was one of the first to get his test back (it was helpful being near the beginning of the alphabet!) and he held his breath as he looked for the final grade, in red ink --
B-?! Bear was disappointed, of course -- he rarely got anything lower than an A -- but he quickly reminded himself how difficult the test was. Bear was sure his B- still put him at the head of the class.
But then he started to hear the whispers from his classmates as they recieved their graded tests: excited whispers claiming C+'s, B-'s, even B's, B+'s! Wolf was at the top of the class with an A+!
Now this was unheard of! Wolf sometimes bested Bear, but Hedgehog? And Moose?! There must have been some kind of mistake!
"Excuse me, Ms. Badger!" Called Bear. "I think there might have been an error in my grading."
The whole class froze -- did Bear just tell Ms. Badger that she made a mistake?!
"Is that so?" Ms. Badger walked to Bear's desk and peered at his test. She flipped through the pages. She placed the test back on his desk. "The grading is correct."
"B-But," Bear protested, "how could that be?! Owl said he also got a B-. And so did Chipmunk! Moose said he got a B+. And Wolf got an A+?! That's impossible!"
"Perhaps they studied more effectively."
"I studied non-stop for three days! It would have been more if all the others did keep interrupting Wolf and I with their silly questions." Bear glared around the room. "But I finally manage to find some peace and quiet, reviewed all my notes at least two dozen times, wrote five practice essays, made a set of 50 flash cards with dates and names -- it just doesn't make sense! What could they have done that I didn't?"
"Well," Moose said, "I don't know about all that. We all kind of ended up studying -- together."
"Yeah, I had a question about the study guide, and I asked Wolf." Said Chipmunk. "And Hedgehog was there and we ended up discussing it for a while. Then Wolf helped us both understand the differences between the two Squirrel Skirmishes. Wolf really helped us all out."
Everyone looked to Wolf, who had gotten the best grade of the whole class.
"I didn't actually have any time to study." Wolf admitted. "I am surprised I did this well. Everyone had questions and I wanted to help, so I just ended up... doing that instead."
"That's why the rest of the class excelled." Ms. Badger said to Bear. "By sharing their notes and ideas, they gained more knowledge. Wolf did this the most, and he learned the most. By teaching what he knew, and listening to what others knew and thought, Wolf built a deeper understanding of the material."
Everyone looked at Wolf, again.
"I had no idea!" Wolf said. "But come to think of it, when I was explaining things to the others, I found new details I hadn't really noticed before. Because I had to be really clear, and often someone had a question I hadn't even thought of before."
"That is how I know so much about our forest history myself." Said Ms. Badger. "Teaching others helps you learn."
Some time later, Wolf and his classmates were studying for the upcoming math test. They were all in the field by the river, taking turns explaining different formulas and inventing word problems for each other. Everyone was listening to Hedgehog explain how to find the area of a triangle, when they had a very unexpected visitor.
"Hello, Bear." Said Wolf.
"Hi, everyone." Said Bear. "M-May I... Do you think... Can I join your study group?"
"Of course!" Wolf said.
Bear joined the group, and took his turn teaching the team shortly after. Later that week, Bear, Wolf and the rest of the class all aced the test!
- What was Bear's studying strategy? Wolf's? The other animals'?
- Which animal had the better strategy? Why?
- Why did Wolf and many of the other animals do better on the test than Bear?
- How does this story relate to our class?
- What can we do in this class to be more like Wolf?
- How can we help each other learn? What 'helping' doesn't actually help our team learn?
- How do you like to work on homework/study for tests?
Tips & Tricks:
- Try pausing the story after revealing the grades and asking the students why Wolf and so many of the other animals did better than Bear.
- Before you start, you can let the students pick the characters. Use these characteristics as guides:
- (Bear): works alone, smart
- (Wolf): a team player, smart
What is an alegory?
An alegory is a story whose true meaning is encoded -- where each story part seems to mean one thing but actually means something different.
- What is each story an alegory for?
- Pick one story. Write down notes about that story on the board. Discuss which of those parts has a hidden meaning.
- Which of the stories might be an alegory for more than one thing? How so?
Customize the Code of Awesomeness by creating a unique Motto for one or multiple Codes.
Mode Summary & Goals
Summary: Foster a personal connection to the Code of Awesomeness by creating a unique motto or callback for each code.
Goals and Gains:- Personalize the lessons in a Code
- Create a shorthand for those connections through a simple phrase
- Practice teamwork, communication and compromise
Need:
- Optional: Whiteboard or other writing materials for notes
How to Play:
Make sure you have introduced whatever Code(s) you plan to create a Motto for with a story and discussion PRIOR to this game!
GOALS of Motto Creation:- Students co-create a linguistic tool that you can employ throughout the class, whenever you need to nudge students to apply certain values -- i.e. tenacity (rather than fear) in debugging, eagerness (rather than avoidance) when it comes to unknown concepts, and so on. This is also a great customized attention-getter.
- Students create a personal attachment to the Code of Awesomeness by creating a callback that engages them and their particular interests/sense of humor/personal story.
- Coach chooses a specific Code to create a Motto for
- Coach explains what a Code Motto is -- your team's very own response to a Code, that is fun, personal, and clarifies what that Code means to the team
- Coach introduces three options for a Motto (see Example Mottos below)
- Team votes, winning Motto is chosen by majority
- Practice Code/Motto Call/Response several times
- Repeat for additional Code(s) as desired
- Coach chooses a specific Code to create a Motto for
- Coach explains what a Code Motto is -- your team's very own response to a Code, that is fun, personal, and clarifies what that Code means to the team
- Coach introduces a couple Motto options (see Example Mottos below)
- Coach sets timer for 3 minutes
- Players brainstorm additional Motto options
- Coach or designated Player notes options
- Team votes on all options, winning Motto is chosen by majority
- Practice Code/Motto Call/Response several times
- Repeat for additional Code(s) as desired
- Overcome the Unknown
- CHARGE!
- To infinity and beyond!
- To bodly go where no one's gone before!
- Into the UNKNOOOWNNN! (ala Frozen 2)
- Be a Bug Hunter
- SMUSH!
- Gotta catch 'em all!
- Bug found? Don't frown!
- Teach the Team
- Coders Assemble!
- Teamwork makes the dream work!
- Be a BOSS!
Tips & Tricks:
- Some Players will have their heart set on a Motto that is not chosen. Prepare to reassure Players that are disappointed -- "There were lots of cool options, I'm sorry yours didn't win" "It's about the whole team, not just what you want, and this was the one the team chose." "It's okay! There are more Codes and Mottos to come!"
- When leading a brainstorm, you may want to combine options or narrow down the list prior to voting, to simplify the process.
Why do we call the first code we write our Hello World program?
- The first program a coder writes in a new language is traditionally a Hello World program.
- This tradition comes from computer science textbooks written in the 1970's.
- A literal Hello World program prints out the words "Hello, World!" in the terminal.
- If possible, show some sample Hello World programs in various languages: samples listed below.
- Nowadays, a Hello World program can be more complex and powerful than it used to be, sometimes with even simplier code.
- Sometimes a Hello World program doesn't have anything to do with the words "Hello, World!" but it is still called that as the starting program in a new language.
A computer science textbook published in 1978 entitled "The C Programming Language" included the following coding exercise:
main() {
printf(\"hello, world\\n\");
}
Even before that, a textbook on the B programming language published in 1972 contained this example:
main( ) {
extern a, b, c;
putchar(a); putchar(b); putchar(c); putchar('!*n');
}
a 'hell';
b 'o, w';
c 'orld';
These textbooks were so influential -- specifically "The C Programming Language" -- that these very coding execises started a computer science tradition that is still observed today: when learning a new language, the first program a coder writes outputs the words "Hello, World."
Now, that code might look completely different from one computer language to another (after all, "Hello, world" can look and sound very different in human languages, right?). For example:
[Coach fills in: Project or otherwise display some of the eaxmples listed below.]
This "Hello, World" tradition is so embedded in coder-culture that even when the first program a coder writes has nothing to do with the words "Hello World" (maybe the code outputs an image, webpage, game, or even blinking LEDs in "the real world" instead of text on the screen!), a coder still might refer to this first program as their Hello World Program.
So, as coders and members of this huge community and culture of other coders, we are also going to call our first program our Hello World Program.
Are you ready to try it?
- C (from the aforementioned 1970's textbook)
main() { printf(\"hello, world\\n\"); }
- Racket
#lang racket "Hello, World!"
- Python
print "Hello World"
- Javascript
console.log("Hello World");
- Java
class HelloWorld { static public void main( String args[] ) { System.out.println( "Hello World!" ); } }
- Ruby
puts "Hello, world!"
- Typescript
alert('Hello world!');
- Find more in this online collection.
The first coding game of most courses
Need:
- no required supplies
How to Play:
Run the game below, using the Hello World code card in your #lang
Write the code multiple times, but with fewer and fewer hints each time.
Need:
- computers - 1 per Player
- whiteboard and markers
- timer
- code & translation
How to Play:
- Coach writes the entire code & translation on the whiteboard
- Players type up code as Coach does so
- Players test their code
- Players erase their code
- Coach erases 1-4 words from the code on the whiteboard (leaving parens, hyphens, other symbols)
- Timer set for roughly 1 min per line of code
- Players type up code, remembering what goes into the blanks
- Round ends when timer goes off
- Repeat steps 4-9 until no words are left on the board, only symbols
- Last round, everything but the translation is erased from the board
Tips & Tricks:
- For Ratchet langs: create shorthand drawing for the symbols with the players. For example -- rather than trying to draw the knight icon as it looks in game, ask the players "What can I draw that means 'knight' to us?" Players suggest horse, sword, helmet, shield. You decide on a shield -- and draw that everytime you need a knight.
- Replace erased words with blanks (______) for extra clarity.
- For new coders, start by erasing one word that appears two or more times in the code.
- Tag in an advanced student to play the Coach role!
- For Ratchet code, draw symbols and erase those one at a time.
A chance to practice those metacognition skills.
We're going to reflect for a few minutes on:One UNKNOWN we OVERCAME today.
Raise your hand if you have a reflection you want to share...
Tips & Tricks:
- Call on a few students.
- Add words of wisdom and encouragement where necessary.
Ruby is slowly moving in a circle pointing at each student, who then says their name and favorite thing to do on a computer. When all twelve students have gone, Ruby starts pointing at students randomly and having them repeat their name and favorite thing. She goes faster and faster until everyone is laughing.
"Okay," Ruby says loudly, then pauses until the students settle down again. "That was Level One. Who is ready to level up?" The students cheer. "Now, I'm going to appoint someone to be 'Online'. When you're 'Online', you have to say the name and favorite thing of whoever I point to." Ruby leads some examples, before playing a few rounds. She starts slowly at first, to give students a chance to learn each other's names and favorite things. She switches who is 'Online' frequently. After only a couple minutes, Ruby pauses the game again.
"Ready for Level Three?" The students cheer again. "Now, whoever is 'Online' has to say the name of whoever I point at with my left hand, and the favorite computer-related thing of the person I point to with my right hand." Ruby leads another example: "So if I point to Jayden with my right hand, you would say 'Jayden,' and if I point to Jasmine with my left hand, you would say 'evil broccoli trying to eat apples.'"
You find it interesting that Ruby doesn't stop the game when students seem to be more or less getting the answers right. She continues to increase the difficulty level of the game; slowly but surely trying to push them out of their comfort zones:
- For Level Four, Ruby appoints both an 'Online' student and a 'Pointer' student to stand in the middle. This allows her to relax and focus more energy on constructing the overall experience. She gives frequent directions to the 'Pointer' student to go faster or slower.
- Level Five involves two 'Online' students, who must both (as quickly as possible) respond whenever the 'Pointer' points to people.
- Level Six introduces elimination, where the 'Online' students who either answer wrongly or too slowly are "out."
There is a sticky note next to Ruby's computer. It has your name on it and reads If I'm busy when you walk in, feel free to click around on my classmap to see what's happening today. You click the Compass Name Game part of Ruby's classmap, and it opens up a window that describes the game:
A multi-level name game with speed and a technological flavor.
Need:
- no required supplies
How to Play:
Levels must be played in order.
- Players circle up around Coach
- Coach points to a Player in the circle
- That Player says their name and a fact of a given type (favorite computer activity, video game, food, what they did last weekend, etc)
- Repeat steps 2 and 3 until every Player has shared at least once, Coach speeding up/switchng up order to keep Players on their toes!
- Coach assigns a Player to be the Online Player
- Coach points to another Player
- Online Player says this Player's name and fact
- Repeat steps 2 and 3 several times
- Coach assigns a new Online Player
- Repeat steps 2 and 3 several times
- Repeat steps 5 and 6 multiple times
- Coach assigns an Online Player
- Coach points to two different Players, one with each hand
- Online Player says the name of the Player that Coach is pointing to with their left hand
- Online Player says the fact of the Player that Coach is pointing to with their right hand
- Repeat steps 2-4 several times before assigning a new Online Player
- Repeat steps 2-5 multiple times
Tips & Tricks:
- Additional level options:
- Designate a Player to take over the Coach's role as 'Pointer'.
- Designate two 'Online' students.
- Run an elimination round, where 'Online' students compete to stay in the circle.
- Have the students come up with new favorite things.
- Have the students mix up their positions in the circle.
- Run two circles at the same time. When students are eliminated from one, send them to the other.
By the time Ruby wraps up the Game Mode, the students are highly fluent in each other's names. They return to their seats with a new kind of excitement and camaraderie still under the magic spell ('flow state' effect) of Game Mode.
4:27pm
Ruby leads a thirty-second breathing exercise to help everyone calm down, reducing heartrates to the level appropriate for Story Mode. You watch Ruby's take on the Class Frame; you notice that she calls on Jasmine, Jayden, Isabel, Carlos and Daniela to help her explain some of the things that it looks like they remember from the summer.
Then, Ruby jumps straight into the Overcome the Unknown Fable. Then she goes on to two more fables!. Her renditions are a lot shorter than the story Bruce told, you notice. But the students still engage in the follow up discussions and seem to get the morals of all three fables.
4:40pm
When she has covered all three fables during Story Mode, Ruby announces, "The next Game Mode is where you will use the fables we just discussed to come up with your own Mottos for those phrases, or Codes, that make up our Code of Awesomeness! Jasmine, Jayden, Carlos, Isabel, and Daniela," Ruby says, "raise your hands if you remember your mottos from your MetaCoders camp." They all do, some with more confidence than others. "Awesome! This is a new team, so we are going to create brand new mottos together, but let's demonstrate how the mottos work, so everyone else knows. Ready?" A dramatic beat. "Be a bug hunter!"
Jasmine and Carlos shout: "Squish!" Isabel, Daniela and Jayden join in a moment later -- resulting in a comedic cacophony. The rest of the students crack up in laughter.
"Nice! Nice!" says Ruby, calming everyone. "Okay, again. Teach the team!"
This time, in unison, all five of the returning students shout: "Coders, assemble!" Again, everyone laughs.
"Last one, last one," says Ruby, calming everyone again. "Overcome the unknown!"
Jasmine jumps up, striking a dramatic pose, as she and her friends all shout: "To infinity and beyond!"
"Great work, you all!" says Ruby. "You have amazing memories! Now, I am going to split everyone into three groups. Each group is going to come up with one motto -- like 'Squish!' or 'Coders, assemble!' -- for one of the Codes -- like 'Be a bug hunter!' or 'Teach the team!' Those of you who were with us before, I'm going to divide you evenly among the groups so you can help lead the brainstorm."
"You will have five minutes to brainstorm only -- that means coming up with as many options as possible! No decisions yet, and absolutly no shutting-down of each other's ideas. It will be the job of a return student in the group to write all ideas down; I will give you a pen and paper for that. The next round of the game will be actually picking the motto."
Once Ruby has given all the instructions for the game, she divides the students into three groups, assigns them each a Code, gives the returning student writing materials, and sends them off to their own spots in the room with a "go!" as she starts the timer.
The "Be a bug hunter" group rushes to the table right next to you. They immediately begin talking all at once. Jasmine, the one returning student in the group, says, "Wait, wait, wait. I can't write that fast. What did you say, Robert?"
"We could say, 'Bzzzz--'" He claps.
"That's dope," says Jasmine, writing down Bzzz. Clap. "And Samiya, I think you said, 'Bugs bug me', right? I feel that."
They continue aggregating ideas, as your attention turns to Ruby, who has begun to move from group to group, adding words of encouragement and tips for effective brainstorming: "I like that one!", "Excellent leadership skills there, Carlos.", "Remember, now isn't the time to say no. We're trying to generate as many ideas as possible!", "Three minutes left!", "Keep up the good work", and so on.
You take a moment to click on Code of Awesomeness Mottos game on Ruby's classmap:
Customize the Code of Awesomeness by creating a unique Motto for one or multiple Codes.
Mode Summary & Goals
Summary: Foster a personal connection to the Code of Awesomeness by creating a unique motto or callback for each code.
Goals and Gains:- Personalize the lessons in a Code
- Create a shorthand for those connections through a simple phrase
- Practice teamwork, communication and compromise
Need:
- Optional: Whiteboard or other writing materials for notes
How to Play:
Make sure you have introduced whatever Code(s) you plan to create a Motto for with a story and discussion PRIOR to this game!
GOALS of Motto Creation:- Students co-create a linguistic tool that you can employ throughout the class, whenever you need to nudge students to apply certain values -- i.e. tenacity (rather than fear) in debugging, eagerness (rather than avoidance) when it comes to unknown concepts, and so on. This is also a great customized attention-getter.
- Students create a personal attachment to the Code of Awesomeness by creating a callback that engages them and their particular interests/sense of humor/personal story.
- Coach chooses a specific Code to create a Motto for
- Coach explains what a Code Motto is -- your team's very own response to a Code, that is fun, personal, and clarifies what that Code means to the team
- Coach introduces three options for a Motto (see Example Mottos below)
- Team votes, winning Motto is chosen by majority
- Practice Code/Motto Call/Response several times
- Repeat for additional Code(s) as desired
- Coach chooses a specific Code to create a Motto for
- Coach explains what a Code Motto is -- your team's very own response to a Code, that is fun, personal, and clarifies what that Code means to the team
- Coach introduces a couple Motto options (see Example Mottos below)
- Coach sets timer for 3 minutes
- Players brainstorm additional Motto options
- Coach or designated Player notes options
- Team votes on all options, winning Motto is chosen by majority
- Practice Code/Motto Call/Response several times
- Repeat for additional Code(s) as desired
- Overcome the Unknown
- CHARGE!
- To infinity and beyond!
- To bodly go where no one's gone before!
- Into the UNKNOOOWNNN! (ala Frozen 2)
- Be a Bug Hunter
- SMUSH!
- Gotta catch 'em all!
- Bug found? Don't frown!
- Teach the Team
- Coders Assemble!
- Teamwork makes the dream work!
- Be a BOSS!
Tips & Tricks:
- Some Players will have their heart set on a Motto that is not chosen. Prepare to reassure Players that are disappointed -- "There were lots of cool options, I'm sorry yours didn't win" "It's about the whole team, not just what you want, and this was the one the team chose." "It's okay! There are more Codes and Mottos to come!"
- When leading a brainstorm, you may want to combine options or narrow down the list prior to voting, to simplify the process.
You especially note the goals that are stressed at the top:
- Students co-create a linguistic tool that you can employ throughout the class, whenever you need to nudge students to apply certain values -- i.e. tenacity (rather than fear) in debugging, eagerness (rather than avoidance) when it comes to unknown concepts, and so on. This is also a great customized attention-getter.
- Students create a personal attachment to the Code of Awesomeness by creating a callback that engages them and their particular interests/sense of humor/personal story.
Ruby's timer goes off, and she informs the students that they will now have 5 minutes to work as a team to pick their favorite motto. She tells them that if they can't decide, she will pick one for them at random.
"Remember," says Ruby, "your group might not end up with your favorite. But this is about the team. It's the team's motto, not just yours!"
Ruby starts the timer, kicking off another enthusiastic discussion in all three groups. Ruby returns to checking in with each group, mediating disagreements, and cheering up students who look disappointed. She gives frequent time warnings and makes sure that every team does make a decision by the time the timer goes off.
When the it does, Ruby gathers the attention of all the students and says: "Okay, time to teach the motto your group created with the rest of the class! Ready..." A dramatic beat. "Be a Bug Hunter!"
The kids at your table shout: "Bzzzzzzzzzzzzzzz--". *Clap*!
Ruby leads the class in a round of applause before calling out the next code: "Overcome the unknown!"
"Like Jooooohn Cena!!!" The group by the window shouts, causing everyone else to laugh.
"And finally..." Ruby gets everyone's attention before continuing, "Teach the team!"
The last group jumps up and shouts "Dumbledore's Army!" holding invisible wands in the air. When Ruby asks the group to explain their choice, they tell the group about how Dumbledore's Army in the Harry Potter books is the name a collection of students give themselves when they start private lessons, teaching themselves and each other the magic their teachers are not letting them learn.
Ruby runs the whole class through each Code and Motto combo several times, clarifying specifics and getting everyone on the same page before moving on.
5:00pm
After a quick Story Mode, Ruby prepares the students for their first coding game of the class. You look back at the class map and open the Disintegrating Code game:
Write the code multiple times, but with fewer and fewer hints each time.
Need:
- computers - 1 per Player
- whiteboard and markers
- timer
- code & translation
How to Play:
- Coach writes the entire code & translation on the whiteboard
- Players type up code as Coach does so
- Players test their code
- Players erase their code
- Coach erases 1-4 words from the code on the whiteboard (leaving parens, hyphens, other symbols)
- Timer set for roughly 1 min per line of code
- Players type up code, remembering what goes into the blanks
- Round ends when timer goes off
- Repeat steps 4-9 until no words are left on the board, only symbols
- Last round, everything but the translation is erased from the board
Tips & Tricks:
- For Ratchet langs: create shorthand drawing for the symbols with the players. For example -- rather than trying to draw the knight icon as it looks in game, ask the players "What can I draw that means 'knight' to us?" Players suggest horse, sword, helmet, shield. You decide on a shield -- and draw that everytime you need a knight.
- Replace erased words with blanks (______) for extra clarity.
- For new coders, start by erasing one word that appears two or more times in the code.
- Tag in an advanced student to play the Coach role!
- For Ratchet code, draw symbols and erase those one at a time.
Ruby is writing some code on the white board, saying the words and symbols aloud as she writes so that there is never empty silence:
#lang adventure
(adventure-game)
"In this class, we're going to make more and more complicated games using a programming language for making adventure games. Can anyone guess what that language is named?"
Jasmine starts to say her answer out as Carlos raises his hand.
"Hang on, Jasmine," Ruby says. "I am looking for raised hands. Carlos?"
"Lang adventure?"
"Exactly!" says Ruby, pointing to where she wrote
#lang adventure. "It's a cool language that I've made a lot of great games in. And I'm excited to see the creative games that all of you make. But we're not just here to learn how to code, we're here to learn how to learn how to code. The game we are about to play is called Disintegrating Code, and it's a technique I've used myself to become a better coder."
"We will start by typing up this code here and running it to see what it does. I will give you five minutes --" Ruby holds up her timer "-- to try that out."
"Then, I'm going to ask you to delete your all of your code!" Ruby seems to expect the response of confusion from many of the students. "I know, I know. But we need to practice writing code over and over again! So, you are going to start fresh, and I'm going to erase part of the code on the board. Then, you'll write it again, without being able to see that part and using your memory to fill that part in. Eventually, there won't be any code on the board at all! You'll have to write it all from memory, and you'll have to debug it if you write part of it wrong. So you'll get a chance to practice hunting those bugs!"
"Okay, so when I start my timer, I want you to: One," Ruby holds up one finger, "walk to one of the computers on the desks over there, take a seat and open it up. Two," Ruby puts up a second finger, "when your computer finishes booting up, you can open DrRacket -- the coding program we will be using -- by double-clicking the icon on the desktop. Ask your neighbor if you need help finding it. And Three," Ruby holds up a third finger, "start typing up this code. Are you ready?"
Ruby takes a deep breath -- a dramatic pause. She starts the coach timer, and the students jump up and head to the computers.
"I said, walk to the computers!" Ruby has to remind them.
The students type for the next five minutes, most of them getting the game up and running. When the timer beeps, Ruby gets their attention and asks them to erase their code. She pushes past their half-hearted objections, reminding them that they will soon have it again, and this is the way to becoming the best coder!
Ruby quickly erases one word from the board, replacing it with a line:
#lang _______
(adventure-game)
"My hint to you," says Ruby "is that the missing words also appear somewhere else in the code. You have 4 minutes!" She starts the timer.
The next round, Ruby erases another word so it looks like this:
#lang _______
(adventure-____)
The round after that, she erases both remaining words, leaving all symbols:
#____ _______
(________-____)
After that round, Ruby asks if the class is ready for everything to be erased now. When she gets an affirmative (some more hesitantly than others!), she does so. When the class successfully reconstructs the code from nothing, she congratulates them all, with much excitement -- she even runs to each student to give them a high five.
Ruby checks the time, and decides to start a new round. "We probably won't get all the way to the end of this one," she says. "But that's alright!" This time, Ruby picks one of the returning students -- Jasmine -- to write and erase the code. Ruby give her a code card and coaches her though the process with advice and reminders.
5:25pm
When the clock on the wall shows that there are only five minutes left in the class, you check the classmap, which shows a Meta-Story Story Mode. Sure enough, Ruby interrupts the game to announce that they have to stop, much to the dismay of everyone coding.
Ruby ignores the groans, however, and gathers the students near the front of the room. She launches into an up-beat Story Mode in which she asks students to reflect on what they've learned today. You notice that every question she asks is a metacognitive one: "When did you know you learned a new part of the code?", "Can anyone tell me what it feels like to learn something?", "Can anyone tell me a story of how their brain didn't remember something, and the strategy you used to make it remember?", "Can anyone tell me a story about what their brain did when they were hunting bugs?" and so on.
5:30pm
Ruby brings you with her and the class as they go to the front of the Recreation Center. Ruby waves to the students as they disperse to their parents. You head out soon after.
Enter Game Mode
Wed, March 31 4:00 PM
Read the full story to the right:
8 of 8Final Jam
3:50 pm -- 10 minutes until class start time
You return to Turing Recreational Center -- but the area looks different The trees that were just starting to show bright green buds are now sporting a lush covering of leaves. Flowers have multiplied in the beds by the walkways. The air is significantly warmer: the last of the winter's chill fully banished. Spring has nearly shifted to Summer over the last 10 weeks since you were here last.
You enter the Center and head straight to the Arts and Crafts room, where Ruby is setting up for the class.
"Hello again!" Ruby says. "Glad you made it back for our Final Jam!"
"Glad to be back."
You offer to help set up, and Ruby hands you a bag of mice.
"So, you are here to see a Jam," says Ruby. "You haven't seen a MetaCoders Jam yet, have you?"
"Nope."
"Well, I think this is going to be a great one -- this team has been working hard to prepare for it!"
"What kind of prep do you have to do for a Final Jam?" You ask.
"Everything we do from day one is to get ready for Final Jam. As I tell my students, Final Jam is the 'big game' our team is practicing for. Every class is like a sports practice for that big game -- all Story and Game Modes are helping us build the skills we need to be successful at Final Jam."
"Okay, but what exactly is a Final Jam? What do the students do?"
"Right, that would help to know, wouldn't it?" Ruby laughs. "During Final Jam, students write a whole game or system, from scratch, in an hour or so. This Final Jam is a Game Jam; the students will be building a video game. They are awarded points based on the complexity of their game. "
"Haven't they been writing games this whole time? During Game Mode?"
"Yes," Ruby continues, "we've been practicing! Just like drills in basketball practice, the Game Modes are time to learn and practice different snippets of code -- ways to customize our game. There are many supports -- scaffolding is the official educational term -- as students learn new things. In Final Jam we remove that scaffolding, and the students take everything they have learned, and their own creative imaginations, and build a game using only what they remember. No hints!"
"Wow," you say. "And the kids can do that? Without any hints?"
"Alright, I may have exaggerated a little. We remove a lot of that scaffolding, sometimes all of it! But, as always, coaches are trying to hit that balance of challenging but achievable. We don't want our students to be overwhelmed with -- oh what is that term the prof uses..."
"Cognitive load?" You offer.
"Yes! That's right, you were probably just talking to him about flow state, right?" You nod and Ruby goes on, "In Final Jam we really want to get those students into that flow state for a lot longer than we usually have Game Modes. So our job as coaches is to balance the cognitive load we are asking our students to undertake so they get into that sweet spot between 'boring' and 'that's impossible, I give up.'"
Two students come in the room. They are talking excitedly and when they see Ruby, one of them says: "Coach Ruby! I have a question about Game Jam!"
"One moment, Samiya." Ruby turns back to you. "I will try to check in with you more than I did last time; there are lots of little ways that a coach can tweak a Final Jam to make it the best for a particular team so I'll try to loop you in on those choices I am making along the way. While I am getting started here, check this out..."
Ruby hands you a piece of paper:
- Today is different and more exciting than any other class day.
- Students code a game.
- Students feel proud and accomplished regarding what did in the Jam.
Coach energy is a big element in making this day different from others – if you are excited, pumped, focused and wowed by student work, the students will be too.
You know the deal by now -- you can't keep this paper. You fold it back up and put it next to Ruby's belongings.
4:00 pm
The last of the students are trickling in. You see Ruby send attendance to HQ before calling the stragglers over to the table in the front where everyone else is already seated.
"How can tell me what we are doing today?" Ruby asks. All the students raise their hands immediately. "All together?" She prompts.
"Game Jam!"
"Of course! Who's excited?" The students cheer. Ruby continues: "Me too! I will go over the rules, then we will do a quick refresher on crafters. After that we will start the Jam!"
"As we practiced last week, we will be working with a partner." The students immediately start chatting and moving, obviously trying to partner up with their 1st choice. Ruby stops them: "Hold up! Listen first. I will let you pick your partner but before you just grab your BFF I want you to take a moment to think is this person going to distract me? Is this the partnership that is best for Game Jam, not just the most fun for me? Because I reserve the right to swap people around if I think there are better choices that should have been made. Okay?"
Once Ruby gets the students' agreement, she releases them to pair up. She counts down from 15, then asks everyone to sit next to their partner. Ruby reviews the pairings.
"Hm... Robert and Carlos: do you think you will be able to focus?"
"We will!" Says Carlos, as both boys nod eagerly.
"Alright, but if I start seeing you two getting off topic again, I will split you up." Ruby says.
Ruby gives each pair an index card and a marker and instucts them to come up with a team name for the Jam. She sets the timer for 2 minutes, and when it beeps, gathers back the markers and continues explaining the Final Game Jam.
Twice, one of the returning students you remember from last time interrupts to tell Ruby that they "didn't do that last Game Jam." Ruby responds that different Final Jams can have different rules, and that these are the rules of the Jam this time.
Ruby outlines the rules:
- Every pair will have 1 computer. One partner will type at a time. Every 3 minutes when the timer beeps, they will "swap drivers" and change who is typing.
- The "non-driving" partner is still part of the coding process, working with their teammate to look for bugs, make creative choices and sometimes checking out resources.
- Every pair will be given two hexagonal cards as inspiration; it is not required to use the inspirate, it is optional help if anyone needs help getting started. These cards are to remain code-side down, unless a hint is purchased.
- Various resources/hints will be available -- some for free and some cost "dollars:" paper money that each student has. The price for any resource can change at anytime Ruby wishes.
- Games will be scored at the end of the Jam. Scores are dependant on the complexity and amount of working code. Ruby doesn't explain the exact formula just yet. The whole class score will be added up and compared to other MetaCoders classes in the past!
- Pairs can also get bonus points for exceptional teamwork, practicing good coding habits, or creativity.
- Games must run by the end of the Jam to get any points.
Ruby asks students to hold on to questions for now, as she goes on to explain the different "resources:"
- A lone computer against the wall is designated as the sprite computer -- holding a list of all available characters to put in the game. Ruby says that this is free to access (at least in the beginning!)
- At any time, a pair can purchase a flip -- access to the code-side of one of their two cards or, for a small additional fee, Ruby will choose another card that she believes will help a partnership achieve whatever they are attempting to code at that time. Ruby sets the price for a flip at 5 "dollars" to start, and 7 "dollars" for a coach-selected card.
Ruby hints at the potential for other resources to be "released" later in the Jam. For now, she writes up the two options, and their curent prices, on the white board. Then, Ruby sets the timer for 3 minutes and announces that she will take up to 3 minutes of questions.
You notice that Ruby listens to each question carefully, but doesn't always answer them right out. Sometimes she refers to a rule she already reviewed, sometimes she responds with a question of her own, sometimes she just shrugs with a "I guess we'll find out!" It reminds you of Professor Istoria's frustrating way of avoiding questions. The kids are a bit frustrated by Ruby's ambiguity, you note, but also intriged and even entertained.
4:12 pm
When the timer beeps, Ruby finishes not-answering a question before moving on. She spends the next 10 minutes reviewing some code -- the "crafter" she must have been referring to earlier. When she is done, there is a significant chunk of code written on the white board, much of it in the handwritting of the students she called on to help. She erases this code -- to the dramatized dismay of some of the students.
4:25 pm
"Alright, are we ready?" Ruby asks the students, whose mixed responses range from confident cheers to nervous maybes. One student, you remember his name is Jayden, squeals "no," but his grinning face and bouncing in place betray his excitement.
"You all can do this. The Game Jam will be about 45 minutes today -- that's a long time! In one moment I am going to transform from Coach Ruby into Judge Ruby -- that means I won't be helping you all out -- at least not for free! Coach Ruby is going to leave you with one super valuable piece of advice though. Want to hear it?" The students obviously do. "Here it is: start small and test often. Write one little bit of code at a time and test, test, test every line you write. Start small, test often." Ruby writes those words in big letters on the white board.
"Ready? Set...." Ruby holds the timer in the air, finger poised over the start button. "Start Jammin'!"
Each pair runs to a computer. Ruby gives each team two of the code cards, reminding the students that these are for ispiration if they need it, and not to look at the code on the opposite side unless they buy a flip. After every pair has the cards, Ruby watches for another moment, before walking over to you.
"Phew!" Ruby sighs and smiles. "Getting them pumped up in the beginning is a lot, but it's fun! Do you have any questions so far?"
"A few," you say. "You said you customize the Jam for each group. What did do particularly for this group?"
"Good question. For starters, I don't always review code before a Jam. But if there is anything a particular group has struggled with -- crafters are tricky, but for some groups it is how to define something, or even parentheses -- I make time for a quick review. Sometimes I even leave a guide or code outline up on the whiteboard for the students to reference. But this team is too advanced for that; we've been working for 10 weeks and there are quite a few returners."
"Do you always do Final Jam in partners?" You ask.
"Almost always, yes. It really increases every student's likelihood for success -- not only does each partner have different fluencies they bring to the table, but even the act of having to communicate about the code helps them catch bugs and solve issues that neither student would have caught solo."
"Also builds those teamwork and leadership skills that MetaCoders emphasizes, too." You guess.
"Absolutely."
"What about the resources and rules? At the very least, I imagine you change the 'prices' of those resources."
"Yeah, I definitely do that. I try to hit a point that I think will encourage students to try to debug without help first. But I always give myself that option of changing the price; that's been a life saver!" Ruby laughs. "If I see students relying on a resource too much, I'll hike up the price. And when we are in the final stretch, if I am seeing struggling pairs, I will lower the prices or make special resources available."
Ruby invites you to join as she makes a lap around the room, checking in to see how each pair is getting started. When the timer in her hand beeps, she instucts everyone to switch drivers before restarting the timer.
4:30pm
You observe Ruby as she goes group to group, offering words of encouragement, creative inspiration, and rule reminders. She find yourself comparing her to a cheerleader as you notice her high, positive energy. Her energy peaks as Ruby places a gold star sticker on a team's index card, annoucing loudly that team 'Club Of Dangerously Evil Rabbits (C.O.D.E.R)' has earned a bonus point for being really creative in designing a story behind their game.
A moment later, Isabel raises her hand and Ruby goes over to where Isabel is sitting with her partner, Samiya.
"There's a bug and we don't know how to fix it," says Isabel.
Ruby takes a look at the pair's computer, and, after a moment, says: "Hmmm, well I think I see your problem. But since I am Judge Ruby, not Coach Ruby, I can't be giving you the answers! But I can remind you of a few things you already know:"
Ruby encourages the students to check common places for errors -- like parentheses and spelling errors -- and lists a few de-bugging techniques they have used in previous classes -- like reading the error out loud or looking for the red-highlighted text.
"If you are still stuck in a minute or two, remember you can always purchase a card flip!" Ruby says, pointing at the resources list on the whiteboard.
Ruby continues to circle the room, and has gives out two more bonus point stickers: one to team "Ravenclaw" for excellent teamwork and the other to "The Llama Coders" (Isabel and Samiya) for working really hard to debug their code without help!
4:40pm
Ruby continues to address student questions, not by giving them answers, but offering advice or general reminders. In one case, Carlos and Robert's code was giving an error and Ruby did go in and fix something on their computer. You ask why she fixed this bug and Ruby replies:
"That error had to do with our tech on the computer, just a minor compile conflict. I know how to fix that one, since I have seen it a handful of times in my own coding. Since that's not related to their code, I don't expect the students to know how to fix that! So I step in there."
"I will also sometimes swap a computer out if there is something going on that I don't understand." Ruby continues. Then I will also help the students catch up with the code they have written so far, since they are starting from scratch in the middle of the Jam."
"That make sense," you say.
Just then, Jayden and his partner, Skylar, raise their hands. You follow Ruby to their table.
"How can I help you..." Ruby checks their index card for their team name, "'BEST TEAM OF WINNERS'?"
"We want to buy a flip!" Jayden says.
"Alrighty, would you like to flip one of your cards, pick another card, or get my advice for an extra two dollars?"
"We know what card we want," says Skylar.
Ruby pulls the deck from the pocket of her coach hoodie, helping the students find the card they are looking for. They pick out one of the cards on the crafters that Ruby reviewed with the group earlier. Ruby trades the card for 5 of their fake dollars.
"You now have this for the rest of the Jam," says Ruby. "Good luck!"
4:45pm
Ruby announces to the whole class that they are approximately halfway through the Game Jam. She sets a timer on her phone for 15 minutes -- "I will give them a 10 minute warning when this goes off," Ruby explains.
"Are Final Jams always 45 minutes long?" You ask, remembering a question you had earlier.
"No, it really depends on how much time you have in the whole class, and how much time you use in the beginning for rules, prep and review." Ruby says. "I aim for at least 30 minutes, but if I have a short class of only one hour and an especially nervous group that needs extra review, I have gone as short as 20 minutes."
"And that still works?" You ask.
"Absolutely! There isn't a benchmark for the amount of coding that the students need to complete, they just should code something and feel acomplished by what they did!" Ruby says.
"Right." You remember the 3 goals of Final Jam.
"You also want to make sure you leave time for scoring and awarding of prizes at the end of class," Ruby says. "That can depend on the number of students you have because it takes longer with bigger groups. I am leaving myself 20 minutes today for this group. So I check the time when all the rules and reviewing is done, subtract 20 minutes from the end of class and Voila! That's how long my Jam is that day."
The coach timer beeps. "Switch drivers!" Ruby announces loudly to the class. "Everyone switch drivers!"
5:00pm
Ruby's phone timer goes off. Before she announces the 10 minutes warning, she turns back to you:
"Entering the final stretch now! You want to focus on getting all teams' games running. I might lower the cost of a resource, or add in a 'call in the coach' option -- when students can buy my help for 2 minutes or so to debug their code with them. They only get points for running games, so I want to help them get to that goal."
Ruby gives the students the 10 minute warning and the excitement in the room jumps up another notch.
You find yourself noticing, or trying to guess, the state of flow for each student. You and Ruby both notice a student that seems particularly "out of flow" at the same time. You follow Ruby over to the student in question.
Ruby checks in with Rahul, who is sitting silently next to his partner, Daniela, not working with her or even paying attention as she types away. With some gentle prodding from Ruby, Rahul reveals that he and Daniela have not been agreeing on which sprites to add to their game, and Daniela just changed all his characters in the code to what she wanted them to be. Ruby pauses Daniela's coding to talk to the pair:
"Working with a partner can be difficult," says Ruby, "especially when we disagree. Daniela, did you change the code you two wrote together without discussing it with Rahul?" Daniela nods. "Is that the kind of teamwork we strive for in this class? Was that 'Energizing your Team?'" Ruby asks, quoting the Code of Awesomeness.
"No, but it wasn't fair, he didn't ask me what I wanted when he was coding!"
And so it went back and forth for a few minutes. Ruby didn't spend too much time on who did or didn't do what, but asked questions and instructed the students on a compromise: Rahul got to pick some of the characters, and Daniela the others. She also brought them both over to the 'sprite computer' and looked through the list together until she found one that she could get both students moderately excited about. Ruby sent the pair back to their computer together with the decision that this would be their main player.
You congratulate Ruby on her handling of the tough situation.
"When the kids work in pairs there will always be disagreements. It's not a problem, it's part of the learning experience -- it's not like adults don't ever disagree with their coworkers, friends, or spouses!" Ruby laughs.
Another timer goes off and Ruby announces "Five minutes remaining: makes sure you are testing your games and fixing any bugs now!"
5:07pm
"Three minutes left! If you code isn't running, raise your hand. I may be able to offer some advice or a special resource discount..."
Ruby hops from pair to pair, giving last minute bonus points and words of advice. Some of the students are confident and chatting excitedly about the game they have coded, and some others are more nervous -- stuck on a last bug or wanting to finish up one last addition to their game. Ruby has an encouraging word for each of them.
5:10pm
When the last timer goes off, Ruby does one more lap around the room, making sure everyone has a running game on their screen. Many of the students want to keep coding, but Ruby is firm that the time is up. She does spend one extra minute with team "Ravenclaw" to help them get their game running.
"Congratulations everyone!" Ruby says, leading the group in a round of applause. "You all did amazing work! Ready to count up your points and see our class total?"
Ruby leads the students through a scoring process that involves counting up parentheses and keywords, dividing the total and adding bonus points. Ruby asks you to help check the student's math. You notice that everyone ends up with a sum between 15 and 30.
When every team has an approved total, Ruby adds up everyone's total and writes it on the board. She congratulates the whole group on one of the largest point totals she has seen! The students are estatic!
5:20pm
Ruby hands out "dollars" according to the points each pair earned. Ruby give each pair a small tidy-up task -- collecting the computer mice, collecting the hexagonal cards, erasing the whiteboard, shutting down the computers -- while she takes out a small collection of toys she dubs the "market." When each pair proves they have completed their task, Ruby lets them come to the market and use their fake money to buy a toy or two. After which, she send them to sit at one of the tables.
After the last student was encouraged to make their pick from the market, Ruby joins everyone at the table.
"Congratulations again, on a Game Jam well Jammed, coders!" Ruby says. "I have a final badge for you -- this is the Game Jam Badge that you only get for completing a Survival Language Game Jam. It shows all other MetaCoders that you have taken on this challenge and emerged triumphant!"
Ruby bestows a badge on each student, with as much pomp and circumstance the limited time allows.
Final Jam
Tue, June 8 4:00 PM
Read the full story to the right:
#lang mc-coach-assess
(view-deck (chapter-5))
(test-with-deck (chapter-5))
- Start at the Metapolis Welcome Center
- Find the green icons in order: 1 of 8
- There are 4 stories to find in this Chapter.
- Stories without these icons will not be on the test.