App Development / Distance Learning: SpriteKit

It has been far too long, my friends. In challenging times like these, it's all the more important to help each other out.

We have been running classes for students at home for the past six weeks here in Vietnam. I want to offer the activities I've been doing and resources to you as you look for ideas to use with your own classes.

The first is App Development. This course is meant to be an open workshop class where students learn to code using Swift and build projects in Xcode and Swift Playgrounds. Needless to say, doing this when we are not in the same room has been difficult. I am used to running around the classroom and helping students resolve issues. This is much more difficult when we are not in the same room.

The most frequent mode of operation for class is the try-tweak-reflect cycle. I give students some code that does something, ask them to change something in the code, predict what will happen, and then reflect on the result. They do this a few times until they end up with something that is uniquely their own.

SpriteKit Activities

SpriteKit is a library in iOS that lets you create games. The best way to do this right now is the Swift Playgrounds app which is available for iPad and macOS. There are lots of things you can have students do. Here are some of the ones I've done with students. Feel free to use any of it. The app itself has some phenomenal activities that are ready to hand to students and get them learning from the start. If you want a bit more directed learning related to SpriteKit, read on.

I created a video that walks my students from start to finish in creating a simple SpriteKit app that moves a block around the screen with a tap. This was recorded all in the iPad Swift Playgrounds app using the screen recording feature.

SpriteKitStartToFinish (YouTube)

This next video led to something a bit more sophisticated with numbered circles falling and bouncing around.

AppDevelopment - Playing with Classes (YouTube)

You will want to start with this playground downloaded to your computer to use in Swift Playgrounds or Xcode.

After taking students through a few activities like this, I gave them a design challenge. Before we closed school, my plan was to have students build a game to spread awareness of an issue related to the UN sustainable development goals, or SDGs. Here is the description of the project I gave them. (Link here)

Students created some really neat stuff. It took a lot of remote debugging and use of Chrome remote desktop in some cases to make this work, but it was worth it in the end. Here are some highlights of student work:

Write me if you have any questions on how you might use this yourself or with students. We are in this together.