Problem

I've been requested to hold a number of sessions for Y5/6 students and have turned to an old favourite, Turtle. Python allows the simple use of Turtle to draw shapes and - my favourite - to get through mazes.

This is something I've run a few times with Y7-9 students and generally always have fun with. However, I'm not used to such young students and have come up with the following issues to what I would like to do:

  • Collaboration: I would really like some sort of cross-computer collaboration but cannot find any easily accessible web-based IDE which is going to allow this without any sort of login
  • Usernames/Passwords: This is a problem for Y7s never mind Y5s so I want to avoid anything one has to log in to.
  • Scariness: If you stick the average 9y/o in front of Idle, or gods forbid VSCode, Pycharm, etc, they're going to have a fit. So we need something really simple and un-scary.
  • Spelling and syntax: Lot of errors I had to deal with with the older students was mis-spelling (particularly "forward" becoming "froward"), capitalisation, spaces and indentation problems. It would be lovely if that all went away.
  • Includes: Even the simplest python turtle program needs to import the library and if done() is missing at the end it tends to get stuck in a loop. On top of that, as I want to create mazes, all the code for drawing the maze needs to be included. Anything that is included is something a small person can accidentally delete so it would be great to avoid that problem.

Solution

So - we have a bunch of problems; what have I done about it? Well I've thought outside the box and done some coding that results in TurtleIt. © me - gerroff!

The collaboration, scariness and login issues were all solved by having the students code in... Google Docs. Yup, Google Docs. No syntax highlighting means nothing to freak them out. No references to debuggers, no run this way or that, no nothing but a bit of text to write! They're shared in editing mode by link, so anyone with the link can get in there and edit the docs (no logins needed) and the collaboration is simple as a simple thing. This also deals with some of the spelling issues by auto-correcting.

The spelling and syntax and the includes issues - and indeed the titchy problem of how the hell do we run a program written in a Google Doc - that all came down to the program I wrote. The procedure is this:

  1. Students click on a link which takes them to the Google doc for their team and the challenge they're working on.
  2. Students write code in English, with the following commands:
    Forward n
    Left n
    Right n
    Loop n
    End loop
  3. Students double-click the TurtleIt script and enter their team number and challenge number
  4. TurtleIt:
    - Reads the relevant Google Doc from an internal listing
    - Includes the relevant libraries and renders the maze
    - Reads each line, adjusting for spelling, indentation, white space
    - Tries to execute the line - with useful error messages if it goes wrong
    - Outputs the Turtle drawing

What next?

Once docs are setup and a few more mazes are rendered I'll be looking for some beta testers. The project is running in June 2019 in Kent so we can feedback from that. Hopefully we (and I say we because I'm hoping to work with a PhD student on this) will be able to collect some quantitative and qualitative feedback not just on the project but on the efficacy of the collaborative coding and produce a paper on the whole experiment.

Want more info, got some suggestions, curious? Just hit me up on Twitter and I'll be more than happy to have a chat!