CODESPARK TEACHER S GUIDE Hour of Code Dear codespark Teacher, Thank you for your interest in teaching computer science to your kids! As you know, knowledge of computer science and algorithmic thinking is increasingly necessary for success in our digital world. This skill is becoming a critical component of 21 st century literacy. And while it s important to prepare kids for the modern workplace, computer science is about much more than getting a job in high tech. Research shows that computer science helps students improve in core areas like math, logic and even reading comprehension. Often people think of programming or coding as computer science but that is just one element. At its core, computer science is the study of how to use logical thinking to identify, simplify and solve complex problems. It s about how to think, not 0 s and 1 s. Studies from MIT and Tufts University show that students as young as five can learn complex computer science concepts, especially when the keyboard, mouse and programming syntax are out of the way. codespark is a unique and powerful approach to teaching computer science built on cutting edge research and hundreds of hours of prototype testing. codespark s learning games are designed with no words so even pre- readers and ELL students can play and learn our powerful curriculum. By playing our games, your students will improve their critical thinking skills and improve in other disciplines all while having a lot of fun! - - The codespark Team Have questions or want to give feedback? Email us at info@codespark.org Get our apps here www.thefoos.com 1
TEACHER CURRICULUM Hour of Code LESSONS 1. What is Computer Science and who are The Foos? (aka Sequencing 1 ) 2. Commands & Parameters 3. Sequencing 2 4. Loops OVERVIEW: The four lesson plans below provide a fun, flexible and engaging introduction to foundational computer science concepts. They target students K 3 rd grade, but we ve successfully tested with students as old as 6 th grade. These lesson plans are meant to be highly adaptable. We often suggest variations within the plans themselves. You will be the best judge of what your students need to spend more time on and what they seem to enjoy the most. In addition, most lessons include both an activity with our game, The Foos, and an unplugged activity that does not require a computer or other connected device. MATERIALS: Our game, The Foos Code for an Hour. Download it at http://thefoos.com. Available for FREE on ipad, iphone, Android Devices and web (e.g. major browsers Chrome, Safari, IE, etc.) Props as needed: see each lesson for specifics No experience is necessary, but we recommend you review the lessons and play the game prior to teaching for the first time. NOTE: This curriculum gives you approximately 4 hours of lessons. If you sign up for our Foosletter at thefoos.com, we will notify you when we expand the curriculum and release new versions of the game. 2
TEACHER OVERVIEW - WHAT IS COMPUTER SCIENCE? Computer Science, or CS boils down to solving problems with very specific sets of instructions because computers do exactly what they are told to do, in the order they are told to do it. We think of computers as smart but in reality they are quite dumb! They can t anticipate what we want from them; only human programmers come up with precise instructions for computers to act on. Learning to think like computer scientists or programmers can help children practice breaking down problems, thinking in logical sequences, and using precise language to give instructions. Some core elements of beginning to Think Like a Computer Scientist are: computers do only what they are told everyday processes like getting ready for school or making toast can be thought of as a set of instructions (ex. Get bread, put in toaster, toast etc.) computer scientists have to be very creative in order to solve problems, entertain, help, control complex machines, etc. computer science often begins with a problem to solve computer scientists mostly work in teams, not alone. Teams are generally better at finding creative solutions to problems than individuals. test and learn strategies for problem solving are generally the best. Making mistakes is always part of the journey to the right answer. The first lesson focuses on identifying common objects that only work when given the proper instructions. Then we will put this idea to work by programming the Police Foo the first character players meet in our game. 3
WHO ARE THE FOOS? The Foos are lovable and cute characters recently discovered by scientists. They are very small and live deep inside every computer, including smartphones, tablets and the computers in your class! Each Foo can walk, jump, throw, eat and navigate their world, called Fooville. Individual Foos have special abilities that make them unique, for example: Chef Foo can make many kinds of food Ninja Foo can shrink or grow bigger Construction Foo can make crates and also blow them up But, just like computers, the Foos only do what they are told, so students must learn to give them specific commands, or program the Foos, in a specific order. Look out! The blue character with the white horns is the Glitch. He is a force of chaos in Fooville. Sometimes he just makes a mess, sometimes he throws things around and sometimes he appears unexpectedly. The good news is that the Police Foo can chase and capture the Glitch, sometimes by herself and sometimes with help from other Foos. HOW DO THE FOOS HELP ME TEACH COMPTER SCIENCE? Each Foo is like an animated little computer. Students program them to solve problems, gain new abilities and explore Fooville. As the student progresses through the game, the programs required get more complex. Eventually students need to program two or more Foos to solve certain problems. 4
The Foos combines both structured and open- ended experiences to scaffold learning. In addition to our structured levels that teach students how to play The Foos, we have several Toy Box areas where students can let their imaginations run free by programing various Foos to interact with each other. As students unlock more Foos and abilities in the structured levels, their options for play in the Toy Box areas expand too. Most importantly, Foos are really, really fun to play! This means students get deeply engaged with sophisticated concepts and look forward to learning more and testing their knowledge of the game and of programming. Computer Science quickly becomes a favorite subject! SPECIAL TEACHER GATE If you hold down the blue monster we call The Glitch (circled in yellow on the screen below) for three (3) seconds 5
you will unlock the following screen: This screen allows you to do the following: 1. Reset the game to the beginning 2. Complete the game by chapters. Each chapter introduces a new character, new environment, 8 puzzles and 1 free play area. 3. Unlock everything in the game, giving the maximum amount of commands and power to the free play areas. 6
LESSON 1: COMPUTER SCIENCE & THE FOOS (aka SEQUENCING 1) MATERIALS Tablets with The Foos A pencil and a piece of paper for each student LEARNING OBJECTIVES Understand that computers are dumb, but powerful. a. They only do what they are told b. in the specific order instructions are received, c. and getting simple instructions right can be tricky. Accustom students to using test and learn strategies for problem solving. Making mistakes is always part of the journey to the right answer. Understand there are many ways to solve a problem. INTRODUCTION Begin with a group discussion of the computers that are around us. Some look like laptops, others might be cell phones, projectors, or thermostats. Discuss some instructions we give to these computers and what they do. GAME ACTIVITIES Transition to the devices and start up The Foos. It is generally sufficient to let students explore and learn from the onscreen animated instructions. From there, the game can be played independently. Let students explore and play the first eight (8) levels (Police Foo). UNPLUGGED ACTIVITIES 1. Put students into pairs with following roles: a Programmer and a Foo 2. Hand out a pencil and a piece of paper to each student 3. Programming challenge (feel free to make up your own of course!) a. No speaking allowed during this activity! b. The Programmer writes a set of commands using only arrows for the Foo to write the first three letter of the Foo s first name on the paper. c. Once complete, switch roles and do the same exercise. 4. Remind the students that The Foo must interpret the instructions as exactly as possible. It can be useful to demonstrate with one letter to start. 5. Extension: If time allows, ask students to repeat the same activity with the first three letters of their last name. But this time using position words (up, down, left, right, across) rather than arrows. DEBRIEF DISCUSSION What was the most challenging part of the unplugged activities? Was it easier to use arrows and pictures or words? 7
LESSON 2: COMMANDS & PARAMETERS MATERIALS Tablets with The Foos 1 set of the Commands & Parameters cards (see next page) for each student Pencils and paper LEARNING OBJECTIVES Learn what commands are and how they can be modified with parameters. Learn that commands are the primary instruction while parameters are the details For example walk is a command and left is a parameter. GAME ACTIVITIES Replay levels 5-8 to reinforce programming and sequencing logic. Play Chapter 2: Builder Foo levels 1-4. Continue to levels 5-8 if time allows. UNPLUGGED ACTIVITIES 1. Divide students into groups of 2 or 3. 2. Pass out 1 set of Commands & Parameters cards to each student. 3. Pass out a pencil and a piece of paper to each group of students. 4. Using these cards, each group tries to create as many programming instructions as possible in 5-10 minutes. a. Remind students that a programming instruction must include a command and a parameter. b. Combine a command card and a parameter card to create a single instruction. c. Record each unique instruction that students create on the paper. 5. After 5-10 minutes, count how many unique instructions each group created. DEBRIEF DISCUSSION Can some parameters be used with multiple commands? Can some commands be broken down further (hint: walk, run, throw, distance, speed, style, color, etc.) 8
Commands & Parameters Cards Grey boxes are Commands while white boxes are Parameters Walk Jump Right Left Chase Throw Up Apple Pick up Build crate Ball Glitch Blow up Change color Red Blue Walk Jump Right Left Chase Throw Straight Up Apple Pick up Build crate Ball Glitch Blow up Change color Red Blue 9
LESSON 3: SEQUENCING 2 MATERIALS Tablets with The Foos Pencils and paper LEARNING OBJECTIVES Understand that actions must happen in a specific order to compete a task. Learn that some sequences are more flexible than others: o For example, making a peanut butter sandwich requires you start and end with a piece of bread o but it doesn t really matter if you put peanut butter or jelly on first Demonstrate that some sequences are more efficient, and thus more desirable, than others. o More efficient programs take less memory and power o They also respond more quickly INTRODUCTION Discuss that there are at least two types of sequences. Focus on: 1. A sequence of actions for one person to complete in the correct order. 2. A sequence of actions that requires multiple people to coordinate, like a relay race. One person completes her part and passes it to the next. As a group, share some examples of real life tasks that require teams to complete a series of actions, and sort these examples into the two sequence categories. GAME ACTIVITIES Replay and complete all levels in Chapter 2: Builder Foo. Pay attention to the different types of sequences they encounter in the game. Play Chapter 3: Ninja Foo if time allows. UNPLUGGED ACTIVITIES 1. Brainstorm the following items and write them on the board: a. Types of bread, buns, tortillas, etc. b. Types of meat c. Types of spreads (peanut butter, jam, mayonnaise, mustard, etc.) d. Types of vegetables (lettuce, tomatoes, cucumber, etc.) 2. Divide students into groups of 2 or 3. 3. Pass out a pencil and a piece of paper to each group. 4. Write down different sandwich sequences. They can be silly (e.g. peanut butter sandwich with ham and tomato) but they must follow these rules: a. You must be able to carry the sandwich without dirtying your hands. b. You must have at least one (1) item from all four types of ingredients. 10
5. Share each group s sandwich creations with the class. DEBRIEF DISCUSSION As a class, discuss what actions are needed to make these sandwiches, and what is the order of these action sequences? For example: o Finding and organizing ingredients? o Preparing certain ingredients? (e.g. slicing tomatoes & cheese) o Shopping for ingredients? o Prepping your work area (e.g. get a knife and cutting board) o Other? If you were building a sandwich robot, what part of sandwich building would be easiest to automate? What would be hardest? Why? 11
LESSON 4: LOOPS MATERIALS Tablets with The Foos Pencils and paper Steps to making a sandwich from Lesson 3 LEARNING OBJECTIVES Understand why a loop is powerful Recognize everyday routines that might benefit from a loop command Recognize the use of loops in favorite video games GAME ACTIVITIES Have the students replay Chapter 1 levels 5-8 with the Police Foo. Where does a loop help the most? Have students replay Chapter 2 levels with the Builder. Can they use a loop on every level? Does this generally make their programs smaller (e.g. do they use fewer total commands to solve the puzzle?) Explore Chapter 3 with the Ninja Foo if time allows. UNPLUGGED ACTIVITIES 1. Divide into groups of 3 or 4 2. Pass out two pieces of paper and pencils to each group 3. On one piece of paper, brainstorms 3-4 examples of Everyday Activity Loops: a. Write the name of an activity and the steps or loops to complete it. b. For example: Washing Hands Wet hands Soap hands LOOP(Rub hands, 3 times) Rinse hands 4. After each group has completed Step 3, write the Sandwich Creation action sequence from Lesson 3 on the board. 5. Review these steps as a class and add any missing or unclear steps. 6. On a piece of paper, each group rewrites the sandwich creation sequence using loops to make it more efficient. Circle any steps that are inherent loops and expand on them (e.g., cutting a tomato; spreading mustard). DEBRIEF DISCUSSION What are some classroom activities that could be written as an action sequence with loops? What are some favorite games that seem to have loops? o Example: Temple Run, Subway Surfer or Minion Rush are all Endless Runner games where the player controlled character is always moving forward. This is a classic example of using a loop for efficiency. The player only has the think about up/down and right/left. Forward is taken care of by the loop. 12