Students will use the free online coding program, Scratch, to learn the basics of coding and how to use blocks and animations to create an animated animal. Students will show how an animated animal will receive, process, and respond to information using its senses. The students will go through a series of coding steps to create a background and make an animal move and change according to factors in its environment.
This lesson plan was created as a result of the Girls Engaged in Math and Science, GEMS Project.
Students will use the free online coding program Scratch to learn the basics of coding and how to use blocks and animations to create a game. Students will create a game to find multiples of a given factor by making a character fly into the correct multiple of the given factor. The student will go through a series of coding steps to create a background, make a character fly, and create the factor and multiple game.
Students will learn about Grace Hopper, who was a computer science pioneer that was one of the first programmers of the Mark I, invented one of the first compiler-related tools, and coined the term “debug.” They will practice their detection and debugging skills as they work through several algorithms created by the teacher.
This activity was created as a result of the DLCS COS Resource Development Summit.
Computers are usually programmed using a “language,” which is a limited vocabulary of instructions that can be obeyed. One of the most frustrating things about programming is that computers always obey the instructions to the letter, even if they produce a crazy result. This activity gives children some experience with this aspect of programming.
To make computers go faster, it can be a lot more effective to have several slower computers working on a problem than a single fast one. This raises questions about how much of the computation can be done at the same time.
Here we use a fun team activity to demonstrate an approach to parallel sorting. It can be done on paper, but we like to get students to do it on a large scale, running from node to node in the network.
In this activity, pupils will follow an algorithm to draw pictures constructed from 2D shapes. The algorithms they follow will include errors and pupils will use logical reasoning to detect and correct these.
PUPIL OBJECTIVES:I can use logical reasoning to detect and correct errors in an algorithm.
TEACHING ASSESSMENT OPPORTUNITIES:Informal, teacher assessment of progress during the main task, class discussions and plenary. Focus on how pupils use logical reasoning to identify errors in an algorithm and fix errors in the algorithm.Formal, summative assessment of debugging sheets if required.
In Art, students create animations, interactive artwork, photograph filters, and other exciting, artistic projects.
Art is a complete theme designed to be completed over eight, 45-75 minute, sessions. For each Activity, students will watch a series of videos and create one coding project with opportunities to personalize their work using “Add-Ons”, which are mini-coding challenges that build on top of the core project.
Be sure to review the Materials tab for the lesson plan, starter guide, and more.
Users will need a Google account to use this resource.
In this activity, pupils are challenged to detect and correct the error in a number of water cycle programs (debugging). They use logical reasoning to do this, comparing what the program should do with what it does do, and systematically homing in on the error (bug) by ‘thinking through’ the code in the program.
PUPIL OBJECTIVES:I can use logical reasoning to debug a program.I can explain how I debugged a program.
TEACHING ASSESSMENT OPPORTUNITIES:Informal teacher assessment of pupils as they tackle the debugging challenge: focus on pupils’ logical approach and ability to explain the bugs they found, why they are bugs and how they corrected them.Summative assessment of pupils’ debugging challenge sheets.
In Storytelling, students use computer science to tell fun and interactive stories. Storytelling emphasizes creativity by encouraging students to tell a unique story each day.
Storytelling is a complete theme designed to be completed over eight, 45-75 minute sessions. For each Activity, students will watch a series of videos and create one coding project with opportunities to personalize their work using “Add-Ons”, which are mini-coding challenges that build on top of the core project.
This Unit Plan consists of eight activities to be completed over multiple days or weeks.
In Game Design, students learn basic video game coding concepts by making different types of games, including racing, platform, launching, and more!
Game Design is a complete theme designed to be completed over eight, 45-75 minute, sessions. For each activity, students will watch a series of videos and create one coding project with opportunities to personalize their work using “Add-Ons”, which are mini-coding challenges that build on top of the core project.
Students have practiced creating impressive designs in Artist and navigating mazes in Bee, but today they will use functions to harvest crops in Harvester. This lesson will push students to use functions in new ways by combining them with while loops and if / else statements.
while
if / else
This lesson is meant to further push students to use functions in more creative ways. By also using conditionals and loops, students will learn there are many ways to approach a problem, but some are more efficient than others. These puzzles are intended to increase problem-solving and critical thinking skills.
Students will be able to:- recognize when a function could help to simplify a program.- use pre-determined functions to complete commonly repeated tasks.
Note: You will need to create a free account on code.org before you can view this resource.
This series brings together concepts from previous lessons and gives students a chance to think critically about how they would solve each problem, but without telling them which concept to apply. Students will review basic algorithms, debugging, repeat loops, conditionals, while loops, and functions.
repeat
It's important for students to remember that computer science provides plenty of opportunities to be creative. Every topic can be combined with another to make something bigger and better. In this lesson, students will use previously learned concepts together, allowing for a "big picture" view of programming projects. This lesson will also bridge any gaps in understanding of when to use certain programming tools over others.
Students will be able to:- recognize which programming concept to use to solve a given problem.- describe the different ways one could solve a given problem.
Over the course of four lessons, students will be building up to programming a project of their own design using either Sprite Lab or Artist as their programming environment. Now the students will be given their own space to create their project with either Artist or Sprite Lab. This is likely to be the longest stage of the project. The lesson guide for all four stages of the process can be found in the first stage of this project process here.
This lesson provides students with ample time to build and revise their projects. The trial and error inevitably involved in this lesson will teach problem solving and persistence.
Students will be able to:- use the planned design as a blueprint for creation.- overcome obstacles such as time constraints or bugs.
Using a special set of offline commands, 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. Students will work to recognize real-world actions as potential instructions in code. The art of following precise instructions will also be practiced, as students work to translate algorithms into code, using the symbols provided. If problems arise in the code, students should work together to recognize bugs and build solutions. 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:- reframe a sequence of steps as an encoded program.- identify and address bugs or errors in sequenced instructions.
In this set of puzzles, students will begin with an introduction (or review depending on the experience of your class) of Code.org's online workspace. There will be videos pointing out the basic functionality of the workspace including the Run, Reset, and Step buttons. Also discussed in these videos: dragging Blockly blocks, deleting Blockly blocks, and connecting Blockly blocks. Next, students will practice their sequencing and debugging skills in a maze.
Run
Reset
Step
We recognize that every classroom has a spectrum of understanding for every subject. Some students in your class may be computer wizards, while others haven't had much experience at all. In order to create an equal playing (and learning) field, we have developed this "Ramp Up Stage" for Course E. This can be used as either an introduction or a review of how to use Code.org and basic computer science concepts.
Students will be able to:- order movement commands as sequential steps in a program.- modify an existing program to solve errors.- break down a long sequence of instructions into the largest repeatable sequence.
Debugging is an essential element of learning to program. In this lesson, students will encounter puzzles that have been solved incorrectly. They will need to step through the existing code to identify errors, including incorrect loops, missing blocks, extra blocks, and blocks that are out of order.
Students in your class might become frustrated with this lesson because of the essence of debugging. Debugging is a concept that is very important to computer programming. Computer scientists have to get really good at facing the bugs in their own programs. Debugging forces the students to recognize problems and overcome them while building critical thinking and problem-solving skills.
Students will be able to:- predict where a program will fail.- modify an existing program to solve errors.- reflect on the debugging process in an age-appropriate way.
In this lesson, students will take control of the Artist to complete drawings on the screen. This Artist stage will allow students to create images of increasing complexity using new blocks like move forward by 100 pixels and turn right by 90 degrees.
move forward by 100 pixels
turn right by 90 degrees
Building off of the students' previous experience with sequencing, this lesson will work to inspire more creativity with coding. The purpose of this lesson is to solidify knowledge of sequencing by introducing new blocks and goals. In this case, students learn more about pixels and angles using the new blocks, while still practicing their sequencing skills. Also, students will be able to visualize new goals such as coding the Artist to draw a square.
Students will be able to:- create a program to complete an image using sequential steps.- break complex shapes into simple parts.
Building on the initial "My Robotic Friends" activity, students learn to use loops when programming their robots in order to build bigger structures more efficiently.
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.
Now that students know how to layer their loops, they can create so many beautiful things. This lesson will take students through a series of exercises to help them create their own portfolio-ready images using Anna and Elsa's excellent ice-skating skills!
In this series, students will get practice nesting loops while creating images that they will be excited to share. Beginning with a handful of instructions, students will make their own decisions when it comes to creating designs for repetition. They will then spin those around a variety of ways to end up with a work of art that is truly unique.
Students will be able to:- describe when a loop, nested loop, or no loop is needed.- recognize the difference between using a loop and a nested loop.- break apart code into the largest repeatable sequences using both loops and nested loops.
In this activity students work in small groups to write the steps to an everyday task or the steps in a "how to" scenario. The steps the groups write serve as an algorithm. The groups will then swap their writing for the teams to now "debug" each other's work to make the steps more precise.
This activity was demonstrated during the Exploring Today's Classroom (ETC) Summit.