< Interactive Animations and Games ('24-'25)

Lesson 7: Mini-Project - Robot Faces

45 minutes

Overview

After a quick review of the code they have learned so far, students are introduced to their first creative project of the unit. Using the problem-solving process as a model, students define the robot face that they want to create, prepare by thinking of the different code they will need, try their plan in Game Lab, then reflect on what they have created. They also have a chance to share their creations with their peers. The open-ended nature of this lesson also provides flexibility for the teacher to decide how long students should spend on their work, depending on the scheduling demands of the particular course implementation.

Question of the Day: How can we use shapes, variables, and randomness to express our creativity?

CSTA K-12 Computer Science Standards (2017)
    • 2-AP-11 - Create clearly named variables that represent different data types and perform operations on their values.
    • 2-AP-13 - Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs.
    • 2-AP-17 - Systematically test and refine programs using a range of test cases.

Agenda

Objectives

Students will be able to:
  • Apply variables, shapes, and randomNumber concepts to create a program.
  • Use a structured process to plan and develop a program.

Preparation

Links

Heads Up! Please make a copy of any documents you plan to share with students.

For the teachers
For the students

Teaching Guide

Warm Up (5 minutes)

Review

Prompt: What are some ways we can use variables with random numbers to make our programs different each time we run them?

Share: Allow students to share what they remember as a group review.

Discussion Goal: The goal of this discussion is to review how to use variables with random numbers when drawing shapes. Students may share ways that they have used variables with random numbers in previous lessons as well as new ideas that they haven’t seen yet.

Remarks

You’ve learned how to do some really cool things in Game Lab. Today you’ll have a chance to put them together to make a unique robot face to share with the world. That means instead of trying to recreate someone else’s idea, you get to come up with an idea of your own. You can make your robot look however you want; you can choose the shape of its head, how many eyes or mouths it has, if it has antennas, and more. There is no limit, so let’s come up with something original and unexpected!

Question of the Day: How can we use shapes, variables, and randomness to express our creativity?

Teaching Tip

Facilitating Mini-Projects: Mini-Projects act as checkpoints in the curricula and cover the subset of skills students have seen so far in the unit. They are designed for 1-2 days of implementation as a way to check in with how well students understand the course content so far.

You may decide to extend these projects as a way to support or challenge students, which could allow you to revisit difficult concepts or support students who may have missed lessons and are trying to catch up. However, we recommend deciding this ahead of time and being firm with students about how much time they have for each project - otherwise, it's easy for projects to drag out to multiple days and for students' work to spiral beyond the scope of this project.

Activity (35 minutes)

Distribute: Pass out copies of the Activity Guide - Robot Face Planning. Students should use this worksheet to guide them through the Problem-Solving Process and plan out the robot face they create at the end of this lesson.

Step 1: Define - Describe your Image

Circulate: As students fill out a description of the robot face they want to create, circulate the room to ask students about their ideas and help guide them to make sure they are thinking of how they could include variables and random features. Remind students about the shape, regularPolygon, line, arc, and point blocks so that they know they are not limited to just ellipse and rect blocks.

Step 2: Prepare - Design your Image

As students answer questions about the design of their robot face, continue to ensure that they are thinking about variables and random features. After they have completed their designs, ensure that they can identify which blocks will be needed for the different features on the face.

Teaching Tip

Scoping Student Projects: Students may ideate projects that are beyond the skills they currently have or that would take longer than the allotted time to implement. Rather than asking students to choose a different project, consider asking students to imagine a more scaled-down version of their initial idea. As an analogy, if a student's initial idea is the "Run" step, imagine a less intense version that represents what the "Walk" step would look like. If necessary, you can keep going back further to a "Crawl" step as well.

Digging Deeper: This is sometimes referred to as the Minimal Viable Product - you can learn more about this process and adapt it into your project strategies by reading this article: Making Sense of MVP by Henrik Kniberg

Step 3: Try - Develop your Image

Remarks

Many of you are ready to start creating your programs. One thing that could make this challenging is the blank screen effect: unlike previous levels, you won’t have any starter code or direction on what to create. This means you might not be sure what exactly you’re supposed to do, or you might run into bugs you need to fix which can be frustrating. Luckily, we can also use the problem-solving process to help with these types of projects as well!

Distribute: Hand out a copy of the Problem Solving with Programming to pairs of students. Encourage students to look over the guide.

Display: Show the slide with the problem solving process graphic.

Remarks

If you feel stuck or you’re not sure what to do next, remember you can always follow the steps of the problem-solving process to define your next step, prepare for what you want to code, try it out, then reflect on whether or not it solved your problem.

Circulate: Encourage students to use the steps in the Problem-Solving Process for Programming when they get stuck or are unsure of what to do next.

Teaching Tip

Not all bullets in the Problem Solving Process will be applicable to every problem a student has. Instead, encourage them to pick one or two from each category to try each time they are stuck

After you have checked the designs, allow students to log into Code Studio and code their programs. They will have a chance to review all of the blocks they have learned before they start on their robot faces, as some may help them create the features of their robot faces. They can complete these activities as a review or use them as resources while they work on their projects.

Transition: Send students to Code Studio.

Teaching Tip

Debugging Strategies: As students design and implement their own project ideas, they may find themselves with new bugs that they need to untangle and you may find yourself looking at completely unfamiliar code as students look for help troubleshooting their errors. To help smooth out the debugging experience, consider the following strategies:

  • Review the Teacher Guide to Debugging for some common questions and strategies to help support students in debugging their code
  • Have students follow the steps in the Student Guide to Debugging and use the Bug Report Quarter-Sheets as an initial step in the debugging process. This helps students prepare and communicate their issues before asking for help.
  • If students haven't seen it yet, consider showing the Debugging Video to the class to reinforce debugging best practices.

Digging Deeper: Consider supplying students with an object to talk to as part of the debugging process. This is sometimes known as Rubber Duck Debugging - you can learn more on the website https://rubberduckdebugging.com/

Gallery Walk

Allow students to walk around the room and see the robot faces that each of their classmates has created. Celebrate all of the different ideas that students were able to implement with the same basic blocks.

Teaching Tip

You may choose to formalize this process by having each student write down one positive quality of each project, or having students "draw names" to comment on one particular classmate's work.

Assessment Opportunity

Use the project rubric attached to this lesson to assess student mastery of learning goals.

Wrap Up (5 minutes)

Journal

Question of the Day: How can we use shapes, variables and randomness to express our creativity?

Prompt: What was one especially creative way you saw someone else use the blocks today?

Share: Have students share what they appreciated about their classmates' projects. You may want to do this "popcorn" style, with each student who responds choosing the next person to share.

Discussion Goal: This discussion should serve as a celebration of what the students have accomplished. As students share what they have seen, encourage them to learn from each other and ask questions if they are not sure how to do something. Highlight how students were able to do very different things with the same tools.

Creative Commons License (CC BY-NC-SA 4.0).

This work is available under a Creative Commons License (CC BY-NC-SA 4.0).

If you are interested in licensing Code.org materials for commercial purposes contact us.