Learn Swift 4 with Bob: The Intermediate to Advanced Swift (Udemy.com)
Functional Programming, Protocol Oriented, Value Oriented, Generic Protocols, Object Oriented, Swift 4
Created by: Bob Lee
Last updated September 2017
What you will learn
- Learn the difference between classes and structs and which one to use
- Learn how to create generic enums, structs, classes, protocols
- Get a taste of functional programming with trailing, auto, and escaping closures
- Understand how objects are created and removed through Automatic Reference Counting
- Understand potential retain cycle in closures, delegate, and class variables
- Understand Swift is a protocol oriented programming language
- Apply protocols such as Equatable, Comparable, Sequence, and IteratorProtocol
- Execute Swift files using Terminal/Command Line
- Functional Programming
Course Description
Attention
*Please note the course is no longer maintained since 2017.
Why I Created Learn Swift with Bob
As a developer whose first programming language is Swift, I've taken online courses from major platforms. However, I have been frustrated by a lack of detailed explanation from instructors. They tend to focus on final products, thus missing out the fundamentals. I was confused by which design principles to follow, and why. Soon after I've been blogging for the last 5 months, I've discovered this isn't the only problem of mine. I've received hundreds of emails and questions regarding how to write code that does not violate principles such as DRY, modularity, and readability. As a result, I've decided to create this course dedicated for my younger self. I believe it all comes down to the fundamentals which I lacked in the beginning.
Course Overview
There are 10 chapters in this course. From Chapter 1 to 4, you will get a firm understanding of both Intro to Functional, and protocol, and Object Oriented Programming. In Chapter 5, you will fully understand how objects are created and removed. In Chapter 6 and 7, you will learn how to create value oriented swift code along with protocol generics and enums. In the last chapter, you will acquire various advanced and hidden tips about the Swift Programming Language.
Prerequisites
This course is designed for Swift intermediates. So, I won't cover the basics. You may visit the lecture notes and go to prerequisites. You will find a list of items you are expected to know. There is a YouTube video for each concept, so if you ever get stuck, you can always learn and come back. In a nutshell, you should be already be familiar with switch statement, conditional statement, basic operators, functions, and basic object oriented programming.
Questions
Do you know why Swift engineers have implemented optionals? Do you know what completion handlers and how to design one for your project? Do you know retain cycle within closures and delegates? Do you know the difference between autoclosures, trailing closures, and @escaping closures? Do you know how to create custom operators. Do you truly understand the statement, "Swift is a protocol oriented programming language", and know how to use default protocols such as Equatable, Comparable, Sequence, and Iterator Protocol. Lastly, do you know the difference between normal and recursive enums? If you can't answer all of these questions, I recommend you to take this course and start learning with me.
Course Resources
Group Chat
Lecture Notes
Source Code
Explanations
Supporting Tutorials
Bob the Developer
Over thousands of daily visitors from students and iOS developers all around the world. Less than half a year, I became one of the top bloggers standing right next to big named brands. You don't have to question my quality of content. The growth and reputation speak for themselves.
p.s: Lecture notes, source code, explanations are available at any time. They are created, prepared, and edited by Bob the Developer.
Instructor Details
- 4.5 Rating
617 Reviews
Bob Lee
My name is Bob Lee originally from S.Korea. I'm a full-stack developer proficient in server-side Swift and iOS development. I focus on the fundamentals of iOS development which often developers neglect. I believe most problems can be solved by understanding the root. My teaching philosophy is to provide as many as practical problems within each lesson and then students are able to apply in their own projects. I love teaching because it is the only way I can have great impact on people's lives at this point of my life. I work towards building long-term relationships with the students over short-term sales.
More iOS Swift courses
iOS 12 Swift 4.2 - The Complete iOS App Development Bootcamp (2021)
4.9 (562 Reviews)
Provider: Udemy
Time: 55.4h
$109.99
Noob to App Store - iPhone Apps with Swift, SwiftUI & iOS 15 (2021)
4.9 (342 Reviews)
Provider: Udemy
Time: 7.8h
$69.99
Deep Dive iOS 27 & SwiftUI 6: 90-Hour Project-Based Course (2026)
4.8 (983 Reviews)
Provider: Udemy
Time: 88.7h
$79.99
The Swift Arcade Data Structures and Algorithms Bootcamp (2022)
4.8 (839 Reviews)
Provider: Udemy
Time: 7.2h
$84.99
How To Make An App For Beginners (iOS/Swift - 2019)
4.8 (658 Reviews)
Provider: Udemy
Time: 4.3h
Free
SwiftUI iOS13 Coffee Shop Application, Order Products Online (2020)
4.8 (158 Reviews)
Provider: Udemy
Time: 8.2h
$109.99
Reviews
By Alexander Ekberg on 1/20/2020
very good, pain in the ass to learn everything as the amount of information is incredible, take it easy throughout the course and give yourself time and you will learn. PS: there isn't really any "testing", you have to be able to try things out yourself, this is pretty much a mountain of information and description.
By Varun Rathi on 8/2/2019
The course is really good. Bob really teaches with great care and compassion. But there are some points i would like to mention that this course isnt actually advanced, infact its beginner to Medium level, If you are looking for real advanced stuff, there are some very few videos which provide very depth knowledge. Also, personal feedback- in some courses, bob writes code, deletes it, and corrects it. But in some videos it was may too often and it's kind of irritating when you are coding with the tutorials.
By Vu Duong on 10/2/2018
This course was great! There is no other course out there like it and I definitely recommend it! BUT make sure you spend at least a few months with the basics like Bob recommends if not you will not get through this course efficiently. Other than that this course IS A MUST and he notes all everything in a book for you to come back to reference at a later time if needed. Good job Bob! Please come back and create a course for UIKIT and RXSwift
By Sander de Groot on 5/17/2018
Bob is a likeable guy. The course does cover a lot of aspects of swift development and if you're just starting out, you can't go wrong with buying this course. Some issues I had with the course: 1. This course is probably better suited for beginner to intermediate swift developers, as it covers a lot of basic stuff. There are some concepts that might be a bit difficult to grasp later in the course though. 2. I find that the instructor often struggles to clearly explain why he does what he does, more often with the more advanced topics. This became kind of distracting as the course progressed. 3. Some things were explained incorrectly and wrong reasons were given for when to use certain things, which gave me the idea that the instructor either never used it before himself, or that he couldn't explain it correctly. 4. The last chapter about Test Driven Development was a joke and had nothing to do with TDD at all. A real shame, since writing tests should be part of every developer's toolkit.
By Steven Yi on 12/12/2017
The course is a great foundation for learning Swift. The reference materials - notes and Playground examples will be valuable resources to refer back to when I'm doing actual development. The more advanced topics were a little harder to follow and could use more refined real-world examples - but it is complex subject matter and less likely to be used all that often. I recommend taking this course to invest in a solid foundation of understanding Swift. It's a complex language with a lot of features - taking the time to go through the lessons will accelerate all other aspects of future iOS/Watch/Mac development.
By Antonija Pek on 10/29/2017
I really enjoy this course. To be honest, I never buy courses from people whose first language is not English, but I took a risk here and it was worth it. Sometimes the teacher can't find a word instantaneously, but he explains really good. The only bad side is a secondary video of him overlapping course video too much. Often you can't see what he is showing. For Bob: maybe make a circle around your face to get some extra space. We can see your mic and screen which is not useful in comparison with seeing print results and similar.
By Arvid Schneider on 8/22/2017
After watching the Swift 4 updates I had to edit my rating from 3 to 4 stars, because of overall presentation improvement, and professionality. It is still not 5 stars, because the way of explanation is sometimes just repeating the same answer several times, and the fast way of talking and stumbling over words can still be improved. Still one of the better courses out there, so its definitely worth it.
By Jhih-Sian Wu on 8/6/2017
This course is what I need. After finishing some other course for beginners, I still know a little about the Swift syntax, even I can build some apps. But I have no idea how to write code more elegant and efficient. And this is what the course can bring you, Bob is also a teacher with motivational. Really enjoy it.
By Malcolm Kumwenda on 6/12/2017
Most people trying to learn iOS won't see the value behind learning Swift first because they just want to push out cool looking apps as fast as possible. In this course Bob goes in-depth with the Swift language by using practical examples. I can truly say after going through most of the course I have never enrolled in such a detailed Swift course. This course has definitely increased my skills as an iOS developer.
By Byron Bacusoy on 5/19/2017
Learn Swift with Bob. I have completed the course and I can say that's exactly what happens here. You really learn Swift with Bob. The concepts that are carried out in this course can become quite dense, complex, maybe boring. But the way it’s been taught by Bob removes all this and makes you keep going. He explains you everything that happens while is coding, including what happens in the background. There is nothing that is not understood by the student. Even if you have doubts you can contact him very easy and solve the problem almost immediately. As a teacher is very motivating. It makes summaries at the end of each lesson as well each chapter and is always encouraging you to keep going. Very comfortable. One of the things that differentiates this course with any other that I made and, definitely, what I like most, is the documentation that Bob provides you on his website. Incredibly useful to follow the classes as well to come back any time to consult some specific concept. Even if you do not know anything about Swift I recommend starting here. Bob will provide you with the resources that you need to begin. I am waiting for her next course. Will be worth.
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 90 / 100






