Introduction to Computer Science with MakeCode for Minecraft

Similar documents
How to make an A in Physics 101/102. Submitted by students who earned an A in PHYS 101 and PHYS 102.

LEGO MINDSTORMS Education EV3 Coding Activities

Why Pay Attention to Race?

Case study Norway case 1

ALL-IN-ONE MEETING GUIDE THE ECONOMICS OF WELL-BEING

"Be who you are and say what you feel, because those who mind don't matter and

STUDENT MOODLE ORIENTATION

Major Milestones, Team Activities, and Individual Deliverables

Experience Corps. Mentor Toolkit

Curriculum Design Project with Virtual Manipulatives. Gwenanne Salkind. George Mason University EDCI 856. Dr. Patricia Moyer-Packenham

P-4: Differentiate your plans to fit your students

Getting Started with Deliberate Practice

MATH Study Skills Workshop

BSM 2801, Sport Marketing Course Syllabus. Course Description. Course Textbook. Course Learning Outcomes. Credits.

Thinking Maps for Organizing Thinking

Facing our Fears: Reading and Writing about Characters in Literary Text

ASTR 102: Introduction to Astronomy: Stars, Galaxies, and Cosmology

A BOOK IN A SLIDESHOW. The Dragonfly Effect JENNIFER AAKER & ANDY SMITH

Statistical Analysis of Climate Change, Renewable Energies, and Sustainability An Independent Investigation for Introduction to Statistics

Introduction to Moodle

EDIT 576 DL1 (2 credits) Mobile Learning and Applications Fall Semester 2014 August 25 October 12, 2014 Fully Online Course

Notetaking Directions

File # for photo

Airplane Rescue: Social Studies. LEGO, the LEGO logo, and WEDO are trademarks of the LEGO Group The LEGO Group.

EDIT 576 (2 credits) Mobile Learning and Applications Fall Semester 2015 August 31 October 18, 2015 Fully Online Course

Blackboard Communication Tools

Calculators in a Middle School Mathematics Classroom: Helpful or Harmful?

The Writing Process. The Academic Support Centre // September 2015

The lasting impact of the Great Depression

Thesis-Proposal Outline/Template

Essentials of Rapid elearning (REL) Design

ENG 111 Achievement Requirements Fall Semester 2007 MWF 10:30-11: OLSC

Essay on importance of good friends. It can cause flooding of the countries or even continents..

writing good objectives lesson plans writing plan objective. lesson. writings good. plan plan good lesson writing writing. plan plan objective

Lucy Calkins Units of Study 3-5 Heinemann Books Support Document. Designed to support the implementation of the Lucy Calkins Curriculum

Naviance / Family Connection

Understanding and Changing Habits

Outreach Connect User Manual

Houghton Mifflin Online Assessment System Walkthrough Guide

Ruggiero, V. R. (2015). The art of thinking: A guide to critical and creative thought (11th ed.). New York, NY: Longman.

Rover Races Grades: 3-5 Prep Time: ~45 Minutes Lesson Time: ~105 minutes

E-3: Check for academic understanding

Unpacking a Standard: Making Dinner with Student Differences in Mind

MENTORING. Tips, Techniques, and Best Practices

Grade 4. Common Core Adoption Process. (Unpacked Standards)

TEAM-BUILDING GAMES, ACTIVITIES AND IDEAS

a) analyse sentences, so you know what s going on and how to use that information to help you find the answer.

INSTRUCTOR USER MANUAL/HELP SECTION

The Short Essay: Week 6

A Teacher Toolbox. Let the Great World Spin. for. by Colum McCann ~~~~ The KCC Reads Selection. for the. Academic Year ~~~~

TASK 2: INSTRUCTION COMMENTARY

Study Group Handbook

Physics 270: Experimental Physics

SESSION 2: HELPING HAND

TU-E2090 Research Assignment in Operations Management and Services

Pair Programming. Spring 2015

Using the CU*BASE Member Survey

Virtually Anywhere Episodes 1 and 2. Teacher s Notes

MBA 5652, Research Methods Course Syllabus. Course Description. Course Material(s) Course Learning Outcomes. Credits.

Thank you letters to teachers >>>CLICK HERE<<<

My first english teacher essay. To teacher first on research andor english, simply order an essay from us..

Kindergarten Lessons for Unit 7: On The Move Me on the Map By Joan Sweeney

Shank, Matthew D. (2009). Sports marketing: A strategic perspective (4th ed.). Upper Saddle River, NJ: Pearson/Prentice Hall.

Tutoring First-Year Writing Students at UNM

