Hi,
We’ve been teaching kids(age 8-15) programming using Arcade as well. Although we are teaching them blocks, but some ideas on curriculum design may be helpful.
There’s 4 types of activities for the students:
- Playgrounds
Playgrounds like this, or this, each with a list of tasks for students. Playgrounds work as simplified test fields of a certain concept, say, the first one is mainly on a programming concept ‘State’. In order to solve the problem, student should be able to identify different states and represent them using variables. - Semi-open projects
After several playgrounds, students are now ready and eager to make their own projects. But we want to make sure their understanding of concepts are correct and they are able to apply them, so we will require some feature to be included, like:
- has at least 3 levels (tilemaps)
- enemies have hit points (sprite-scope data)
- an invisible trap (random / overlaps)
- Case study
Students are now have basic understanding of (game) programming, case studies are very good learning activities, which ask them to analyze complicated design and solutions to several game features. After watching a recording of playing those games, students are asked to write down the features they don’t know how to implement, and try to find one by discussing with classmates or tutors.
Some nice classic game for case study:
Pacman:
- Array (place dots on all tiles)
- From global variable to sprite-level variable (isolated states transition of enemies after Pacman eats power dots)
- Divide complex problem into sub-problems(enemies random movement)
- Their own projects
We believe everyone learns best in creating their own creations, this is where they work on the imagination without limit. In the phrase of game concept draft, we work as solution reviewers classifying whether or not the student can solve the proposed features alone. If we think certain feature is critical to their game but too complicated for them to learn in a short time ( requirement of pixel-level / game-tick-level solution or advance physics or math knowledge), we provides extensions to mask the complications, like this and this.
Hope it helps.