Starting on Monday, I kick off year two of teaching Swift Playgrounds at my school. I teach this class once a year (for a quarter) to our 4th and 5th-grade students. Last year, I started with Learn to Code 1, and I had hoped to get to Learn to Code 2 by the end of the quarter, and then move on to Learn to Code 3 this year. I wrote about my experiences in year one in an article in May so you may want to read that as well. In short, the learning curve for students ramps up very quickly in Learn to Code 1. Follow along for the changes I’ll be making for my second year of teaching Swift Playgrounds and what I think Apple could do to improve the program.
About Making The Grade: Every Saturday, Bradley Chambers publishes a new article about Apple in education. He 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 things I’ve loved about teaching with Swift Playgrounds and the Learn to Code series is that it’s real code. A lot of “coding solutions” aimed at K–12 are teaching code through programming concepts. While there is nothing wrong with that, I do prefer students working with real code.
A lot of other tools simply have block-based concepts that I am not sure will translate elsewhere. One of the things I’ve tried to stress to people is that teaching code is like teaching a woodshop class in school. Students aren’t going to come out of a woodshop class knowing how to build a house. They’ll understand some basic concepts, and coding is no different. Students aren’t likely to come out of the class knowing how to build apps (there is so much more that goes into an app than just the code). My hope is that students can use the troubleshooting skills they learn in other aspects of their life.
In reviewing how year 1 of teaching with Swift Playgrounds went, I think some of the students got frustrated towards the end as the difficulty ramped up. Learn to Code lessons 1–4 are pretty approachable, but after that, it gets difficult quickly. Some of the students (who enjoyed coding more than some of the others) excelled, but I need a way to keep the entire class interested. My only suggestion to Apple is to build a Swift Playgrounds Jr. aimed at younger kids.
I mentioned in May that’s I didn’t like the trend of the robots being used in programming classes as it quickly becomes expensive. I still don’t think rolling out $100 robots to every student is practical, but I do think there is some opportunity in smaller groups.
We were able to secure some grant money for some STEM projects at my school, so I picked up ten of the Sphero Robots to use in my class. The classes will have a maximum of 19 students, so students will be working with partners to complete the assignments. Since it integrates with Swift Playgrounds, they will still be writing actual code with the robots.
We won’t start with using the robots, but I’ll transition to them around Lesson 5 of Learn to Code 1 as a way to keep students who are struggling motivated. Instead of programming a digital object to move, they’ll be able to actually control a robot with their code.
My plan is to give them a few classes to get acquainted with the robot, and then for the final class project, built a maze using measure tape that we will stick to the ground. They will have to come up with a plan to navigate the robot using their Swift Code. I am really looking forward to seeing how it all comes together in year two of teaching with Swift Playgrounds.