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.
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; it would be fairly tiring to have them go through it all in one marathon session. Rather, there's 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 fully 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.Continue reading Show less
Swift Playgrounds (for iPad) 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 real 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. 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. New courses seem to be added regularly, giving Swift Playgrounds quite a bit of longevity. Newer units 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. Apple's website provides complementary videos and a teacher guide for each challenge, but finding them isn't easy since they aren't linked to from the app itself.
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.
The instructions do a very good job of providing hints and encouragement, priming students into 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.