Get started with advanced programming in Swift by learning about the advanced custom data types that act as general-purpose programming blocks for your code.
Code organization
Discover how to inherit properties and methods with subclassing and explore access control, typecasting and polymorphism, protocols and delegation to better organize and optimize your code.
Error handling, functional programming and testing
Learn how to throw and handle errors with code, explore how to harness functional programming strategies, and discover unit testing in Swift.
Create a dinner menu
Implement the skills you've learned in this course to build your own list with filtering and sorting functionality.