We may earn an affiliate commission when you visit our partners.
Course image
Taught by Meta Staff

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.

Read more

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.

Enroll now

What's inside

Syllabus

Advanced custom data types
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.
Read more
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.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Taught by the tech staff of a global leader in technology, giving learners access to industry relevant knowledge and applicable skills in the course
Delves deeply into core Swift programming concepts, helping learners to improve their Swift skills
Builds on basic programming knowledge, helping learners with foundational skills to expand their learning
Requires learners to have some knowledge of the programming fundamentals of Swift and SwiftUI, which could be a potential barrier to entry for complete beginners

Save this course

Save Advanced Programming in Swift to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Advanced Programming in Swift with these activities:
Refresher on Swift Fundamentals
Bolster your understanding of Swift's basic syntax, data types, and control flow to prepare for advanced concepts.
Browse courses on Swift
Show steps
  • Review online tutorials and documentation on Swift basics
  • Complete practice exercises to reinforce your understanding
  • Build a simple Swift app to apply your knowledge
Review Swift fundamentals
Refresh your understanding of Swift's core concepts before starting the course.
Show steps
  • Review your Swift notes or online resources.
  • Try out some basic Swift code examples.
Read "The Swift Programming Language" by Apple Inc.
Review the basics of the Swift programming language by reading the official documentation.
View Melania on Amazon
Show steps
  • Read the first three chapters of the book.
  • Try out the code examples in the book.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Functional Programming in Swift
Delve into functional programming concepts and learn how to apply them in Swift, enhancing your code's efficiency and clarity.
Browse courses on Functional Programming
Show steps
  • Follow online tutorials or watch videos on functional programming in Swift
  • Practice implementing functional programming techniques in your own code
  • Discuss your findings with peers or mentors
Swift Coding Challenges
Sharpen your Swift coding skills by solving challenging exercises and puzzles.
Browse courses on iOS Development
Show steps
  • Find online coding challenges or use platforms like LeetCode
  • Attempt to solve the challenges on your own
  • Review solutions and learn from your mistakes
Custom Data Type Playground
Expand your understanding of custom data types by creating your own enumerations, sets, and structs.
Browse courses on Custom Data Types
Show steps
  • Design and define your custom data types
  • Implement them in Swift code
  • Test and refine your data types in a playground
Build a simple iOS app
Apply your Swift skills by building a simple iOS app.
Browse courses on iOS App Development
Show steps
  • Design the app's user interface.
  • Implement the app's functionality using Swift.
  • Test and debug the app.

Career center

