Making The Grade is a weekly series from Bradley Chambers covering Apple in education. Bradley has been managing Apple devices in an education environment since 2009. Through his experience deploying and managing 100s of Macs and 100s of iPads, Bradley will highlight ways in which Apple’s products work at scale, stories from the trenches of IT management, and ways Apple could improve its products for students.
One of the key focuses of Apple’s education story is Swift Playgrounds. I know many of you have probably downloaded Swift Playgrounds from the App Store and tinkered with it. Why wouldn’t you? Apple gives it away! I have taught it, so I wanted to share brief thoughts on it.
Apple describes Swift Playgrounds in this way:
Swift Playgrounds is a revolutionary app for iPad that makes learning Swift interactive and fun. It requires no coding knowledge, so it’s perfect for students just starting out. Solve puzzles to master the basics using Swift — a powerful programming language created by Apple and used by the pros to build today’s most popular apps. Then take on a series of challenges and step up to more advanced playgrounds designed by Apple and other leading developers.
And here’s a video example:
There has been a lot of discussion about the cost of iPads vs. Chromebooks in recent months. These discussions are valid, and they should be had.
One aspect that has often been ignored (even by me!) has been looking at Swift Playgrounds as free coding curriculum. What would comparable curriculum cost otherwise? If Apple is giving away Swift Playgrounds for free, then it should be considered as part of the overall package of the iPad.
Swift Playgrounds being built and released by the same company who is developing Swift the programming language. It’s not a gimmicky game where you learn concepts of programming. Students are writing real Swift code in this app. It’s a worthy choice to be at the core of your programming classes.
I used Swift Playgrounds to teach a nine-week “coding” course at my school. We have a program called “The 4 C’s” where students learn coding, cooking, chess, and construction.
The 2017–2018 school year was my first time teaching this course, so I was Apple’s target market (being a new coding teacher) for Swift Playgrounds. While I’ve been in IT for a while, programming is not something I am familiar with.
You might be wondering, how can I teach Swift if I don’t know Swift? Apple has teachers covered there as well. They built detailed guides to walk a teacher through teaching Swift with Learn to Code 1 and 2 and Learn to Code 3.
As students start in the app, they start with the “Fundamentals of Swift” using real Swift code to guide a character through a 3D world. They quickly move onto advanced concepts (it gets hard very quickly). I used Apple Classroom to monitor students as they worked through lessons. My original goal to teach one less per class, but this fell apart after the introductory lessons were finished. The difficulty ramped up quickly, but that’s not a bad thing.
Outside of learning concepts of programming, teaching a class like this also forces students to use problem solving skills. In a Siri, Alexa, and Google dominated world, we don’t have to break out our “old fashion” problem-solving hat like we used to. If something is broken, there is likely a YouTube video showing us how to fix it. If we don’t know an answer, Alexa probably does.
By forcing students to slow down, I am hoping to teach them how to troubleshoot issues without using a Google search, and then they can use those same skills in science, math, etc. I kept reinforcing the difference between “I don’t understand” and “I haven’t solved the problem yet” to my students.
As the difficulty ramped up, the pace of progress slowed down quickly, but I was fine with that. My ultimate goal was for them to get a taste of Swift, but also learn that all problems can’t be solved with a Google search.
Overall, the app is well done. It syncs up nicely with the teaching tools I mentioned earlier. It’s clear to the students how to run, edit, and re-run code. It’s detailed enough that a parent could use it at home and their child should be able to be self-paced. It’s clear that Swift Playgrounds isn’t a hobby for Apple. It’s a key part of their iPad in education story.
Fraser Speirs, who spent an entire year teaching this material, had this to say in his year end blog post (last year):
Firstly, I would like Apple to publish a roadmap for future Learn to Code books. When I started planning the year, Learn to Code 1 and 2 were the only books in existence, and we didn’t know that there would ever be a Learn to Code 3 until the day it shipped. We plan learning experiences over the long run, and it would be very helpful to know what’s coming – or even if nothing else is coming.
I don’t think many changes are needed in the Learn to Code 1 and two courses itself. I’m looking forward to teaching it again. However, the aforementioned lack of summative assessment is something that would be worth looking at.
He makes an excellent point that there is no assessment (testing) model in Swift Playgrounds, so you would have to create this on your own. He also adds:
Some ability to transfer individual solutions between devices without having to transfer the entire book would be welcome. Sometimes you need to give a student a complete or partial solution for various reasons.
My CAD teacher in high school would often do this for us to accomplish specific objectives in a short amount of time.
My final comment is that I don’t love the focus on Swift Playgrounds controlling drones and robots. It’s not that I don’t think the concept is great, but for the classroom, it’s not practical. I’m not going to be deploying R2-D2 robots to every student due to the cost.
Overall, Swift Playgrounds is an excellent teaching tool. The fact that it’s free gives you a reason to consider iPad over Chromebook in your school. Even if you haven’t ever programmed in Swift, Apple gives teachers great resources to get started. Have you used Swift Playgrounds before? Let me know your thoughts in the comments below.