Random thoughts, daily life, being a student, quantum computing.

2016-01-02

Udacity's "Intro to iOS App Development with Swift"

TL;DR:
The free Udacity.com course Intro to iOS App Development with Swift is an effective self-paced way to write your first iOS Swift application.

Since Apple introduced Swift for iOS and OSX development, I've wanted to jump in, thinking I could re-do my Getting Things Done app, written in Objective-C about 5 years ago. This time, I wanted to try something different than just reading a reference book or going to a class. So, I decided to try the free Udacity.com course Intro to iOS App Development with Swift.

By the 3rd lesson I've got an app that has the UI for recording and playback:
    


At this point, the course wants you to write a blog about either what you have learned or how to do something specific in Swift.

My main learning is that I like doing the Udacity course. I love that it is self paced, I can zoom through the easy parts and slow down or pause the video when I need a minute (usually to find one of the plethora of minuscule icons in the Xcode interface :).

As far as course content is concerned, most of it is review. A few new things for me were:
  • Applying constraints and how to tweak the settings of the constraint;
  • Use of AVAudioPlayer to play a sound;
  • Storyboarding and segues;
  • Specific Swift syntax for various method calls, including use of try?.
A unique aspect of the course, which I really like, is they encourage students to "find out for themselves" — something akin to "teach a man to fish". This is done by getting you to search documentation, stack overflow and the internet for specific items.  Nicely done.

Finally, the most interesting thing has been this blogging assignment. I found it the most thought provoking part of the course so far — Blogging / communicating with other programmers is (IMHO) such an important part of being a great programmer. I'm happy they are encouraging that aspect right from the beginning.