Learners who complete Advanced Programming in Swift will develop knowledge and skills that may be useful to these careers:
iOS Developer
iOS Developers are responsible for designing, developing, and maintaining applications for Apple's iOS operating system. They use programming languages such as Swift and Objective-C to create apps that can be used on iPhones, iPads, and other Apple devices. Advanced Programming in Swift provides a solid foundation for aspiring iOS Developers by teaching them advanced custom data types, code organization best practices, error handling, and functional programming. These concepts are essential for building robust and efficient iOS applications. Additionally, the course covers unit testing, which is a critical skill for ensuring that applications function as intended.
Software Engineer
Software Engineers apply engineering principles to the design, development, deployment, and maintenance of software systems. They use programming languages such as Swift, Java, and Python to create software that meets the needs of users. Advanced Programming in Swift can be useful for Software Engineers who want to specialize in iOS development or who want to learn more about advanced programming concepts. The course covers topics such as error handling, functional programming, and unit testing, which are essential for building high-quality software systems.
Mobile Application Developer
Mobile Application Developers design, develop, and maintain applications for mobile devices such as smartphones and tablets. They use programming languages such as Swift, Java, and Kotlin to create apps that can be used on iOS, Android, and other mobile operating systems. Advanced Programming in Swift is a valuable resource for Mobile Application Developers who want to learn more about advanced programming concepts and best practices. The course covers topics such as code organization, error handling, functional programming, and unit testing, which are essential for building high-quality mobile applications.
Full-Stack Developer
Full-Stack Developers are responsible for the entire software development process, from design and development to deployment and maintenance. They use a variety of programming languages and technologies to create web applications, mobile applications, and other software systems. Advanced Programming in Swift may be useful for Full-Stack Developers who want to learn more about advanced programming concepts and best practices. The course covers topics such as error handling, functional programming, and unit testing, which are essential for building high-quality software systems.
Web Developer
Web Developers design, develop, and maintain websites and web applications. They use programming languages such as HTML, CSS, and JavaScript to create websites that can be accessed on the internet. Advanced Programming in Swift may be useful for Web Developers who want to learn more about advanced programming concepts and best practices. The course covers topics such as error handling, functional programming, and unit testing, which are essential for building high-quality web applications.
Computer Scientist
Computer Scientists conduct research in the field of computer science. They use编程languages such as Swift, Java, and Python to develop new algorithms and theories that can be used to solve problems in a variety of fields. Advanced Programming in Swift may be useful for Computer Scientists who want to learn more about advanced programming concepts and best practices. The course covers topics such as error handling, functional programming, and unit testing, which are essential for building high-quality software systems.
Software Architect
Software Architects design and develop the overall architecture of software systems. They use programming languages such as Swift, Java, and Python to create software systems that are scalable, reliable, and secure. Advanced Programming in Swift may be useful for Software Architects who want to learn more about advanced programming concepts and best practices. The course covers topics such as error handling, functional programming, and unit testing, which are essential for building high-quality software systems.
Technical Lead
Technical Leads lead teams of software engineers and developers. They use programming languages such as Swift, Java, and Python to develop software systems and applications. Advanced Programming in Swift may be useful for Technical Leads who want to learn more about advanced programming concepts and best practices. The course covers topics such as error handling, functional programming, and unit testing, which are essential for building high-quality software systems.
Data Scientist
Data Scientists use scientific methods and programming languages to extract insights from data. They use programming languages such as Python, R, and SAS to analyze data and build models that can be used to make predictions and decisions. Advanced Programming in Swift may be useful for Data Scientists who want to learn more about programming concepts and best practices. The course covers topics such as error handling, functional programming, and unit testing, which are essential for building high-quality data science applications.
Product Manager
Product Managers are responsible for the planning, development, and launch of new products. They work with engineers, designers, and marketers to create products that meet the needs of users. Advanced Programming in Swift may be useful for Product Managers who want to learn more about the technical aspects of product development. The course covers topics such as error handling, functional programming, and unit testing, which are essential for building high-quality software products.
Database Administrator
Database Administrators manage and maintain databases. They work with database software to create, modify, and delete databases and tables. Advanced Programming in Swift may be useful for Database Administrators who want to learn more about the technical aspects of software development. The course covers topics such as error handling, functional programming, and unit testing, which are essential for building high-quality software systems.
Network Administrator
Network Administrators manage and maintain computer networks. They work with network hardware and software to create, modify, and delete networks and network devices. Advanced Programming in Swift may be useful for Network Administrators who want to learn more about the technical aspects of software development. The course covers topics such as error handling, functional programming, and unit testing, which are essential for building high-quality software systems.
Project Manager
Project Managers plan, execute, and close projects. They work with stakeholders to define project goals, develop project plans, and track project progress. Advanced Programming in Swift may be useful for Project Managers who want to learn more about the technical aspects of software development. The course covers topics such as error handling, functional programming, and unit testing, which are essential for building high-quality software systems.
IT Manager
IT Managers plan, implement, and manage information technology systems. They work with IT staff to develop and implement IT policies and procedures. Advanced Programming in Swift may be useful for IT Managers who want to learn more about the technical aspects of software development. The course covers topics such as error handling, functional programming, and unit testing, which are essential for building high-quality software systems.
Systems Analyst
Systems Analysts analyze and design business systems. They work with stakeholders to identify business needs and develop solutions that meet those needs. Advanced Programming in Swift may be useful for Systems Analysts who want to learn more about the technical aspects of software development. The course covers topics such as error handling, functional programming, and unit testing, which are essential for building high-quality software systems.

Reading list

We've selected ten books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Advanced Programming in Swift.
Provides timeless advice on software development management. It valuable resource for learners who want to understand the challenges and risks of software development and how to overcome them.
Is the definitive guide to design patterns, which are reusable solutions to common software design problems. It valuable resource for learners who want to improve the quality and maintainability of their Swift code.
Provides a comprehensive guide to domain-driven design, an approach to software development that focuses on the business domain. It valuable resource for learners who want to build software that is closely aligned with the needs of their users.
Provides a comprehensive guide to agile software development, a set of principles and practices that help teams deliver high-quality software quickly and efficiently. It valuable resource for learners who want to improve their software development process.
Provides a comprehensive overview of advanced Swift concepts, covering topics such as generics, protocols, and concurrency. It valuable resource for learners who want to deepen their understanding of the Swift programming language.
Introduces functional programming concepts in the context of Swift. It valuable resource for learners who want to improve the readability, maintainability, and testability of their Swift code.
Provides a fun and engaging introduction to design patterns. It valuable resource for learners who want to understand the concepts and benefits of design patterns without getting bogged down in technical details.
Provides a comprehensive guide to Objective-C, the programming language that underlies Swift. It valuable resource for learners who want to understand the foundation of Swift and its relationship to Objective-C.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Advanced Programming in Swift.
Functional Programming in Rust 2021
Most relevant
Scala 2 Methods and Functions
Most relevant
Programming Fundamentals in Swift
Most relevant
Thinking Functionally in Scala 2
Most relevant
Concurrent Programming with Grand Central Dispatch in...
Most relevant
Introduction to Programming in Swift 5
Most relevant
App Design and Development for iOS
Most relevant
Learn Swift 4 with Bob: The Intermediate to Advanced Swift
Functional Programming with C#
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser