Paired Independent Project
In this chapter, you’ve looked at how some of the different conditional blocks work. You’ve seen that a while loop is like a repeat block combined with a conditional statement (repeat while this condition is true), and you’ve also seen how you can use a series of If statements separated by Else statements to create blocks of code that run in all sorts of different cases. Finally, you’ve looked at Boolean operators, which define a relationship between conditions such that both conditions must be true, or only one of the conditions needs to be true, in order for the whole expression to be considered true.
For the independent project, work with another student to create a project together that uses one or more blocks from the Logic Toolbox drawer. Think about problems you encounter in a Minecraft world and try to come up with solutions for them.
Paired Project Work Techniques
Collaborative Design
In any design project, it’s important to start by understanding the problem. You can begin this activity by interviewing people around you who might have encountered the problem you are trying to solve. For example, if you are designing a survival tool, what do most Minecraft players do to survive the first night? Ask your friends how they find food, build a shelter, and so on. What resources do they tend to look for first? Do they have a system? What would be more effective? What do they wish they had the ability to do?
If you are designing something else, think about how you might find out more information about your problem through interviewing or observing people playing Minecraft, with your focus being strictly on studying their behavior in-game. A good way to focus your observations is to make a list of key questions ahead of time:
What do new players do first? How quickly do they decide to go underground? How long do they stay there? Do they tend to stay in one place or migrate? Which characteristics make a good place to build a base?
Then start brainstorming with your partner. Talk about a variety of different ideas. Remember that it’s okay if the ideas seem far-out or impractical. Some of the best programs come out of seemingly outlandish ideas that can ultimately be worked into a useful program.
Pair Programming
The concept of “pair programming” is a valuable way to have programmers collaborate when creating programs together. Two programmers share one computer, with one person at the keyboard acting as the driver and the other person providing directions as the navigator. If you are collaborating with someone else on a project, try using one computer and take turns creating code and then seeing how it behaves in the Minecraft world. The main rule is, if you are at the keyboard, you are doing what the other person is telling you to do. They are the navigator! Remember to practice good communication with each other throughout the entire programming process.
Debugging
Be sure to test out a number of different ideas in Minecraft. What is the easiest way to keep track of data? You can test to see if certain conditions are actually being detected by adding a Say block inside the If Then block. If you do something in the world that should trigger the condition, but you don’t see the message printed to the screen, then you know that something is wrong with your condition.
Similarly, if you are updating your variables based on certain conditions, you can use a Say block to print out the value of the variable so you can make sure it is changing properly. If you are using a number variable, remember to use a Join block to join it with a word (or empty quotes) so it will print.
Project examples
Here are some examples of challenges for your Independent Project:
Iron Finder
One of the most common tasks early in the game is finding enough iron to make iron tools and perhaps a full set of iron armor for protection. Iron is found in streaks of iron in the stone hillsides and caverns, but it is often hidden from view. Create a MakeCode Project that checks to see whether iron is near you, and then alerts you when you are very close to iron ore. After you find one block of iron ore, more is likely close by, so all you need is to hit on one block to strike an iron vein!
Improved Miner
Work with the agent program you defined and see if you can make it better. Can you make the agent check multiple levels at a time? Can you check for other rare minerals as well, like emerald?
Minecraft Diary
Compose a diary entry addressing the following:
- What Minecraft problem did you decide to solve? What does your program do?
- How did you use conditional statements in your project?
- Discuss one (or more) ways that working with a partner was different from just doing the project by yourself.
- Describe one point where you got stuck. Then discuss how you figured it out.
- Include at least one screenshot of your agent in action.
- Share your project to the web and include the URL here.
NOTE: If you decided to improve one of this lesson’s activities, please talk about the new code you wrote in addition to what was already provided in the lesson.
Assessment
Competency scores: 4, 3, 2, 1
Diary
4 = Minecraft Diary addresses all prompts.
3 = Minecraft Diary entry is missing 1 of the required prompts.
2 = Minecraft Diary entry is missing 2 or 3 of the required prompts.
1 = Minecraft Diary entry is missing 4 or more of the required prompts.
Logic
4 = Uses conditional statements effectively in a way that is integral to the program.
3 = Uses conditional statements in a way that is integral to the program but some problems with conditional statement execution.
2 = Uses conditional statements effectively but in a superficial way.
1 = Doesn’t use conditional statements at all or uses loops in a superficial way and has problems with conditional statement execution.
Project
4 = Project solves a specific problem, efficiently and effectively..
3 = Project lacks 1 of the required elements.
2 = Project lacks 2 of the required elements.
1 = Project lacks all of the required elements.