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.
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.