Lesson 1: Intro to Problem Solving

Overview

Question of the Day: What can help us to work together and solve problems as a team?

In this lesson, students work in groups to design aluminum foil boats that will support as many pennies as possible. Groups have two rounds to work on their boats, with the goal of trying to hold more pennies than they did in round 1. The structure of the activity foreshadows different steps of the problem solving process that students will be introduced to in more detail in the following lesson. At the end of the lesson students reflect on their experiences with the activity and make connections to the types of problem solving they will be doing for the rest of the course.

Alternate versions of this lesson are also available.

Purpose

This lesson is a fun introduction to the open-ended, collaborative, and creative problem solving students will be using over the rest of this unit and course. The aluminum boats problem could easily be substituted out for any number of other problems that require students to define their goals, devise a plan, try a solution, evaluate their results, and then iteratively improve from there. The fact that the problem chosen is "non-computational" is intentional. Computer science is fundamentally a problem-solving discipline and staying away from traditional computer science problems at this point helps to frame this class as one about problem-solving more generally with computer science being a new "tool" to help attack certain types of problems.

Assessment Opportunities

  1. Communicate and collaborate with classmates in order to solve a problem

    In the wrap up discussion question about collaboration, check for advantages to collaboration in problem solving and can list appropriate strategies for overcoming challenges. This practice will be reinforced throughout the unit and course.

  2. Iteratively improve a solution to a problem

    In the Activity Guide, check for strengths and weaknesses in students' original design and connection to appropriate changes for the next iteration of the project.

  3. Identify different strategies used to solve a problem

    In the Activity Guide, check for strategies for overcoming the challenges in the activity. You also may want to check the "strengths" of their designs that students list as part of developing their plan on the second page of the guide.

Agenda

Lesson Modifications

Tech Setup

CSD Pre-Course Survey

Warm Up (5 min)

Activity (30 min)

Wrap Up (5 mins)

View on Code Studio

Objectives

Students will be able to:

  • Communicate and collaborate with classmates in order to solve a problem
  • Iteratively improve a solution to a problem
  • Identify different strategies used to solve a problem

Preparation

For each group

  • 2 sheets of aluminum foil, 5x5 inches in length each
  • 1 container that can hold 3-5 inches of water
  • Several paper towels or rags that can be placed under the container
  • 15 pennies
  • One copy of the activity guide

For the teacher

  • 1 container that can hold 3-5 inches of water
  • 50 pennies
  • Extra paper towels or rags

Links

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

For the Teachers

For the Students

Support

Report a Bug

Teaching Guide

Lesson Modifications

Attention, teachers! If you are teaching virtually or in a socially-distanced classroom, please read the full lesson plan below, then click here to access the modifications.

Tech Setup

Throughout the year, in order for you to be able to see student work, and for students to be able to access online tools and resources, all students need to be in the same section on Code Studio. To see assessments and answer keys that Code.org provides, you also need to be a "verified teacher".

Before class

Ensure you are registered on Code Studio as a "verified" teacher account

Anyone can create a teacher account on Code Studio, which means that we need an extra layer of authorization to allow CS Discoveries teachers to see assessments, answer keys, and any other collateral that students should not be able to trivially get access to. If you attended a Code.org TeacherCon during the summer, you should already have this access.

To check whether you have access:

  1. Navigate to the Unit 1 course overview page
  2. Do you see the CS Discoveries Pre-course Survey as the first "stage" of the course?
  3. If not, please fill out this form. Note that it can take a day or so to become a verified teacher account, so please do this step early!

If you are not a verified teacher account, you can still create a section for your class, but you will not be able to administer the pre-course survey on the first day.

Create a class section on Code Studio.

To create a section:

  1. Navigate to the Teacher Home Page
  2. Click 'New section' under 'Classroom Sections'
  3. Choose 'Email Logins'
  4. In the space provided, give your section a name (e.g. CSD Period 1), the grade of your students, Course: 'Computer Science Discoveries', Current Unit: 'Unit 1: Problem Solving', and click 'Save'
  5. Once the section is created, click the name of the section
  6. On the new page, you will see a unique Join URL that you will distribute to your students in class.

