Teaching Computer Science at school just got easier as Microsoft is making a 30-hour curriculum, targeted at students in the age range 11 to 16, available as a free download.

minecraftlogo

The curriculum is based on Minecraft Education Edition, a version that offers special features for educators, and Microsoft MakeCode, a block- and JavaScript-programming editor as means for teaching the basics of coding and computational thinking skills.

The course is comprised of 10 units with each focusing on specific computer science concepts and programming skills. Teaching all units and lessons will require approximately 30 hours of instruction, with each unit including 1-4 lessons of approximately 45-60 minutes each.

The lessons are comprised of activities that introduce core CS concepts and give hands-on coding experience, as well as a number of independent projects suitable for applying the newly gained skills, and assessments for testing the knowledge and skill development acquired.

Many kids are already familiar with the world of Minecraft since it’s a very popular collaborative game in which characters survive by performing tasks such as chopping, hunting or mining.This curriculum requires students to understand the merits of writing code to automate such tasks using the core concepts of computational thinking.

So by the end of the course students are expected to be able to:

  • Change their Minecraft world through coding in Microsoft MakeCode.

  • Describe and apply the following programming concepts:

    Events 
    Coordinates
    Variables
    Conditionals
    Functions and parameters
    Iteration
    Arrays 
    Artificial intelligence
  • Synthesize the concepts in a new, creative ways through self-directed coding projects.

The curriculum is well structured and addresses the probable inexperience of teachers who have never taught computer science before but nevertheless want to incorporate the CS into their curriculum, regardless of their subject area.

For example the guidance, backed by the appropriate material, given to educators is as as clear cut as:

Introduce the concept of computer science

Ask students: What is computer science? 
Then share:
· The study of what machines can do for us.
· Includes learning how to create new software, solving computing problems, and inventing new ways to use technology.
· A very large subject that can be difficult for even computer scientists to define.

Ask students: Why is it important? How does it help us? 
Then share:
· It’s changing everything about the way we live and work.
· It’s for everyone, not just for computer programmers.
· It teaches important skills, like creativity, problem solving, critical and flexible thinking, and working with others.
· Those skills and knowledge are important for successful jobs and careers.

 or

Coding with Microsoft MakeCode

Ask students: What is coding? 
Then share:
· Code gives instructions to a computer to do something.
· A computer can be a laptop, tablet, smart phone, or any kind of computer. Even robots.
· Coding and computer programming mean the same thing.

The Units in detail:

Unit 1: Introduction
 · Describe computer science and coding and its importance
 · Learn to play and maneuver in Minecraft: Education Edition
 · Understand block programming in Microsoft MakeCode
 · Change your Minecraft world through coding 

Unit 2: Events
 Lesson A: Introduction to events 
 Lesson B: Coding with events
 Lesson C: Linking events
 Lesson D: Get creative with events

Unit 3: Coordinates
 Lesson A: Introduction to coordinates
 Lesson B: Coding with coordinates
 Lesson C: Automating actions with coordinates
 Lesson D: Get creative with coordinates
 
Unit 4: Variables
 Lesson A: Introduction to variables
 Lesson B: Coding with variables
 Lesson C: Combining variables 
 Lesson D: Get creative with variables
 
Unit 5: Conditionals
 Lesson A: Introduction to conditionals
 Lesson B: Coding with conditionals
 Lesson C: Debug problem code with conditionals
 Lesson D: Get creative with conditionals
 
Unit 6: Functions
 Lesson A: Introduction to functions
 Lesson B: Coding with functions
 Lesson C: Building on functions 
 Lesson D: Get creative with functions
 
Unit 7: Iteration
 Lesson A: Introduction to iteration
 Lesson B: Coding with iteration
 Lesson C: Debugging with iteration
 Lesson D: Get creative with iteration
 
Unit 8: Arrays
 Lesson A: Introduction to arrays
 Lesson B: Coding with arrays
 Lesson C: Building on arrays
 Lesson D: Get creative with arrays

Unit 9: Artificial intelligence
 Lesson A: Introduction to artificial intelligence
 Lesson B: Coding an intelligent agent
 Lesson C: Get creative with artificial intelligence

Unit 10: Final independent project
· Design an original creative project to program four tools for a survival backpack to help you in a Minecraft world
· Demonstrate your learned coding skills and apply them in a new way
· Validate your approach to the project, including beta testing and analysis of code to debug and problem solve 

Of course, the most eye-catching of all has to be Unit 9 on Artificial Intelligence which introduces the concept of crafting programs that mimic human intelligence, but also revolves around the ethical questions surrounding it.Here students will be creating AI rules for winning a tic-tac-toe game as well as building Intelligent Agents who navigate mazes and chop wood on their own.

The final project is about creating several sub-projects which address the needs that your Agent is going to have to satisfy in order to survive the game, and which can be solved with code. For example, to satisfy your character’s requirements for lots of paper you can code a sugar cane farm for him to harvest. Simiarly for building better tools you can code an iron-finder.

In all, this curriculum offers a first class opportunity for educators around the world to introduce their pupils to the concepts of computer science and critical thinking in order to prepare them for the workplace of the future.