Alongside the release of iOS 10 this fall, Apple will put out a video game filled with strange aliens, blocky worlds, collectible gems, and clever logic puzzles. Only it's not just a video game — it's a series of coding lessons and challenges designed to teach kids the fundamentals of computer science, all based around Apple's new programming language, Swift.
The app is called Swift Playgrounds, and you can try it out right now if you install the iOS 10 beta on an iPad. What you'll find is a surprisingly deep and surprisingly fun set of lessons that make it easy to pick up some coding basics. "What we set out to do is create something really inspirational for the next generation of students to make them excited to code," says Cheryl Thomas, Apple's VP of software engineering operations.
Only the first coding course is currently available, but Apple has more there than you might expect. The course is a 12-lesson series that starts by explaining what a command is and continues on through subjects including algorithms, loops, and parameters. There's probably a good six hours of content there for a coding-clueless adult (like myself), and likely much more for the game's intended middle school audience.
I spent about an hour playing through the early lessons this week and had a good time with them. For an adult (even someone who doesn't know about programming) the lessons were easy enough to cruise through, but there was enough of a basic logic challenge to make them entertaining. The weird animated cyclops you control, which might be the strangest thing Apple has created in years, definitely improves the experience, too.
The weird cyclops is Apple’s best design work since the iPhone 4
I loved Zoombinis as a kid and once dreamed of getting an intro-to-game-coding program that I saw in a gaming magazine but wasn't able to run because my home PC was a few megabytes short on RAM (it was the ‘90s), so it's easy for me to imagine certain kids having a great time with Swift Playgrounds. The app seems to strike the right balance between education and enjoyment. I don’t know exactly how far these lessons can take you toward becoming a programmer, but Apple emphasized to me that everything you learn is real Swift code.
A second course, on building photo filters, is planned for release alongside the launch of iOS 10. Apple intends to continue releasing new courses over time, as well as some one-off, open-ended challenges, which may pop up inside the app more often. So far, everything is available as a free download. (Be aware, the current beta release does have its share of bugs.)
There's also a lot more depth hidden inside of Playgrounds that kids can find once the lessons are over. As Apple describes it, Playgrounds is pretty much a wide open sandbox for coding on iOS. "The possibilities of Playgrounds are enormous," says Wiley Hodges, a product marketing director at Apple. "You have access to nearly the entire iOS SDK and code." That includes everything from an iPad's accelerometer to Metal, iOS's graphics API.
You're not quite able to develop an app inside of Playgrounds, but Thomas says it's entirely possible for an experienced developer to pop inside and "do something quick and easy, or not so quick and easy, that they'd try out on Xcode." The point being, ambitious learners could go pretty far inside of Playgrounds, even if Apple won't hold their hand the entire way.
"The lessons are designed to teach the core concepts, but the platform is open to almost anything you'd like to do," says Tim Triemstra, who handles marketing for developer tools at Apple.
Apple hopes to see Playgrounds brought into the classroom
Apple expects computer science and programming teachers to expand upon what Playgrounds is already offering. They’ll be able to create their own lessons and challenges, and send them out to students using the app’s sharing feature — anything students create inside the app can be shared with others as well. Apple also intends to eventually build in-classroom tools that'll let teachers interact with students making their way through the lessons.
While there are obvious educational benefits here, it's important to keep in mind that there are still significant limitations for aspiring iOS programmers. For one, an iPad costs around $400 (a little more or a little less, depending on the model), meaning these lessons are far from freely available. Students will likely need outside instruction before turning coding into a career. And Apple puts other cost hurdles in place beyond that, like charging a fee for the ability to publish to the App Store.
That's not to say that Apple should be wholly responsible for coding education, just to preempt Silicon Valley's occasional delusions of grandeur about apps solving major world problems. Swift Playgrounds isn't trying to be a complete solution, though — it's trying to be, well, a playground, a way for students to start toying around with Swift. And so far, it seems like a success.