For a video walkthrough of these steps and more on navigating your Code.org account, go to the Code.org How-to Video Playlist

At the beginning of class

  1. Have students create a Code Studio account at https://studio.code.org if they don't already have one
  2. Share the section Join URL with students and tell them to navigate to it to join your section
    • You can confirm that a student successfully joined your section by having the section progress page on the Teacher Home Page open and hitting refresh as students join. Students should see a small green bar at the top of their page that says 'You've successfully joined ...'
  3. From studio.code.org have students locate the Computer Science Discoveries tile and click 'View course', then go to Unit 1.

Once students are looking at the Unit 1 overview page, they will be ready to take the CSD Pre-Course survey

CSD Pre-Course Survey

Why do the pre-course survey?

  • A major goal of CS Discoveries is to broaden participation in computer science.
  • It is crucial therefore to have insight into students' attitudes and beliefs about computer science before the course so that we can measure the amount of change that occurred after the course is over.
  • Please note that this survey is anonymous for students
  • Completing it also helps us understand important improvements we can make to the curriculum to improve the teacher and student experience.

Please help by having your students contribute to this vital dataset. Their voices make the difference!

Important! Have your students take the CSD Pre-Course Survey!

Students can find a link to the survey in Code Studio as the first item on the Unit 1 overview page. To ensure that students only take the survey at the appropriate time, it is "locked" and unviewable by them until you "unlock" the survey. The How to Administer a Locked Assessment document provides details on how to do that when you are ready. Note that the instructions for administering an assessment and a survey are the same.

How much time does it take?

The survey does take some time - it is roughly 30 questions. You might consider administering it on an admin day at school, or as an early homework.

Because it is a pre-course survey it is important that students take it as early in the course as possible, before they have had much (or any) exposure to the class so that we may accurately gauge changes in attitudes and beliefs caused by the course.

Thank you!

-- The Code.org Team

Warm Up (5 min)

Teaching Tip

Journaling: Journaling is a key practice in CS Discoveries. Students can journal on loose leaf paper, in notebooks, or digitally.

Slides: Slides for this unit are available in the "Teacher Resources" section of the lesson plan. You will be prompted to make a copy, which you will only need to do once - after that, you may use the slides for each lesson in the curriculum.

Set the Stage

Prompt: What makes someone a good problem solver? Be ready to share three ideas with your group.

Discussion Goal

The goal of this warm up is to start students thinking about problem solving in preparation for the day's activity. Highlight answers that reinforce key practices in the class, such as collaboration, persistence, and creativity. This is also a chance to reinforce a positive culture that encourages students to share out and support each other in brainstorming ideas.

Discuss: Allow students to share answers at their table groups or with a partner, then have those who are comfortable share with the whole class.

Remarks

Those are all great ideas! In computer science, we have to solve problems all of the time, so we'll be looking back at all of these problem solving skills today and for the rest of the course. Most of the problem solving that people do in computer science happens in teams. Today, we're going to work in teams to solve a fun problem that doesn't need computers. While you work on that problem, here's a question that you can think about.

Display: Show students the Question of the Day

Question of the Day: What can help us to work together and solve problems as a team?

Activity (30 min)

Teaching Tip

Getting Copies of Google Docs: Activity Guides in this curriculum are available as Google Docs, Word Docs, and PDFs. If you'd like to edit or make your own copy of a Google Doc you may without requesting access. Simply log in with a Google account, click "File" and "Make a copy" from the menu. You may then share your own copy with your students.

Building an Aluminum Boat

Group: Put students in groups of 2 or 3.

Remarks

Today we're going to be building aluminum boats. You'll have an opportunity to build at least two boats and use your experience with each one to improve your designs. Before we get started, decide as a group what kind of design you'd like to make with your first boat. Record your ideas and any possible weaknesses of this design on your activity guide.

Distribute: One copy of the activity guide to each group.

Teaching Tip