Planning a Webcast. Steps You Need to Master When

Grade 6: Module 3A: Unit 2: Lesson 11 Planning for Writing: Introduction and Conclusion of a Literary Analysis Essay

Socratic Seminar (Inner/Outer Circle Method)

Course Objectives Upon completion of this course, you will: Have a clear grasp of organic gardening techniques and methods

What Am I Getting Into?

Extending Learning Across Time & Space: The Power of Generalization

Professional Voices/Theoretical Framework. Planning the Year

COMMUNITY ENGAGEMENT

A. True B. False INVENTORY OF PROCESSES IN COLLEGE COMPOSITION

It s News to Me! Teaching with Colorado s Historic Newspaper Collection Model Lesson Format

Enduring Understandings: Students will understand that

If we want to measure the amount of cereal inside the box, what tool would we use: string, square tiles, or cubes?

Kelli Allen. Vicki Nieter. Jeanna Scheve. Foreword by Gregory J. Kaiser

Fearless Change -- Patterns for Introducing New Ideas

SMARTboard: The SMART Way To Engage Students

Fundraising 101 Introduction to Autism Speaks. An Orientation for New Hires

Chapter 5: TEST THE PAPER PROTOTYPE

Std: III rd. Subject: Morals cw.

Helping your child succeed: The SSIS elementary curriculum

The Flaws, Fallacies and Foolishness of Benchmark Testing

CS 100: Principles of Computing

IN THIS UNIT YOU LEARN HOW TO: SPEAKING 1 Work in pairs. Discuss the questions. 2 Work with a new partner. Discuss the questions.

Common Core State Standards

PowerTeacher Gradebook User Guide PowerSchool Student Information System

Lesson Plan. Preliminary Planning

First Grade Curriculum Highlights: In alignment with the Common Core Standards

MSE 5301, Interagency Disaster Management Course Syllabus. Course Description. Prerequisites. Course Textbook. Course Learning Objectives

teaching essay writing presentation presentation essay presentations. presentation, presentations writing teaching essay essay writing

LEARN TO PROGRAM, SECOND EDITION (THE FACETS OF RUBY SERIES) BY CHRIS PINE

Leader s Guide: Dream Big and Plan for Success

DegreeWorks Advisor Reference Guide

A Study of the Effectiveness of Using PER-Based Reforms in a Summer Setting

How to learn writing english online free >>>CLICK HERE<<<

Common Core Exemplar for English Language Arts and Social Studies: GRADE 1

Students will be able to describe how it feels to be part of a group of similar peers.

PREP S SPEAKER LISTENER TECHNIQUE COACHING MANUAL

Transcription:

Introduction to Computer Science with MakeCode for Minecraft Lesson 10: Final Project In this, the final chapter of MakeCode for Minecraft, we ask students to create a final project that does two things: 1. Show what you know, and 2. Demonstrate something new If you and your Agent were setting off on a Minecraft adventure, and you could only program four tools to go with you, what would you take? Students will create a Backpack of Tools for use by any Minecraft adventurer setting off on a great journey. We ll start the chapter by reviewing the concepts we covered in the previous weeks, and provide some ideas for an independent final project that students can focus on in the next several weeks. We will also provide a rubric for keeping students on task and tracking the learning that they are doing as they work on their projects. What tools will be in your backpack for your Minecraft Adventure? Course Review Here is a short review of the topics and concepts we have covered so far in the course: 1. Events Code is triggered by events that happen as a result of player actions. An Event Handler listens for different things to happen in the game, and then runs the code associated with it.

The code you write for Minecraft is triggered by events such as on player walk, or chat commands to call functions that you ve created. 2. Coordinates Your position in the Minecraft world is indicated by three coordinates corresponding to your position in three-dimensional space. Coordinate positions can be specified as absolute (independent of your position) or relative (in relation to your current position). Many MakeCode blocks use coordinates to specify a location in Minecraft. 3. Variables A variable is used to store information in memory. Variables can be different data types: numbers, text, booleans, or positions. You can change the value of a variable or cause other events to occur based on a variable s value. You can also pass a variable in as a parameter to a chat command. 4. Iteration Iteration, or loops tell MakeCode to repeat instructions a certain number of times, or while a certain condition is true. You can nest one loop inside of another loop, to create more complex repetitions. The Agent is your friend who can carry out instructions for you in Minecraft. 5. Conditionals A conditional statement only runs if a certain condition or conditions are true. Using if then else blocks allow you to check whether a given condition is true, and if so, execute some code, otherwise execute a different set of instructions. You can also check for the opposite of a given condition using the Logical Not block. 6. Functions Functions are groups of instructions that accomplish something specific. Once you have defined a function you can refer to that group of instructions simply by its name, and those instructions will run. Just reading the function names makes it easier to see the big picture in a complex program. Hiding the individual instructions in favor of a more general name that describes what they do is an example of abstraction. 7. Arrays An array is a convenient way to keep track of objects. You can store things in an array, and retrieve them as needed, in any order. You can store numbers, text, positions, even animals and different Minecraft blocks in an array. When you don t know ahead of time how many

