Product Review of Swift Playgrounds
Swift Playgrounds — which works on iPads or Macs — starts out like a puzzle game where players have to figure out how to enter and test code until they find the right solution. The code they learn to use is in Apple’s Swift language, which professional developers use to create iOS apps. Inputting code is easy: Players can either type it in using the iPad’s touch keyboard, or they can select suggested code from a list of commands. There’s also a Snippets Library with ready-to-use elements. This code appears on the left of the screen while a 3D puzzle appears on the right. After inputting some code, players can run it and see a colorful, cute alien move around according to their programming. Running the existing code can be done at any time, checking for bugs along the way and iterating to a solution. Players are rewarded when they see that the little alien is successful in navigating the convoluted paths to collect gems, activate switches, and hop through portals.
Swift Playgrounds offers many courses. Some have learners create completely different types of apps and games, such as a Breakout clone or a game that plots lines on a graphing app. Units also include augmented reality (allowing coders to overlay code and images captured by the device camera), data-related projects (like chatbots), and code projects for connected devices like Parrot drones, MeeBots, and Lego Mindstorm robots. The Everyone Can Code curriculum guide is linked on the Swift Playgrounds site. Admins (educators) can add modules and custom lessons and control users through mobile device management (MDM).
The fastest way to start using Swift Playgrounds is probably to have learners elect to try the Hour of Code course, found in the Featured Courses section, rather than the Learn to Code 1 course. It’s a curated subset of challenges from Learn to Code 1 that’s meant to take about an hour to complete. This will whet learners’ appetites, and they’ll discover that it’s only the tip of the iceberg of what Swift Playgrounds offers. Use the Everyone Can Code curriculum guide for help.
It would be best if learners worked alone or in pairs, sharing one device; more than two learners would be unwieldy. Swift Playgrounds has so much content (almost 50 challenges in Learn to Code 1!) that it’s probably best to have learners progress at their own pace, perhaps as homework if they have their own devices. There’s definitely enough content to break it up into weekly assignments, perhaps over a month or more. Learners would then have a solid coding foundation to work in the Swift programming language to develop iOS apps. This could also serve as an introduction to coding for making games, but educators would want to move to a full-fledged game-making app on a different platform, such as GameMaker: Studio, Construct 2, or maybe even Unity. Learners can then learn about the overall design processes of game making, such as creating artwork, creating the specs for design goals, and learning how to work on a team.
Swift Playgrounds teaches coding on a really well-designed and colorful platform, initially engaging learners with an easy-to-follow series of challenges to help an alien find its way on convoluted terrain. Along the way, learners can either type in their commands or select commands from a list of available ones, similar to how mobile keyboards suggest words in a text message. This flexibility makes it easy for newbie coders who may have difficulty remembering the right syntax for the coding language while also giving more advanced learners a lot of power to go outside the recommended code if they wish. For example, it’s possible to create functions in the earlier challenges before even getting to the challenge that introduces functions. Swift Playgrounds allows this because it’s actually a really robust testing platform for tweaking, even letting players view the underlying libraries that make up each challenge. In terms of accessibility, the platform is available in multiple languages, and fonts are resizable for easier visibility.
The instructions do a very good job of providing hints and encouragement, priming learners for a coding/hacking attitude of trial and error and treating failures as opportunities for learning and troubleshooting. Code and screenshots can be shared from the app, helping to foster a classroom community of sharing and support.
Overall User Consensus About the App
It has innumerable ways to engage learners with fun graphics, cute characters, an intuitive interface, and a huge range of activities.
Curriculum and Instruction
Detailed and well-thought-out lessons contain a series of increasing challenges, each introducing a new topic on the road to learning to code.
Each challenge has a series of built-in hints, and, though they’re hard to find, complementary video lessons and a educator guide are available. Content is available in multiple languages.