Building a custom skillmap
Part I: Getting started
So, you want to write a custom skillmap for your students! Fantastic! I will walk you through that process in this series of articles. My name is Alex. I will be your tour guide.
This guide will focus on MakeCode Arcade, as it currently is the only MakeCode environment that supports skillmaps. The information on tutorials, though, should apply to all of the MakeCode environments.
This information is subject to change. I know the team is working on some new tooling to help with tutorial writing, and some of this information will become obsolete when those tools are released. Stay tuned!
Required skills
In order to write skillmaps and tutorials, you need some prior knowledge.
- JavaScript: You need to know how to program in your favorite MakeCode environment in JavaScript. Sorry … not Blocks nor Python. JavaScript only. If you don’t have experience with JavaScript in MakeCode, then we have courses available that you and your students can use to build those skills.
- Markdown: You need to know how to create documents in Markdown. Markdown is a simple annotation style, and you really only need to know how to create headings. The MakeCode tutorial environment, though, supports most of the Markdown annotations, so learning additional techniques (e.g., inserting images) will allow you to create more dynamic tutorials!
- GitHub: The MakeCode editors provide built-in support for GitHub. GitHub provides tools to manage code, receive feedback, and allow multiple authors to work on a project simultaneously. For all but the simplest tutorials, GitHub provides the best environment for building and supporting skillmaps.
The Tutorial Editor
If you want an integrated environment for creating a tutorial, then use the MakeCode Tutorial Editor. You can create tutorials for any of the compatible MakeCode environments, test the tutorial in that environment, and generate a URL for your tutorial all in one tool!
https://makecode.com/tutorial-tool
Creating a skillmap
Writing a skillmap, like writing any curriculum, is a creative process. While you can simply sit at a keyboard and type out a tutorial in one pass, you typically end up with a better product if you do some planning beforehand. I encourage you to do the same for this set of articles. While you can go through these articles using the examples provided, the information will resonate more clearly with you if you are creating your own artifacts.
Step one: The theme
Create a theme for your skillmap. Multiple tutorials will be assembled into your skillmap, and you will want a theme that ties those tutorials together. The theme can be based on the project that the students are building—for example, the students might build a golf simulation, and the tutorials help them to build the simulator in stages. Instead, perhaps the theme is based on the skills that are being taught—for example, the students might be learning about loops.
Step two: Design assets
After you have settled on the theme, then you may want to create some graphics to support the theme. You could create a background image that is displayed behind the skillmap. You may want to create assets that will be used in the projects, like sprite images and animations, background images, sound effects, and melodies.
We will show you how to incorporate these assets into your MakeCode tutorials later. For now, just create some sketches or jot down some ideas.
Step three: Design tutorials
A skillmap is a collection of tutorials. Once you have decided on the theme and/or topic of the skillmap, then decompose the skillmap into a series of tutorials that build upon each other. You are not writing the tutorials at this step—we will get to that. For now, though, create an outline that describes each of the tutorials and the steps or tasks that each tutorial needs to accomplish.
Step four: Write some code!
Time for some code! Not the actual tutorials or skillmap, mind you—that’s later. Right now, though, write the code that you want your students to create using MakeCode! In doing so, you may find that you need to refine the outline for your skillmap and tutorials. This is part of the creative cycle. The code that you create will influence your tutorials, and vice versa.
You’re ready!
Once you have written an outline for your skillmap and tutorials, and once you have the finished code that you want your students to write, then it is time to write your first tutorial! Move on to Part II when you are ready.