- Level Professional
- المدة 19 ساعات hours
- الطبع بواسطة Meta
-
Offered by
عن
At the heart of any remarkable iOS applies a thorough understanding of the Swift programming language. Embark on a journey to expand your knowledge and skillset with Advanced Programming in Swift. Discover Swift’s advanced custom data types, explore code organization best practices, tap into error handling to improve your program’s performance, and foster an understanding of programming the functional way with higher-order functions like map, filter and reduce. Then, to further understand the inner workings of successful app development, learn how to implement unit tests to ensure that your applications function as intended. By the end of this course, you will practice creating the functionality you often encounter in apps with large lists of items. You’ll implement advanced programming concepts including higher-order functions to process collections and build your own list in Xcode. Upon completion of this course, you will be able to: • Create custom data types including enumerations and sets. • Organize and optimize your code by using subclassing and inheritance, typecasting and polymorphism. • Discover how to set restrictions in your code using access control. • Create blueprints for your code with optional and required protocols. • Give control and pass responsibilities from one instance to another with delegation. • Employ appropriate error handling approaches, implement throwable functions and catch errors. • Describe what recursion is and identify common use cases. • Implement higher-order functions like map, filter and reduce. • Ensure your applications perform as expected by implementing unit tests. This course is ideal for intermediate learners who would like to prepare themselves for a career in iOS development. To succeed in this course, you need a foundational understanding of the programming fundamentals of Swift and SwiftUI.الوحدات
Course Introduction
1
Discussions
- What do you hope to learn?
3
Videos
- Introduction to the course
- Recap: Programming fundamentals in Swift
- Set up an iOS Project with Swift
4
Readings
- Course syllabus
- How to be successful in this course
- How to complete exercises
- Additional resources
Enumerations
2
Assignment
- Self review: Work with raw and associated values
- Knowledge check: Enumerations
1
Videos
- Introduction to enumerations
4
Readings
- Enumerations with raw and associated values examples
- Exercise: Work with raw and associated values
- Solution: Work with raw and associated values
- Additional resources
What are sets?
3
Assignment
- Self review: Create a set
- Knowledge check: Sets
- Module quiz: Advanced data types
2
Videos
- What are sets?
- Module summary: Advanced data types
4
Readings
- Store unique items in sets
- Exercise: Create a set
- Solution: Create a set
- Additional resources
Inheritance and subclassing
2
Assignment
- Self review: Inheritance
- Knowledge check: Inheritance and subclassing
3
Videos
- What are subclasses?
- Introduction to typecasting
- Working with polymorphism
4
Readings
- Access control
- Exercise: Inheritance
- Solution: Inheritance
- Additional resources
Basic protocols
2
Assignment
- Self review: Implement protocols with classes
- Knowledge check: Basic protocols
3
Videos
- What is a protocol in Swift?
- Create and implement your own protocols
- Implement required and optional protocol methods
4
Readings
- Protocol examples
- Exercise: Implement protocols with classes
- Solution: Implement protocols with classes
- Additional resources
Delegation
3
Assignment
- Self review: Implement a delegate
- Knowledge Check: Delegation
- Module quiz: Code organization
3
Videos
- What is delegation?
- Delegation in action
- Module summary: Code organization
3
Readings
- Exercise: Implement a delegate
- Solution: Implement a delegate
- Additional resources
Error handling
2
Assignment
- Self review: Error handling
- Knowledge check: Error handling
2
Videos
- Errors and throwable functions
- Error handling and catching errors
5
Readings
- Choosing an error handling approach
- Exercise: Error handling
- Solution: Error handling
- Implement final actions with defer
- Additional resources
Recursion and functional programming
2
Assignment
- Self review: Use map, filter and reduce to calculate values
- Knowledge check: Recursion and functional programming
3
Videos
- Introduction to recursion
- What is functional programming?
- Map, filter and reduce
6
Readings
- Common recursion examples
- Map, filter and reduce examples
- Exercise: Use map, filter and reduce to calculate values
- Solution: Use map, filter and reduce to calculate values
- ForEach
- Additional resources
Testing
3
Assignment
- Self review: Implement a unit test
- Knowledge check: Testing
- Module quiz: Error handling, functional programming and testing
4
Videos
- What is testing?
- Types of testing
- Unit testing in Swift
- Module summary: Error handling, functional programming and testing
5
Readings
- Using fakes
- Using mocks
- Exercise: Implement a unit test
- Solution: Implement a unit test
- Additional resources
Final project
1
Assignment
- Final graded quiz: Advanced Programming in Swift
1
Peer Review
- Little Lemon dinner menu
1
Videos
- Course recap for Advanced Programming in Swift
3
Readings
- About the final project
- Exercise: Little Lemon dinner menu
- Solution: Little Lemon dinner menu
Course wrap up
1
Discussions
- Reflect on learning
1
Videos
- Congratulations, you have completed Advanced Programming in Swift!
1
Readings
- Next steps
Auto Summary
Embark on a comprehensive journey with "Advanced Programming in Swift," designed for intermediate learners aiming to excel in iOS development. This professional-level course by Coursera delves into advanced Swift programming concepts, including custom data types, code organization, error handling, and higher-order functions like map, filter, and reduce. Learn to implement unit tests to ensure app functionality and explore essential topics such as access control, delegation, and recursion. With a duration of 1140 minutes, this course is ideal for those with a foundational understanding of Swift, preparing you for a successful career in iOS development. Subscription options include a Starter plan.

Taught by Meta Staff