This lesson will prepare students mentally for the coding exercises that they will encounter over the length of this course. In small teams, students will use physical activity to program their classmates to step carefully from place to place until a goal is achieved.
By using physical movement to program their classmates, students will run into issues and emotions similar to what they will feel when they begin coding on a computer. Encountering those stresses in a playful and open environment will help to alleviate intensity and allow students to practice necessary skills before they run into problems on their own.
Students will be able to:- Define a list of steps (algorithm) to get a friend from their starting position to their goal.- Translate a list of steps into a series of physical actions.- Identify and fix errors in the execution of an algorithm.
Note: You must create a free account to access this and use this resource.
Using a set of symbols in place of code, students will design algorithms to instruct a "robot" to stack cups in different patterns. Students will take turns participating as the robot, responding only to the algorithm defined by their peers. This segment teaches students the connection between symbols and actions, the difference between an algorithm and a program, and the valuable skill of debugging.
This unplugged lesson brings the class together as a team with a simple task to complete: get a "robot" to stack cups in a specific design. This activity lays the groundwork for the programming that students will do throughout the course as they learn the importance of defining a clearly communicated algorithm.
Students will be able to:
- Attend to precision when creating instructions.- Identify and address bugs or errors in sequenced instructions.
Using characters from the Ice Age, students will develop sequential algorithms to move Scrat from one side of a maze to the acorn at the other side. To do this, they will stack code blocks together in a linear sequence, making them move straight, turn left, or turn right.
In this lesson, students will develop programming and debugging skills on a computer platform. The block-based format of these puzzles help students learn about sequence and concepts, without having to worry about perfecting syntax.
- Construct a program by reorganizing sequential movements.- Build a computer program from a set of written instructions.- Choose appropriate debugging practices when solving problems.
In this lesson, students will use their newfound programming skills in more complicated ways to navigate a tricky course with BB-8.
With transfer of knowledge in mind, this lesson gives students a new environment to practice the skills that they have been cultivating. Star Wars fans will jump for joy when they see these puzzles. Each puzzle in this series has been added to provide a deeper understanding of the basic concepts that they will be using throughout the rest of this course.
- Sequence commands in a logical order.- Recognize problems or "bugs" in a program and develop a plan to resolve the issues.
Building on the initial "My Robotic Friends" activity, students tackle larger and more complicated designs. In order to program their "robots" to complete these bigger designs, students will need to identify repeated patterns in their instructions that could be replaced with a loop.
This lesson serves as a reintroduction to loops, using the now familiar set of "robot" programming instructions. Students will develop critical thinking skills by looking for patterns of repetition in the movements of classmates and determining how to simplify those repeated patterns using loops.
Students will be able to:- Identify repeated patterns in code that could be replaced with a loop.- Write instructions that use loops to repeat patterns.
Building on the concept of repeating instructions from "My Loopy Robotic Friends," this stage will have students using loops to get to the acorn more efficiently on Code.org.
Students will be able to:- Construct a program using structures that repeat areas of code.- Improve existing code by finding areas of repetition and moving them into looping structures.
In this lesson, students continue learning the concept of loops. Here, Laurel the Adventurer uses loops to collect treasure in open cave spaces. A new get treasure block is introduced to help her on her journey.
This lesson gives students more practice with loops and encourages them to put multiple blocks inside of a repeat< as they try to collect as much treasure as possible.
Students will be able to:- Identify the benefits of using a loop structure instead of manual repetition.- Break down a long sequence of instructions into the smallest repeatable sequence possible.
Note: You must create a free account to access and use this resource.
Students learn to draw images by looping simple sequences of instructions. In the previous online lesson, loops were used to traverse a maze and collect treasure. Here, students use loops to create patterns. At the end of this stage, students will be given the opportunity to create their own images using loops.
This lesson gives a different perspective on how loops can create things in programming. Students will test their critical thinking skills by evaluating given code and determining what needs to be added in order to solve the puzzle. Students can also reflect on the inefficiency of programming without loops here because of how many blocks the program would require without the help of repeat loops.
Students will be able to:- Count the number of times an action should be repeated and represent it as a loop.- Decompose a shape into its largest repeatable sequence.- Create a program that draws complex shapes by repeating simple sequences.
Note: You must create a free account to access and use this resource.
Events are a great way to add variety to a pre-written algorithm. Sometimes you want your program to be able to respond to the user exactly when the user wants it to. That is what events are for in coding.
In this lesson, students will learn to distinguish events from actions. The students will see activities interrupted by having a "button" pressed on a paper remote. When seeing this event, the class will react with a unique action. Events are widely used in programming and should be easily recognizable after this lesson.
- Repeat commands given by an instructor.- Recognize actions of the teacher as signals to initiate commands.- Practice differentiating pre-defined actions and event-driven ones.
In this online activity, students will have the opportunity to learn how to use events in Play Lab and apply all of the coding skills that they've learned to create an animated game. It's time to get creative and make a game in Play Lab!
Students will start by training the knight to move when an arrow key is pressed, then end with the opportunity to showcase the rest of the skills that they learned throughout this course, including sequence and looping, as part of the final free play puzzle.
Students will be able to:- Identify actions that correlate to input events.- Create an animated, interactive story using sequences and event-handlers.- Share a creative artifact with other students.