Lesson 17: Functions with Harvester
Overview
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 the new ways by combining them with while
loops and if / else
statements.
Purpose
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.
Agenda
Warm Up (10 min)
Main Activity (30 min)
Wrap Up (15 min)
View on Code Studio
Objectives
Students will be able to:
- Recognize when a function could help to simplify a program.
- Use pre-determined functions to complete commonly repeated tasks.
Preparation
- Play through the lesson to find any potential problem areas for your class.
- Make sure every student has a Think Spot Journal - Reflection Journal.
Links
Heads Up! Please make a copy of any documents you plan to share with students.
For the Students
- Think Spot Journal - Reflection Journal
Vocabulary
- Function - A piece of code that you can easily call over and over again.
Support
Report a Bug
Teaching Guide
Warm Up (10 min)
Introduction
At this point, your students should already be introduced to functions. Take this time to have them discuss the advantages and disadvantages of using functions in a program. Either have them pair share or discuss as a class. Try using examples of hard or easy puzzles in either Artist or Bee.
Ask the class:
- When would you use a function?
- Why does a function help to simplify your program?
- Do you think functions make programming easier or harder? Why?
Main Activity (30 min)
Online Puzzles
Some puzzles will have a function pre-declared for the students to fill in. It may be helpful for the students to write the entire program without a function first, then determine where a function would be useful in the program.
It's important to make sure that every student is completing each puzzle with a dark green dot. If some of your students are struggling to simplify code and use functions, set up teams of expert students within your class to go around and answer questions.
Don't forget to provide pencils and paper to help students sketch out possible solutions.
Wrap Up (15 min)
Journaling
Having students write about what they learned, why it’s useful, and how they feel about it can help solidify any knowledge they obtained today and build a review sheet for them to look to in the future.
Journal Prompts:
- What was today's lesson about?
- How did you feel about today's lesson?
- What makes you realize a function could help your program?
- How do
while
loops andif / else
statements help your program?
Student Instructions
The door is locked, but the Agent is here to help!
Snap a move forward
block to the bottom of the when run
block in the workspace to get the Agent to the pressure plate [PressurePlate_Up], then press "Run" and use the arrow keys to move out of the house to collect the chest [chest].
Student Instructions
{currentPlayerName} is headed on an adventure! To help, get the map [map_empty] behind the locked door on the right.
Snap the code into the workspace to move the Agent to the pressure plate [PressurePlate_Up] so that {currentPlayerName} can get through.
Student Instructions
{currentPlayerName} continues on the adventure and needs the compass [compass] to prepare for the trip.
Code the Agent to open the gate.
Student Instructions
The Agent can move across water!
Use a repeat
loop to solve this puzzle and help {currentPlayerName} get to the bucket [bucket_empty] behind the door.
Student Instructions
You made it across!
Now, get {currentPlayerName} safely through the maze to collect the axe [diamond_axe]
Student Instructions
Oh no, the bridge is out!
Code the Agent to rebuild the bridge using the place block so that {currentPlayerName} can get to the shovel [diamond_shovel].
Student Instructions
Another river, but this one is much wider!
Fix this code to help the Agent build a bridge so that {currentPlayerName} can get to the pickaxe [diamond_pickaxe].
Student Instructions
A function named build bridge
is in your workspace. All of the code you need to cross the river is built right in!
Snap the small, green build bridge function block into your workspace twice to fix the path and get {currentPlayerName} to the Redstone Torch [redstone_torch].
Student Instructions
There's ice in the way!
The clear path
function can help you destroy the ice and get {currentPlayerName} to the Minecart [minecart_normal]!
Student Instructions
Can you spot the difference between the two functions in your workspace?
Use these functions with other code from the toolbox to clear a path for the Minecart, then collect the Flint and Steel [flint_and_steel].
Student Instructions
Look at the functions below. How can you use them to avoid the Ghasts and help {currentPlayerName} make it safely to the Enchanted Book [book_enchanted]?
Student Instructions
Freeplay: Now it's up to you! Use the Agent's code to help you explore this world.
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.
Cross-curricular Opportunities
This list represents opportunities in this lesson to support standards in other content areas.
Common Core English Language Arts Standards
SL - Speaking & Listening
- 4.SL.1 - Engage effectively in a range of collaborative discussions (one-on-one, in groups, and teacher-led) with diverse partners on grade 4 topics and texts, building on others’ ideas and expressing their own clearly.
- 4.SL.1.a - Come to discussions prepared, having read or studied required material; explicitly draw on that preparation and other information known about the topic to explore ideas under discussion.
- 4.SL.4 - Report on a topic or text, tell a story, or recount an experience in an organized manner, using appropriate facts and relevant, descriptive details to support main ideas or themes; speak clearly at an understandable pace.
- 4.SL.6 - Differentiate between contexts that call for formal English (e.g., presenting ideas) and situations where informal discourse is appropriate (e.g., small-group discussion); use formal English when appropriate to task and situation.
Common Core Math Standards
MP - Math Practices
- MP.1 - Make sense of problems and persevere in solving them
- MP.2 - Reason abstractly and quantitatively
- MP.4 - Model with mathematics
- MP.5 - Use appropriate tools strategically
- MP.6 - Attend to precision
- MP.7 - Look for and make use of structure
- MP.8 - Look for and express regularity in repeated reasoning
NBT - Number And Operations In Base Ten
- 4.NBT.4 - Fluently add and subtract multi-digit whole numbers using the standard algorithm.
Next Generation Science Standards
ETS - Engineering in the Sciences
ETS1 - Engineering Design
- 3-5-ETS1-1 - Define a simple design problem reflecting a need or a want that includes specified criteria for success and constraints on materials, time, or cost.