Ben North. Copyright and licensing at end. Source available at GitHub.
I was recently part of a group of volunteers who led a twelve-week after-school Scratch programming class for 10–12-year-olds. We were:
Below are the worksheets I created for these classes, with some notes on how we got on with them. I incorporated various pieces of feedback in making the versions below, but any remaining errors are mine.
Linked resources:
Feedback to ben@redfrontdoor.org
welcome!
We introduced everyone to the puzzle game SpaceChem, and thought about the connections to Scratch. One aim for the course was to get across the idea that you can make a system which interprets user-provided instructions. From there it's only a change of scale to realise that you could make Scratch itself with enough work — it's not magic.
I was hoping the students would get a bit further, but most got the hang of what they were trying to do within SpaceChem, and we had a brief discussion at the end regarding connections to Scratch.
(I tried to lead this class from the front, but this did not work very well at all. I made the worksheet after the fact.)
We started by making the reactor's grid of cells, which involves two nested loops and some coordinate arithmetic.
Some students got most of the way through this, although I think the material was quite fast-moving for many of them. This week therefore served as a bit of a calibration exercise as to how much we could expect to get done in a session.
At the end of the worksheet, the project should look like this:
We next made instruction arrows which the player can drag on to the reactor. There is some maths involved for snapping the dropped arrow to the centre of a cell, which I don't think everyone fully followed all details of, but most got the main points of the worksheet done. A few of the students had good 'aha!' moments when they grasped the concept of defining and using a custom block.
At the end of the worksheet, the project should look like this:
Here we added the 'Waldo', the robot which follows the instructions. Most students got Waldo successfully following arrows round the reactor. There was quite a bit of material which hardly any student got to, but it's probably better to err on the side of having spare material, rather than running out.
At the end of the worksheet, the project should look like one of these (the second has the challenges from the worksheet done as well):
Here we diverged from SpaceChem, in that we started work towards a simplified version where Waldo has to collect atoms from the grid. So the next stage was to add atoms, have Waldo collect them, and declare victory if all atoms are collected.
Again, nobody finished the material but most made good progress.
At the end of the worksheet, the project should look like one of these (the second has most of the challenges from the worksheet done as well):
The previous two weeks both had more material than anybody got completely through, so we used Week 6 to let students catch up with work they hadn't had time to finish. Most did make further progress, either on the main material or the challenges.
This week we implemented an idea that a student had had in an early session: a game element which is only passable for a short time, before becoming impassable.
Most students got through most of this. Working with them individually, many had a good grasp of what they were doing. Several had their own ideas about making the graphics more interesting than just a countdown; good to allow their own creativity here.
At the end of the worksheet, the project should look like this:
The goal was that by this point the students would have enough skill to work on their own ideas. We did provide a worksheet with a few nudges in case students drew a blank.
The students were split about half and half between those who had ideas to extend our SpaceChem-style game, and those who had their own completely new ideas. On the whole they worked well and were able to make progress on their chosen tasks, although some had ideas which were good and interesting but not practicable. In week 9 our internet connection was dodgy which made it difficult to maintain focus.
We decided that the SpaceChem idea had reached a natural stopping point, and so we had the students develop a game based on an idea one of them had had a previous week.
Some chose to continue working on their own previous ideas instead, but all made progress. Those who worked through the sheet did well although none completely finished.
At the end of the worksheet, the project should look like this:
This was the last session before the Christmas break, so we made an animation of a penguin decorating a Christmas tree. One student completely finished this, and several others got very close.
At the end of the worksheet, the project should look like this:
For our final session, we introduced two new Scratch concepts: lists and the pen blocks. With these, we made a project which let you record and play back some graffiti. I think three students got all the way through it, and a couple more got most of the way.
At the end of the worksheet, the project should look like this:
For convenience, here are all worksheets bundled into one zip-file:
The main content of this page is copyright 2018 Ben North, and is hereby licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Some screenshots incorporate material copyright The Scratch Team, used under a Creative Commons Attribution-ShareAlike 2.0 license. Scratch is developed by the Lifelong Kindergarten Group at the MIT Media Lab. See http://scratch.mit.edu.
SpaceChem screenshot used as 'fair use'; SpaceChem is copyright Zachtronics 2011. We are grateful to Zachtronics for the free-of-charge licences used in our after-school class.