Programming in Swift - Part 1: Part 1: Core Concepts: | Ray Wenderlich

Let's review what you'll be learning in this section, and why it's important.

This is a companion discussion topic for the original entry at
1 Like

It’s ageist to write code that says 40 is over the hill. Bad, call guys.

This course will have subtitles? thanks

Ray, thank you for the course! It is more detailed comparing with previous course “Beginning Swift 3”, but after the courses been updated, Intermediate and Advanced Swift have disappeared, could you give a link or a way to get them?

@jeongdeoksu Yep we’re working on it!

@antonkrylov I’ve added the Advanced Swift course back to the courses list (it was removed by mistake). This course overlaps with Intermediate Swift so I worry putting that back would be confusing. However you can access it here:

Hello and thank you for the awesome tutorials.
Where is the “Your second Swift 4 and IOS 11 app”? can’t find it anywhere.

@carniwhoper It will be posted on our site tomorrow :] Stay tuned!

Hey ray I am going through this course but I’ll be honest as a beginner this is going way too fast for me. I took at a look at the Swift 3 beginner and intermediate courses and I feel like they are a much better pace. Do you think just going through swift 3 beginner - advance then update myself to Swift4 changes after is a better idea? thanks

You could definitely do that if you want - there actually isn’t a huge difference between Swift 3 and Swift 4 so the adjustment would be pretty quick and easy.

But for future reference, I’d love to improve this course next time we update it. Is there anything in particular that felt confusing or that we could slow down a bit on?

I felt the same way as hermark. I am a begginer too and this course started to feel difficult in the last videos.
I could’t do the methods chanllenge and had to look for the answer. The same With the classes and structures challenge.
Before reaching that point I felt the pace was suited.

Thanks this is helpful! Next time we’ll slow down the pace on those.

This is great stuff Ray! For me one of the most useful courses here. I’ve been about halfway through, I think the pace is great (for upper beginner or lower intermediate). I’ve learned a new trick in every video. The math stuff which maybe seem obvious to an experienced programmer (calculating distance between 2 points and see if 2 radius overlaps). That was great, I didn’t know about that.
Thanks for not making this course too easy, it has to be a bit challenging otherwise what’s the point, but at the same time explaining it well enough so everyone even beginners can understand it. My girlfriend who is a complete programming beginner (Swift experience 3 weeks) watched a few videos of this course with me and she said she could understand the material immediatly!
One thing though: I don’t seem to see info about Enums.
I hope you guys can update the advanced Swift course too, cause I found that one very hard to follow along. Or maybe I’m too inexperienced for that, but the explanations can be improved imho.

Thanks so much for the kind words Benzai, they made my day! I’m glad you and your girlfriend learned some new things! :]

Thanks also for the suggestion on making an update to the Advanced Swift course, we do hope to do that soon.

Excellent course Ray ! Great teaching approach. A lot to take in but by using the materials with each lesson, and following EVERYTHING that Ray teaches and actually doing it in Xcode really helps the learning process, and the challenges are perfect. I will definitely repeat this course a few times to make sure I’m practiced in the fundamentals.

One question: Does the equivalent book in the store cover these fundamentals and more. As I progress through the other courses it would be useful to have these core fundamentals as an easy reference point if it does. Thanks.

I’m so glad to hear you enjoyed the course John! :]

Yes, this course (Programming in Swift) follows our book (the Swift Apprentice) quite closely, so the book makes for a nice reference to go along with the course (or afterwards as you need to look something up as you’re making your own apps).

Hello, Ray

I’m almost finishing this great course i struggled little in closures. However, i never did the first app i jumped into this course. Do you recommend is it better to do the first app or it’s ok to jump to the second app build ?

best regards,

Hi there! I’m glad to hear you’re almost done the course - congrats. Don’t worry - closures are a bit confusing - even for developers who’ve been coding in Swift for a while! They’ll make more sense as you practice with them more.

I recommend you do the First App course before the Second App course, unless you’ve been doing iOS development for a while. Hope you enjoy it! :]

Like most courses around, this is no different. Explaining what things are but never giving an example on when to use them. Why do teachers not understand this?

To become an iOS developer, you have two things to learn: the Swift language itself, and then using the Swift language and Apple APIs to make apps. There are two ways you can do this:

  • Language first: The first approach is to learn the Swift language itself first, and then use what you’ve learned to make apps. This is similar to learning algebra and later learning how to apply algebra to solve particular problems. This approach is particularly useful for people who have previous programming experience and want to get up-to-speed quickly, or people who want a more methodical approach to learning. This is the approach our book the Swift Apprentice takes.
  • Language and practice simultaneously: The second approach is to learn the Swift language and the Apple APIs simultaneously, learning Swift a bit by bit as you develop apps. This approach is great because you see immediate results and how to apply things in practice, but is a bit slower pace than experienced developers may prefer. This is the approach our book the iOS Apprentice takes.

The video courses on our site try to get the best of both worlds. In Your First Swift 4 & iOS 11 App, you learn how to create your first app, and a little bit of Swift along the way. Then in this course, Programming in Swift, we take a deep dive into the fundamentals of Swift development. Finally in Your Second Swift 4 & iOS 11 App, we go back to a practical example and make another app.

I hope this helps! If you have any more feedback we’d love to hear it.

this is my 3rd time doing this course because it’s core concepts and true to the ‘learn thru repetition and practice’, each time, my understanding of the concepts is becoming more established and intuitive. One thing you may want to try (it may not suit all), after you’ve done this course a couple of times, do it again, but turn down the sound (no offense Ray, you’re a great teacher, maybe too good, and thus the student becomes lazy), and don’t do any of the coding, just follow what the teachers do on the screen. You’ll find you think about the topic in a different way, and subliminally your brain forces you to fill the gaps, determine the result, understand the topic and it’s logic more deeply.

I’ve also done this with the Bull’s Eye and Checklists apps, and because i’m not doing the coding, just following on screen activity, the flow is more fluent, and it helps cement my first/second time doing the course. (repetition, like learning a spoken language, the more you hear it - in this case, see it). Like I said, this may not work for everyone but I find this helps the topics sink in deeper. Just an idea.