This activity can get your room wet! Ideally, each group should have its own bucket/container with water to conduct its own tests. If needed, you can have several groups share one container, but be mindful to set guidelines for sharing that container. Place towel/rag under each container. You may also want to consider teaching this activity in the hallway or some other space if your room is very restrictive, or add in additional rules as necessary.

Goal and Rules

As a class, read through the Goal and Rules sections of the activity guide and answer questions.

Teaching Tip

Hold onto the foil until students submit a plan for their boat. The goal isn't to slow them down too much, but just give them a moment to reflect briefly on the possible approaches they could take. This is one way this activity foreshadows the Planning step of the problem solving process students will see in subsequent lessons.

Develop a Plan

Give students a couple minutes to discuss in groups the approach they will be taking with this first boat. Once groups have recorded their ideas and some possible weaknesses they can come to you to get their aluminum foil and begin building their boats.

Test Your Boat

Once groups are ready, have them test their boats by dropping individual pennies into the boat. Remind them of the rules, specifically that they can't touch or adjust the boats once they're in the water. Have them record the total number of pennies held on their activity guides.

Evaluate and Improve

Remarks

This first attempt at building our boats was just to get familiar with the challenge. We're all going to build a second boat and see if we can improve the number of pennies our boats held. Before we get started though, let's see what we can learn from this trial run.

Teaching Tip

While some students will view this portion as a competition, emphasize that each group is looking to improve its own design, not competing against others. You are appealing for each student to challenge themselves first, not others.

Share: Have students share the results of their first run with neighboring groups. Ask groups to focus particularly on what the eventual failure of their boat was (e.g. it wasn't deep enough, it was unstable, etc.) and brainstorm ways to get around those problems.

Develop a Plan

Prompt: Now that you've had a chance to learn from the first round of boat making, let's run the same activity again. First, your group will develop a new plan. Just as before, record it on your activity guide, and once you're ready I'll come around and give you a new piece of foil.

Support: As you circulate from group to group, ask questions about the group’s focus in redesign. EX: “What aspect of your boat needed the most improvement?” “What ideas from other groups did you want to incorporate to yours?” “Did you feel the need to completely restructure your boat, or make minor modifications?”

Once groups have prepared their new plans give them a new piece of foil and have them each build a new boat.

Test Your Boat

Groups can test their designs just as before and record the results on their activity guides.

Reflect

Transition: Ask class to return to their own seats to reflect on the activity.

Wrap Up (5 mins)

Discuss the Challenge

Question of the Day: What can help us to work together and solve problems as a team?

Assessment Opportunity

Students may recognize that collaboration allowed them to think through their ideas more thoroughly or that they were able to split up the work that they needed to do. As students list challenges, ensure that they are coming up with ways to overcome those challenges. If you have noticed any issues in group dynamics during the activity, you may want to use this time to bring up these as potential problems in a non-confrontational way and help students to generate strategies for working together more effectively in future activities. These can serve as classroom norms for group work moving forward.

Prompt: You worked in teams for this activity. How did working in a team make this activity easier, how did it make the activity more challenging? What helped your group overcome these challenges?

Discuss: Allow students time to share thoughts with the class.

Remarks

All of your thoughts around these questions were great. We're going to be doing a lot of teamwork in this class. You may be used to thinking about computer science as being all about computers, but first and foremost computer science is about solving problems, and usually that happens in teams. A lot of other parts of this activity like improving designs, and building things is also going to be a big part of this class. I hope you're excited for the year. Tomorrow we'll start digging deeper into problem solving itself.

Standards Alignment

View full course alignment

CSTA K-12 Computer Science Standards (2017)

AP - Algorithms & Programming
  • 1B-AP-08 - Compare and refine multiple algorithms for the same task and determine which is the most appropriate.
  • 1B-AP-11 - Decompose (break down) problems into smaller, manageable subproblems to facilitate the program development process.
  • 1B-AP-16 - Take on varying roles, with teacher guidance, when collaborating with peers during the design, implementation and review stages of program development.