Concept to Completion

One Man's Journey to Learn Swift

A Complete Picture

Aug 22, 2014

The Internet has been about teaching from the beginning. It’s a resource that allows us all to learn, to explore, to try. And there is no shortage of resources to educate yourself on almost any topic.

That being said, there are gaps …

In illustration, this joke has made the rounds on Twitter in recent weeks:

After several weeks of scouring over different resources, I certainly feel the painful truth to this humour. It’s easy to find online tutorials that address one very specific situation. Others give you such a barebones outline that only someone already knowledgable and comfortable in the technology being used can grasp the tutorial enough to fill in the blanks.

As someone with no programming experience, I’ve had a hard time finding just the right teaching tool to help me move forward. Along with the resources I’ve listed on this site, I’ve also looked into various books, courses, and communities. There seemed to be issues with all of them. The courses are expensive and take you away from home. The text books can be too advanced (although it can be hard to tell), requiring a base knowledge before you get started. And my biggest stumbling block: many tutorials that might be helpful are written in an older version of Xcode than what I have installed now.

I realized I needed something like my college programming classes. Here are your tools. Here are the basic types, commands, and terms. Here is an exercise that is as basic as can be.

The place that I found this type of environment, for a decent price, was Treehouse.

Although they do not have a Mac programming course, I believe their iOS track is my best bet. It will make me familiar with Xcode, with Objective-C concepts, Cocoa frameworks, and the terminology around developing for Apple devices.

The sessions I’ve been through are well done. Videos are short, usually around the 5 minute mark, and the media player cleverly includes the ability to increase or decrease the speed the videos are played at. That is a fantastic addition!

And during your session, learning points are followed up by quizzes. Nothing is as helpful as working on actual code, but this is a great way to help you at least get the syntax down.


Learning is enjoyable. But it can be frustrating when the tools are lacking or incomplete. Treehouse has been better than I expected and if you’re an absolute beginner like me, it’s a great option!