I have been using Swift Playgrounds and App Development with Swift (Teacher) (Student) - which I call the Swift Playground learning tools because they both use Swift Playgrounds - to teach basic computer programming concepts and coding in the Swift language for almost 6 months. I have recently started to think about the effectiveness of the Swift learning tools. I never cease to be amazed at how quiet and engaged my students are whenever we do our Swift Playground and App Development with Swift lessons. My students listen and participate in our opening discussions of the topic we are covering that day in about the same manner my students did when I was teaching math for so many years; however, I can feel the anticipation rise in my classroom when it is time to start solving a puzzle on the iPad or to start coding on the Mac. My students love to learn by working with the Swift learning tools. They love to learn by doing something interesting, creating something cool, and/or making something that challenges them because they have not done it before. The Swift learning tools allow my students to do just that.
Reasons for Effectiveness
Since I see what I believe is proof of their effectiveness in my classroom almost every day, I have now started to think about, "Why are they effective?" I had been thinking about their effectiveness in very personal and tangible terms:
- Beautiful graphics
- Interesting puzzles
- Creative lessons
- Challenging problems with much algorithmic thinking required
However, I think I may have come across a more general reason as to why the Swift learning tools have been so effective in helping me teach and my students learn Swift. I was recently listening to the Freakonomics Radio Podcast: How to Get More Grit in Your Life [^1] that featured psychologist Angela Duckworth the author of Grit: The Power of Passion and Perseverance. She was discussing her research on a person's level of stick-to-itiveness, which she calls "grit". Duckworth argues that that a person's grit is directly related to her success and that grit can be learned by developing or having these three components:
- Interest - in a topic
- Practice - deliberate practice of that topic
- Purpose - connecting to your work or hobby.
Duckworth said, "Kerry Close, who won the National Spelling Bee one year that we studied it, said the one thing that very grittily studying for the National Spelling Bee for five years in a row — because she won her fifth year of competition — was just the, the ability to take a large something, and break it up into little tasks, and to fractionate things so that they’re not so overwhelming and that you can do them. So that is the second stage, and it’s about doing things that you can’t yet do."[^1] The Swift Playground tools excel at taking the complicated concepts of Swift and fractionating them down into manageable and teachable lessons that students are able to comprehend and complete. Thus, the Swift Playground tools enable students to do something they could not previously do.
Students Getting Gritty
When my students were working the Types section of Learn to Code 2, I had students correctly using
while statements as they should have to write efficient code to solve the puzzles. One of my students, Nick, solved the "Portal On and Off" playground puzzle differently, though. Nick's code demonstrates that he learned how to use and increment variables to solve the "Portal On and Off" playground puzzle in a unique and interesting manner. This was not an expected manner to solve this playground in the Types section of Learn to Code 2. Nick's code shows that he is using what he recently learned to devise a unique and more efficient solution to the playground than the one I had . I think that Nick's solution demonstrates that the Swift Playgrounds learning tools were created in such a way that it enables students to learn Swift in small, bite-sized chunks that are not intimidating and easier to learn than traditional code-based introduction to coding courses. My students have the interest in learning to code which is why they choose to come to my school. They have connected to that interest in their time working in their Career-Tech program. The only piece that was missing was a tool that could provide my students a way to learn Swift in small, easy to learn lessons. Lessons that are presented in non-threatening, non-intimidating learning environment. Based upon what I have seen this school year, I firmly believe that the Swift Playground learning tools have helped me provide that non-threatening, non-intimidating environment that will help my students develop the "grit" necessary to become successful coders.