This is a topic we are required to write about on finishing the first section of Udacity's course, I thought I might as well do a post and perhaps keep updating it as and when I manage to finish the many courses I'm taking. So here goes:
I've been meaning to enroll for one of Udacity's many courses for a while and that came to fruition when I signed up for their free Intro to iOS Development with Swift course.
The course is laid out very well, the instructions by the teacher Kunal were clear and easy to follow, the quizzes were relevant and made you think. I managed to solve quite a few based on what I learnt on the Udemy courses and by googling. There's a forum where you can submit your answers and ask questions, I noticed the instructor answering some questions, which is always encouraging.
Broadly, the course is about building a simple recording app. In the first part, you are taught how to add labels, buttons, images to the buttons, constraints and how to use them, aligning images, hiding and showing labels and the text they contain, the difference between IBOutlets and IBActions, the relationship between Model, View and Controller (I knew about it a bit from my Ruby and Rails lessons) and the difference between the 1x, 2x image boxes in the xc assets (the 1x is meant for non-retina iPhones and 2x and 3x are for retina iPhones). By the way, strong and weak in IBOutlets are Swift's way of managing memory, a weak variable is an instruction to hold a weak reference while a strong variable/outlet means I initialised it, so keep it till I don't need it anymore.
I must say, based on this course, I am tempted to take up their nanodegree on Beginning iOS Development. And they have an attractive incentive of refunding 50% of the tuition fees for those finishing the course within a year.