A Collaborative Project - work in progress

Page content

A few weeks on MakeCode Arcade

MakeCode Arcade is something that we’ve been keen for the kids to try - a block-based 2D game programming framework in the browser. Where MakeCode Arcade differs from Scratch, is that it’s designed for creating 2D games, which can (optionally) can then be loaded on a variety of hardware. This was a great follow on from Moonhack and gave the kids time to have fun with some games, and allowed two of us to get in some planning time as well.

So we sat down to plan the term’s activities, while some of the other volunteers were able to supervise the group doing three weeks of MakeCode Arcade. I lined up some of the online tutorials for a quick start, without having to search around too much for working code. Once completed, the kids were free to work on creating their own MakeCode Arcade games. One thing we noticed, is that it’s a bit too easy to rely on games based around a protagonist walking around an environment, or platoform style games - it would be nice to see some more novel approaches e.g. operating a crane to position things, or having objects that weren’t just a single character, or even a rolling game like some on the SNES, or Wizball on the old commodore 64. Either way, this was a good introduction over a few weeks, made it a bit easier for volunteers, and gave us some time to make sure they had interesting activities for most of this term.

Helping students be more accountable for..their accounts

This term, we had the annual Moonhack event, which went for one week this year. As per out standard practice this year, a digital note was sent to parents, so they would know beforehand to help our coders submit their projects. This follows on from shifting more responsibility and ownership to the kids and parents, to log on to required services, with their own account. It’s gone well using this approach, with relatively minimal time wasted from login problems this year. We’ve had a few volunteers leave this year, and new people join and start to find their groove. So, we lined up a bunch of the MakeCode Arcade tutorials, allowing those that were confident, some space to also get started on their own games - the Arcade version is built around 2D games, so things like scrolling the background, and following a sprite/character are much easier, and don’t add to the complexity. There’s a good possibility that we’ll return to this later in the year, as we now have a games developer volunter in our team!

Extending projects to build a city

Having MakeCode Arcade gave two of us time to plan our collaborative project as it was easy to run, once we were able to save projects in the right location on the network. Over the years, we’d talked about combining individual skills and projects to make something bigger, that kids could show parents at the end of the year. Doing this would mean that everyone had progressed enough to be able to apply skills to more than just simple activities, and shows a slightly better understanding than just following the bouncing ball. During this time, we also managed to iron out a few risks such as 3d printing problems, and making sure had mapped out an achievable and cost-effective way of achieving our goal.

The collaborative project is composed of multiple sub-projects, which are based on our workshops from earlier this year.

Namely:

  • 3D design of trees and buildings (initially)
  • Adding pumps controlled by relays, to the micro:bit Python self-watering plants
  • Extending single traffic lights to coordinated pairs of traffic lights
  • A billboard made up of multicoloured LEDs, controlled by a micro:bit
  • 3D printed street lights, using a the LEDs on the micro:bit as light sensors to activate

Volunteer/coder ratios

The ratio of volunteers to kid coders affects how long kids may get stalled when hitting problems, and how likely they are to get distracted. Essentially, this means that by having more volunteers/teachers helping with the more complex coding, we’re able to more kids engaged, learning, and having fun! For the 3D printing, we are limiting the volume to 7cm x 7cm x 7cm to make them quicker to print during our weekly sessions. One of our aims is to try and make the code club more self-contained, as previously, we relied a bit heavily on getting things done outside of the time, and this didn’t work consistently. There’s still a bit of preparation required, but it’s minimal enough to be manageable.

Current challenges

For the 3D design, our teacher, David found that it is possible to sign up a class, which gets rid of previous limitations of a shared account, and makes kids’ accounts easier to manage. Since the 3D design is fairly straightforward, the challenge was more to set up the class accounts, but once that is done, things should run fairly smoothly without too much assistance.

We have had some issues 3D-printing PLA filament, but we did some favourable testing and in the worst case, I should be able to print some items at home, too.

For the plants, we’re using a slightly easier sensor connection method that bolts directly onto the micro:bits and we were able to use relays from the MonkMakes electronic kits. We’ve structured the sub-projects around extending things we’ve done previously, and the hardware and supplies we have on hand. It turns out that the school has plenty of copper tape, LEDs, globes, and alligator clips! There’s also the strong possibility of being able to incorporate the Makey Makeys with some tin foil. Since we’re at a time of the year when other classes won’t be using the hardware over the next few weeks, we’re able to keep everything together, and have sorted each sub-project into a tub. Hopefully, we can hit the ground running next week, and be more efficient as we progress.

Progress so far

For the traffic lights, we managed to get everyone in the small group, with a working single traffic light. Next week, we’ll scale it up and each kid will add another. A couple of us also spent part of the time taking micro:bits out of cases, and attaching them to the traffic lights with screws. It is most helpful when you’re doing this by hand, and someone gives you a screwdriver set they had all along, right near the end of the session ;). However, we did manage to get everyone working with at least one traffic light, and by the end of the session, they each had an additional one set up. So it seems that, with enough volunteers for a group, it is possible to be setting up and getting kids coding all at the same time!

The plants went quite well, with all the kids getting up to the stage of having the sad face for dry soil, and a happy face for moist soil. The volunteers have been reading through the code and hardware setup offline, and there’s the opportunity to take home a relay and pump if required. So this sub-project should progres well next week. We were also lucky enough to have a volunteer from the 3/4 group with some spare time to come along and help.

3D printing was a bit slow to get started with the accounts being set up slightly differently, but this will definitely help smooth things out for next week.

It was a good first week, and hopefully in a few weeks, we’ll be looking for some boards to mount the components of our city on! The art teacher at school has been doing some cool projects that incorporate electronics and coding, so maye she will be able to suggest more ideas.