instances of objects you will need to store, arrays are helpful because you can keep adding new objects to the end. 8. Artificial Intelligence The field of artificial intelligence, or AI, is growing rapidly and offers lots of opportunities for problem solving. AI can help your Agent adapt to different situations in the Minecraft world, and can allow you to write code for many different possible scenarios. AI can be used to create complex structures, or to navigate existing ones. AI is one very popular way that coding and programming are being used in the world today. About the Final Project (for Teachers) The final project is a chance for students to use all the skills they have been learning throughout the semester. Students are asked to create a series of code examples that can be used in the Minecraft world. The time frame is flexible, but you might expect students to take a few days to develop, test, and refine each bit of code. They should end up with three or four separate projects over a three-week period. The most open-ended projects, the ones that display the most originality and creativity in design, may not be projects that use the most complex code. Some original ideas, for example, are outstanding because of the clever solutions to problems such as bringing water to crops or creating an elaborate trap for the unwary. The code itself might simply be a few blocks attached to an event handler, or code that ignites a Redstone contraption. Conversely, other projects may not have much Minecraft building involved, or may simply display output to the screen using a Say block, but the students have solved particularly difficult programming problems, such as how to encode a painting into a series of arrays. Some projects will feature code that has to run in a particular Minecraft world. Other types of code might only run in a flat world, or might require you to find a jungle or other type of terrain in order to run it. This is why we typically ask students to turn in a short video of their code in action so we can see it the way it was meant to run. It s important to step back and take a holistic view of the entire project and recognize where students did their best work. Where did they struggle the most? What are they most proud of? Then celebrate that. We actually grade the process of students learning over the course of the independent project, more than the product itself. We tell our students, You don t judge a story by its ending, and in

fact, often the story is the most interesting part, not where you ended up (you don t care so much that they lived happily ever after. You want to know all of the trials and tribulations that got them to that point.) We ask our students, after they finish the project, to go back and look and remind themselves of those a-ha moments when they figured something out, or realized a mistake, or otherwise reached a turning point in the plot line of their solving the problem. We ask them to highlight some change in their code that represents this, and to explain briefly what that epiphany was. This metacognitive piece is like the Making Of director s commentary on a DVD. You have the movie, then you have the commentary. The narrative is their commentary. It doesn t take them too long to do, but it raises awareness of what they are learning while they work on these problems. This way, we grade what is most important the process of their learning and their mistakes and corrections, not finished code that is ultimately perfect. Another significant way to assess whether students are doing what matters is by asking them to design projects that serve a purpose or solve a specific problem in Minecraft. Designing and programming is hard work. However, defining a problem and creating multiple iterations of solutions to test out is good learning, and a task that is accessible to kids even if they are not programmers right from the start. This also encourages students to work together and collaborate in giving each other useful feedback. Starting to think about projects from a design standpoint can also motivate kids to learn more about programming in order to make the project for themselves. If they don't have the skill set to code the project themselves, they may be able to team up with someone who has coding skills and is looking for a good idea (or help with the Minecraft building aspects of the project.) Learning the value of empathizing with another person or organization, identifying a need, and designing an authentic solution through continuing feedback and iteration is a skill set that is tremendously valuable in many contexts. Final Project Assignment: Survival Backpack The final project is a chance for you to use all of the skills you have been learning throughout the semester to create several code projects that will help you in a Minecraft world. Imagine you are going into a brand new Minecraft world. What are your most immediate needs? Brainstorm with a classmate.

Some examples: Collect wood Find wool Find food Build a house Mine for coal Then, choose one or more of those needs that can be solved with code. You will get to take your Agent with you, as well as the Builder and the other powerful tools in your MakeCode inventory, but you are limited to just a single project. What are the top four commands that you would want to have? In addition, your project code must do both of the following things: 1. Show something you already know You should demonstrate your knowledge of one or more concepts we have covered in these lessons. 2. Show something new You should demonstrate a technique, efficiency, or code block that you went out and learned how to use on your own, either from the documentation, from experimenting, or from another classmate. Timeframe: Three weeks of in-class work and activities. Code should be complete by the end of the second week, so students can use the last week for a beta testing period with other students. Due each week: 2 3 work logs 1 Record of Thinking Some possible ideas: Need Entertainment Lots of paper Better tools Solution Create a mini-game Create and harvest a sugar cane farm Create an iron-finder

