Swift Playgrounds
https://www.apple.com/swift/playgrounds/
Short description
“Swift Playgrounds” is an application for iPad and Mac developed by Apple to “learn serious code. In a seriously fun way”. Swift is the programming language which developers use to program iOS apps. Swift Playgrounds is the app that allows you to learn to develop your own apps in the Swift programming language.
Swift Playgrounds is a revolutionary app for Mac and iPad that makes it fun to learn and experiment with code. You solve interactive puzzles in the guided “Learn to Code” lessons to master the basics of coding, or experiment with a wide range of challenges that let you explore many unique coding experiences.
Material and technical aspects
“Swift Playgrounds” requires a compatible iPad tablet or Mac computer (ideally with an Internet connection) to run. It’s free to download. “Swift Playgrounds” is available in 15 languages. It can be connected to robots, drones, and many other connected devices to control real-world objects with your on-screen code.
Content
“Swift Playgrounds” can be seen as a training camp for future Swift developers. Swift is the programming language developed by Apple that app developers use to create apps for iOS. “Swift Playgrounds” introduces core coding concepts like commands, functions, loops, parameters, conditions, variables. Operators, types, initialisation, and bug fixing. It uses visual coding in the early levels of the game and later uses full-text coding.
Pedagogical aspects
Learning to code with Swift Playgrounds is incredibly engaging. The app comes with a complete set of Apple-designed lessons. Play your way through the basics in “Fundamentals of Swift” using real code to guide a character through a 3D world. Then move on to more advanced concepts.
From a pedagogical point of view, “Swift Playground” provides inexperienced learners (12+) a learning environment that helps them, through structured lessons and meaningful challenges, to become members of the community of professional developers. It uses puzzles in a 3D interactive and beautiful game-world to engage learners and to present problems that learners are required to solve while acquiring core coding concepts step-by-steps. “Animations introduce each new coding concept at a high level before [learners] dive into the puzzles” and then they directly apply the concepts that they just saw. In that sense, “Swift Playgrounds” represents a very structured learning environment that allows learners to progress with much help from a human teacher. Apple uses Interactive coding, that shows the results of the code instantly, either beside the text or acted out in the live view, this allows learners to better understand the consequences of the instructions that they have just entered and to thus learn by experimenting themselves with different solutions. Swift Playgrounds also encourages learners to use their creativity by playing with game logic, music, etc. In addition, it introduced learners to a programming language that is used by real-world professional app developers. This allows learners to aspire to become members of this community of practice. Teachers should provide time and space for their students where they can use Swift Playgrounds to develop their skills and knowledge of the Swift programming language, but also provide a spacetime in their class for students to share their insights, their struggles, and their successes and thus to create a local community of learners that supports its individual members in developing their knowledge and skills. Teachers can find additional pedagogical support here: https://www.apple.com/education/k12/teaching-code/
Conclusion
Overall, “Swift Playgrounds” is a fun and engaging learning environment that older students (12+) can use to develop coding skills that are directly relevant when aspiring to become an app developer, since it introduces students to the Swift programming language used to develop real-world apps for Apple’s iOS. Teachers will love this tool because it allows students to learn in a relatively autonomous way because they get a lot of guidance and scaffolding. Overall, a very powerful learning tool that directly prepares your students to become members of a large world-wide community of coders.