Advanced Programming in Swift (Coursera)

Offered by Meta,
Advanced Programming in Swift (Coursera)

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.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

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.
This course is part of the Meta iOS Developer Professional Certificate.

Syllabus

WEEK 1
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.

WEEK 2
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.

WEEK 3
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.

WEEK 4
Create a dinner menu
Implement the skills you've learned in this course to build your own list with filtering and sorting functionality

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Kotlin for Java Developers (Coursera) Coursera
JetBrains

Kotlin for Java Developers (Coursera)

The Kotlin programming language is a modern language that gives you more power for your everyday tasks. Kotlin is concise, safe, pragmatic, and focused on interoperability with Java code. It can be used almost everywhere Java is used today: for server-side development, Android apps, and much more. This course aims to share with you the power and the beauty of Kotlin.

Aug 17th 2026
5-12 Weeks
Introduction to Open Source Application Development (Coursera) Coursera
Illinois Tech

Introduction to Open Source Application Development (Coursera)

This course introduces basic concepts of systems programming using a modern open source language. You will learn to apply basic programming concepts toward solving problems, writing pseudocode, working with and effectively using basic data types, abstract data types, control structures, code modularization and arrays. You will learn to detect errors, work with variables and loops, and discover how functions, methods, and operators work with different data types. You will also be introduced to the object paradigm including classes, inheritance, and polymorphism.

Aug 17th 2026
5-12 Weeks
Computer Science: Algorithms, Theory, and Machines (Coursera) Coursera
Princeton University

Computer Science: Algorithms, Theory, and Machines (Coursera)

This course introduces the broader discipline of computer science to people having basic familiarity with Java programming. It covers the second half of our book Computer Science: An Interdisciplinary Approach (the first half is covered in our Coursera course Computer Science: Programming with a Purpose, to be released in the fall of 2018). Our intent is to demystify computation and to build awareness about the substantial intellectual underpinnings and rich history of the field of computer science.

Aug 10th 2026
5-12 Weeks
Applied Text Mining in Python (Coursera) Coursera
University of Michigan

Applied Text Mining in Python (Coursera)

This course will introduce the learner to text mining and text manipulation basics. The course begins with an understanding of how text is handled by python, the structure of text both to the machine and to humans, and an overview of the nltk framework for manipulating text. The second week focuses on common manipulation needs, including regular expressions (searching for text), cleaning text, and preparing text for use by machine learning processes. The third week will apply basic natural language processing methods to text, and demonstrate how text classification is accomplished. The final week will explore more advanced methods for detecting the topics in documents and grouping them by similarity (topic modelling).

Aug 17th 2026
4 Weeks
Computer Science: Programming with a Purpose (Coursera) Coursera
Princeton University

Computer Science: Programming with a Purpose (Coursera)

The basis for education in the last millennium was “reading, writing, and arithmetic;” now it is reading, writing, and computing. Learning to program is an essential part of the education of every student, not just in the sciences and engineering, but in the arts, social sciences, and humanities, as well. Beyond direct applications, it is the first step in understanding the nature of computer science’s undeniable impact on the modern world.

Aug 10th 2026
5-12 Weeks
Programming Languages, Part A (Coursera) Coursera
University of Washington

Programming Languages, Part A (Coursera)

This course is an introduction to the basic concepts of programming languages, with a strong emphasis on functional programming. The course uses the languages ML, Racket, and Ruby as vehicles for teaching the concepts, but the real intent is to teach enough about how any language “fits together” to make you more effective programming in any language -- and in learning new ones.

Aug 10th 2026
5-12 Weeks
Programming and Application Foundations (Coursera) Coursera
Illinois Tech

Programming and Application Foundations (Coursera)

This course introduces the students to the creation and deployment of modern, standards-compliant web pages written in HTML, CSS, and JavaScript in the context of the client-server architecture of the web. The course also covers the fundamentals of programming in a modern programming language, basic data modeling, database design, implementation, and administration of single-user and shared multi-user database applications using a contemporary relational database management system.

Aug 17th 2026
5-12 Weeks