Take a look inside 9 images
Swift Playgrounds
Pros: Colorful and intuitive interface and flexible and diverse challenges make it easy to create with iOS code.
Cons: Narrow focus on one coding language, along with the device requirement, may make it hard to implement in general coding classrooms.
Bottom Line: If you have iPads or Macs, this is an inspired choice for learning how to create and tweak code.
The fastest way to start using Swift Playgrounds is probably to have students 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 students' 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 students worked alone or in pairs, sharing one device; more than two students would be unwieldy. Swift Playgrounds has so much content (almost 50 challenges in Learn to Code 1!) that it's probably best to have students 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. Students would then have a fairly 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 teachers 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. Students 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 -- 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 students 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 (teachers) can add modules and custom lessons and control users through mobile device management (MDM).
Swift Playgrounds teaches coding on a really well-designed and colorful platform, initially engaging students with an easy-to-follow series of challenges to help an alien find its way on convoluted terrain. Along the way, students 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 students 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 students 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.