Safety Art Create an automatic shelter Create something beautiful using code Final Deliverables: Work Logs Record of Thinking entries Final Project Code Project Narrative Video of your project running Final project showcase and celebration at the end Assessment: 50% Process (initial proposal, work logs, records of thinking, final narrative) 50% Product (project code component, video of code execution) Teacher Note: This form of assessment places just as much weight on documenting the process of designing the project, as it does on the finished product itself. This is because in my classroom I want to prioritize "sustained effort over an extended period of time" over a project that might have resulted from three all-nighters in the final week it is due. However, you may decide to assign more or less weight to each of these pieces, and you should certainly feel free to scale up or down the documentation piece as appropriate for your classroom, grade level, and teaching priorities. While Working on the Project The expectation is that students are working steadily on their independent projects for three weeks, testing out ideas, trying different things, getting stuck, and getting unstuck. Because everyone is working on a different project, we can't assign the same homework to everybody, so besides the project work itself, students are also responsible for documenting the work they are doing on the project using work logs, and reflecting on the process of their learning in a record of thinking. Here are more details on these work items: 1. Work Log A work log is a short, bullet point list of what you worked on, and how long it took. Stick to just the facts. It shouldn t take more than thirty seconds or so to write up a work log. Students should do one work log entry for every class period, several times a week. A shared Microsoft OneNote notebook is a great way to keep a work log that students can update

regularly. Alternately, you might use a collaborative shared document, or your classroom management system, or even e-mail. Sample Work Log: Backpack Project #1: Cave Exploration System 3/31: Worked on getting Builder to navigate uneven hallways (45 min.) 4/1: Added Say blocks at each point so we could stop it from getting lost all the time (30 min.) 4/3: Completed exploring simple caverns, now working on more complex systems (45 min.) 4/4: Coded for multi-level caves, spawner detection system (30 min.) Teacher Note: We generally don't accept late work logs. If a student simply didn't have time to do any work on their project, he/she should still file a work log, and report that no work got done. Work logs are worth a few points each, so missing one or two isn't a problem, but if it happens a lot it's usually time to do a check-in with that student and see where he/she is with the project. 2. Record of Thinking A Record of Thinking is like a journal entry (or like the Minecraft Diary you created for each mini-project) that tells the story of your learning throughout the past week. Go through your work logs for the week and look at what you did, where you got stuck, and how you figured it out. Then write a 150- to 300-word Record of Thinking essay each week of the project addressing the following: Describe something that surprised you this week as you worked on your project. Describe a moment where you go stuck. How did you get unstuck? Did anyone help you this week? Who and how? Choose an adjective that describes how you are feeling about your project this week. Explain why you chose this word. What are you working on next week? (for weeks 1 and 2) If you had more time to work on this project, what would you add? (for week 3) Sample Record of Thinking Excerpt: Week of April 6 I finally figured out why my code wasn t working. I had the wrong for loop nested inside the other one, and so it was executing way more times than it was supposed to, and that was why the Agent kept going off track. Once I created another variable to keep track of the number of times the Agent came back to the Home row, and checked this variable each time during the loop, everything worked the way it should. I only was able to figure this out because I took each function apart separately and ran it without that function in order to track down where the problem was. That was useful. I have to remember to try this first next time.

Teacher Note: A Record of Thinking is not an expanded work log! Students will sometimes just write a more detailed list of all of the tasks they completed over the week, and that's not the point of the Record of Thinking. The Work Logs are to show WHAT you did. The Record of Thinking is to show HOW you learned how to do it. Unlike Work Logs, I will accept late Records of Thinking as long as they come no later than the due date for the next week s Record of Thinking. It is an important form of documentation of the learning process. Turning in the Final Project When you turn in the final project, you should turn in your code, and a final narrative. To turn in your code, you can Share the code by clicking the Share button in the top menu bar: You acknowledge that you consent to share your project by clicking Publish project, and then MakeCode will display a unique URL that you can copy and paste to submit as your project code. You also need to create a written final narrative to accompany your code. You have worked for the past three weeks to propose, design, and test an original Backpack of Minecraft Code as your final project. I am looking for an honest, accurate assessment of your work over this time. Please go back and read through all of your Work Logs and Records of Thinking. Then, compose a comprehensive narrative that tells the story of the development of the various projects in your Backpack, and your progress toward your goals along the way. How you tell the story is up to you, but you might consider following most, if not all, of the following questions: How did you start the process of designing the project and meeting your goals? What did you hope to learn? What challenges did you face? How did you overcome them? What was the outcome? What did you learn in the end? Who in the class provided help to you along the way? How? What were you proud of? What would you do differently next time?

