Parents, start a code club at your school
Have you heard about code clubs at other schools? Do you want to start one at your child’s school?
Starting an after-school code club run by parent-volunteers is easy. Here is your quick 5-step guide.
- Arrange with your school principal about using the school computer room to run a weekly after-school code club.
- Organise weekly parent-volunteers to deliver the code clubs.
- Spread the word through school newsletters, flyers and social media channels.
- Start with something accessible yet engaging like Scratch (scratch.mit.edu) which was developed by MIT (Massachusetts Institute of Technology) specifically to teach children computer programming concepts.
- Design an 8-week course and classes. I normally run 8-week courses (to fit into 10-week school terms) every school term with weekly 1-hour classes.
Some tips and tricks on running for code club:
- Build up a skill set with programming fundamentals before letting students build their own projects: sequencing, looping (repeat/forever), branching (if blocks), event blocks, touching blocks, XY coordinates, go to block vs. glide block, strings and operators.
- It’s not just about building computer games, you can also build animations and multimedia art using Scratch.
- I generally find a tutor to student ratio of 2:15 works well. The more homogenous the skill level of the class, the easier it is to give each student enough 1-on-1 time when building a Scratch project together as a class.
- After learning the fundamentals, let the students work out for themselves what blocks do, how they behave and what the limitations area.
- When students ask for help, ask them questions and guide them to finding the solution for themselves. Often it is a case of make a guesstimate, test your code, if it works then great, if not then guess again. The great thing about programming with Scratch is that you can’t really break anything and you get immediate, visual feedback.
Here is a lesson plan template:
Lesson Plan template
Using this lesson plan template I created an example lesson plan based on building the game “Kinda like Breakout”. Below the lesson plan is the game design flowchart.
Lesson Plan for “Kinda like Breakout”
School years: Years 4-6
Course level: Advanced
Break down the game design into a series of steps or a flowchart (see below).
Programme each object in the game to behave as planned.
Use Y coordinates to determine when the paddle has missed the ball and triggers game over.
Use ‘if’ blocks to check for conditions and trigger actions.
Use broadcast to trigger actions across multiple objects as a result of a single event.
- Recognise that broadcast is not required when commands can be sequenced in a single sprite. However when this is not possible and an event triggers commands across multiple sprite, then we use broadcast.
- Broadcast is used in the game when the ball touches the brick. There are multiple actions that result from this event:
- The ball bounces back
- The brick disappears
- The score increases by 1.
There is a lot of duplication used in this game. 32 bricks are used in this game example (8 red, 8 orange, 8 green and 8 blue bricks). Perfecting a single sprite and then duplicating it (31 times) is key to efficiently building the wall of bricks.
- If an error is duplicated it may be easier to delete all duplicates, perfect the original sprite and then duplicate it again.
- Test the original sprite in various ways to ensure that it behaves exactly as expected (see point above regarding use of broadcast):
- it disappears upon impact with the ball
- increases the score by 1
- tells the b all to bounce back.
Use variables to store data:
- Keep score and when score equals 32 (the total number of bricks in the game) change the game to Level 2.
- Use a variable called ‘speed’ to define the speed of the bouncing ball. Change this variable to increase the speed of the ball over time.
- You may need to use another variable to keep time. The ‘timer’ block uses seconds with two decimal places, e.g. 15.02 seconds, and it is difficult to detect integer seconds e.g. 15 seconds.
See game flowchart below.
- Design the ball to bounce against other objects.
- Increase the speed of the ball as the game progresses.
- If the ball drops, i.e. the paddle misses the ball, game over.
- Allow the player to control the paddle’s movements with the left and right arrows keys.
- If a brick gets hit by a ball, make the brick disappear
- Complete level 1 in class.
- Students who complete the task quickly can proceed to building subsequent levels.
“Kinda like Breakout” game design flowchart
This flow chart maps out the behaviours of each element of the game.
- The game starts and the ball drops.
- Slide the paddle left or right to bounce the ball.
- The ball hits the paddle and bounces.
- The ball hits the brick:
- The ball bounces
- The brick disappears
- Increase the score by 1
- Ball hits side edges or top edge of screen and bounces
- Ball misses the paddle
- Game over
- With a score of 32 points, all 32 bricks have been hit by the ball, game switches to Level 2.
Now with this 5-step guide, a handful of tips and tricks and a sample lesson plan and Scratch game you are on your way to starting your own code club.