Sunday, March 5, 2017

Phaser Girl JavaScript Lessons For a Middle School Girl


I'm working with girl coder on new drills based on Phaser and JavaScript. In each lesson, I sit by coder girl and watch her type in the same drill 10 times.

The philosophy for Phaser Girl is to take the simplest possible code snippet and build from there. Programming concepts are not explained until after the drills are started.  The idea is to dive in, start typing, and the concepts will arise over time.

This structure came from watching my son learn karate. Since his dojo (classroom) was 25 minutes away, I would often stay in the dojo and watch the class.

There are three components to teach kids karate:

  1. kihon (fundamental: punch, kick, block)
  2. kata (form: collection of kihon)
  3. kumite (sparring: application of kihon and kata)

For Phaser Girl, the equivalent is:

  1. syntax: conditionals, loops, variable assignment
  2. drills: the basis of Phaser Girl
  3. projects
Within this framework, I focus on drills. The syntax emerges from the drills.

Repetition

I originally started with a target of 5 reps. During the first lesson, Blank Screen, I increased the target repetition to 10. The objective is for coder girl to be able to go through the drill without looking at reference material and without encountering a syntax error by rep 8.

By drill 6, Cursors, each rep was taking 5 minutes, pushing the total lesson time to 70 minutes. I gave coder girl a 5 minute break after rep 5.

Practical Application (kumite) Example

Level 1, simple project. 40 lines of code total.




Drill (kata) Example


Fundamental (kihon) Example


3 comments:

  1. Greetings! Your blog is really very nice, if you get a chance by posting such post, I’ll write comment for you again. Visit: Programming Games For Kids

    ReplyDelete
  2. My kid is 13 years old, Is this a good age to start learning game development? he's been obsessing over cooking game series Papa's Games for a little while now and now asking me if he can learn how to make games like these and how difficult it would be. I'd really appreciate advice, thank you.

    ReplyDelete
    Replies
    1. He can definitely build it at age 13. Start with this:
      https://www.youtube.com/watch?v=FoBKQO7h9gk&list=PLxvyAnoL-vu5sNgzos6_v6nX-j8N4H-Pd

      The curriculum is old, but the main points still work.

      Start with the simplest possible construct, which is a blank screen.

      Then add a stationary square.

      The sequence is this:

      1) blank screen
      2) stationary square
      3) moving square
      4) mouse or touchscreen control

      The main points for children compared to adults:

      1) learn by doing needs to be supplemented by drills (repitition)
      2) theory comes after doing (at first, they may not know why they do something. They mimic)
      3) Python is easier to learn than JavaScript, though both are possible. I recommend Python first
      4) desktop is easier than moving the application to mobile, though mobile is possible with both JavaScript and Python

      Delete