Throughout your narrative, you must cite evidence from your work logs and records of thinking (e.g., Record of Thinking 4/17, Work Log #3, Conference notes, etc.) You may use footnotes for this or add it in parentheses after the material you are citing. I will read this carefully and grade it along with your final project code and average it with the total of your work logs and records of thinking to come up with your final grade for the project. Sample Final Narrative: It s clear to me now that in the second week, I was a little lost and confused with the direction my project was taking. I can see now that in my chats with Mr. Kiang and with classmates (Conference Notes 4/3) I was not being very precise in my questions, and I didn t totally understand what he was explaining. Looking back, one of my goals was to meet more regularly with my table mates. Hopefully I would be a lot less confused and at least this time when I got stuck, we would be able to solve it together. I wrote about this in my Record of Thinking (Record of Thinking #2) but I am surprised that things cleared up for me so quickly once we did start meeting together. This allowed me to get past something that was really bothering me, specifically adding and removing things from an array, and I was able to complete that in less than a day after having been stuck for more than a week (Work Log #4). Once I started to get a little more clear on what to do, I was able to get more effective help from my classmates. Specifically, Jordan helped me a lot with figuring out how to use the different mask options with the clone block. He also showed me some helpful MakeCode sample projects and examples. I think if I could do this over again, I would have scheduled more time earlier to meet with Mr. Kiang and/or found a better way to share the different bits of code I was working on with my table mates because we all were trying to figure out basically the same things, only in different projects. I didn t even find out until the end that you could jump into JavaScript to make changes to the code, and it makes it all with the right blocks when you go back! (Beta Testing notes) That would have saved me a lot of time. In addition to the project narrative, please provide a short (less than 2 minutes) video of your code in action. Beta Testing and Final Showcase Beta testing is an important part of testing the final projects to uncover bugs or design issues that could make the projects difficult to use. One way to test the projects is to ask all students to come in to class on a specific day with the URLs of their projects ready to test, and give their

classmates a chance to test the code in their own Minecraft worlds. This is not the final deadline, but projects should be "feature-complete" i.e., all features need to be incorporated into the code, and the construction of any Minecraft elements of the project needs to be done or almost done. Students can take turns presenting their projects to the entire class, or they can work in pairs to take turns trying their partner's project out and offering feedback. Students who are being critiqued should take beta testing feedback notes and turn them in as part of their final project narrative. Final Showcase Have a celebration of your students' hard work and hold an event at your school for parents, administrators, and other community members to appreciate all of the hard work that went into making each of the final projects. We have found that a "science fair" format works nicely, with students sitting at tables where they can demonstrate their projects, show the videos, and answer questions. You might also consider setting up a YouTube channel where your students can publish walkthroughs of the various MakeCode for Minecraft code examples they have come up with, and publish URLs to the shared code, as well. Either way, a little public recognition of all of your students' hard work goes a long way! Assessment 1 2 3 4 Code Code doesn t Code mostly Code somewhat Code very (Show what demonstrate use ineffectively effectively effectively you know) of previous concepts, and/or use of previous use of previous use of previous variable names are unclear or ineffective, a may be unclear. are generally are unique and number of places Code could be unique and clearly clearly describe where code could more efficient. describe what what information be improved. information values the values the variables hold. variables hold. Code is highly Code is efficient.

reasonably efficient. Code doesn t Code mostly Code somewhat Code very demonstrate any ineffectively effectively effectively Code new concepts, (Show and/or variable use of new use of previous use of new something names are unclear new) or ineffective, a number of places may be unclear. are generally are unique and where code could Code could be unique and clearly clearly describe be improved. more efficient. describe what what information information values the values the variables hold. variables hold. Code is highly Code is efficient. reasonably efficient. Work Logs More than two Two late or One late or All work logs late or missing missing work logs missing work log submitted on work logs and/or and/or work logs and/or work logs time, and not accurate nor not accurate nor not accurate nor accurate sufficiently sufficiently sufficiently detailed. detailed. detailed. Reflection Reflection piece Reflection piece Reflection piece Reflection piece lacks 3 of the lacks 2 of the lacks 1 of the describes: required required required Development elements. elements. elements. Process Something new Something proud of Future mods