Introduction To Swift Programming (Coursera)

Offered by University of Toronto,
Introduction To Swift Programming (Coursera)

Introduction to Swift Programming is the first course in a four part specialization series that will provide you with the tools and skills necessary to develop an iOS App from scratch. By the end of this first course you will be able to demonstrate intermediate application of programming in Swift, the powerful new programming language for iOS. Guided by best practices you will become proficient with syntax, object oriented principles, memory management, functional concepts and more in programming with Swift.

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

This course is unique in its dedication to teaching Swift programming. With new features and capabilities you will be at the forefront of writing iOS apps. Please note that to take part in this course (and the full specialization) it is required to have a Mac computer and, though not required, ideally an iPhone, iPod, or an iPad. NOTE: This course has been designed and tested (and content delivered) on a Mac. While we are aware of hacks and workarounds for running Mac in a virtual machine on windows we do not recommended a PC.

Course 1 of 4 in the iOS App Development with Swift Specialization

Syllabus

WEEK 1
Introductions and Getting Started
Meet the teaching staff, get oriented to the platform, set up your work environment and get ready to program! We wish to remind you from the start that to take part in this course (and the full specialization) it is required to have Mac computer and, though not required, ideally an iPhone, iPod, or an iPad. This course has been designed and tested (and content delivered) on a Mac. While we are aware of hacks and workarounds for running OSX in a virtual machine on Windows, we do not recommended a PC. To find out of this specialization is for you, download the SHIFT Photo Editing app at http://beautifulapps.mobi and try it out. If you take this specialization, then you will learn to create an app similar to SHIFT.

WEEK 2
Swift Basics
In this module we will introduce the basic concepts of Swift. To begin you will learn variable declaration, different types, and program control mechanisms. Here we start to build the foundation of iOS app development with Swift. We hope you enjoy the journey.

WEEK 3
Advanced Swift
This unit continues with further exploration of swift programming. Building on our current skill set we will work with Classes, Structs, Enums, Protocols, and object-oriented principles.

WEEK 4
Image Processing In Swift
In this module we will wrap up with lessons targeting advanced examples in Swift. We’ll look at a detailed example of an image filter which will allow us to manipulate pixels and create filter effects (such as change contrast).

WEEK 5
Final Peer Assignment
You did it! You've come to the end of this first course. We sum up with a capstone peer assessment assignment where you will create your own filter and demonstrate what you've learned over these weeks. Please read the instructions carefully, and have fun!
Optional - Swift vs Objective C
Optional - In this module we compare some of the differences between Swift and Objective C programming languages. Join us as we migrate those of you familiar with Objective C to the world of Swift. Hopefully you find programming in Swift fast, easy and interactive.

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

Related Courses

Concurrency in Go (Coursera) Coursera
University of California, Irvine

Concurrency in Go (Coursera)

Learn how to implement concurrent programming in Go. Explore the roles of channels and goroutines in implementing concurrency. Topics include writing goroutines and implementing channels for communications between goroutines. Course activities will allow you to exercise Go’s capabilities for concurrent programming by developing several example programs.

Aug 31st 2026
4 Weeks
COBOL Programming with VSCode (Coursera) Coursera
IBM

COBOL Programming with VSCode (Coursera)

Professor Tak Auyeung of American River College, said it beautifully, “A programming language is not a fashion statement” it is used for a purpose. Whether it is to add new features, modify logic, create APIs to integrate it into other applications, or implement modern development practices, businesses around the world need application developers who know COBOL.

Sep 14th 2026
3 Weeks
Networking and Security in iOS Applications (Coursera) Coursera
University of California, Irvine

Networking and Security in iOS Applications (Coursera)

You will learn to extend your knowledge of making iOS apps so that they can securely interact with web services and receive push notifications. You'll learn how to store data securely on a device using Core Data. You’ll also learn to securely deploy apps to the App Store and beta users over-the-air. The format of the course is through a series of code tutorials. We will walk you through the creation of several apps that you can keep as a personal app toolbox. When you make your own apps after this course, you can bring in these capabilities as needed. When necessary we pop out of the code tutorials to talk about concepts at a higher level so that what you are programming makes sense.

Aug 31st 2026
4 Weeks
Learn Imba (Coursera) Coursera
Scrimba

Learn Imba (Coursera)

In this class, you'll dive into Imba, the programming language used to build scrimba.com. Imba, a compile-to-JavaScript language, packs a punch with nifty features for whipping up web apps, including built-in tags and styles. We'll cover the ABCs of Imba syntax and work on creating a Dopamine Box app. By the finish line, you'll be armed with the skills to construct your very own web app UI using Imba.

Sep 14th 2026
1 Week
Intermediate Object-Oriented Programming for Unity Games (Coursera) Coursera
University of Colorado System

Intermediate Object-Oriented Programming for Unity Games (Coursera)

This course is the third course in the specialization about learning how to develop video games using the C# programming language and the Unity game engine on Windows or Mac. Why use C# and Unity instead of some other language and game engine? Well, C# is a really good language for learning how to program and then programming professionally. Also, the Unity game engine is very popular with indie game developers; Unity games were downloaded 16,000,000,000 times in 2016! Finally, C# is one of the programming languages you can use in the Unity environment.

Aug 31st 2026
4 Weeks
Code Yourself! An Introduction to Programming (Coursera) Coursera
University of Edinburgh,Universidad ORT Uruguay

Code Yourself! An Introduction to Programming (Coursera)

Have you ever wished you knew how to program, but had no idea where to start from? This course will teach you how to program in Scratch, an easy to use visual programming language. More importantly, it will introduce you to the fundamental principles of computing and it will help you think like a software engineer.

Aug 31st 2026
5-12 Weeks
Matlab and Simulink Basics (Coursera) Coursera
Starweaver

Matlab and Simulink Basics (Coursera)

Matlab and Simulink Basics is a meticulously crafted course offering a comprehensive introduction to Matlab's programming environment and Simulink's modeling capabilities. This course is tailored for individuals keen on bolstering their skills in these indispensable tools for engineering, science, and research domains. From laying down foundational concepts to delving into practical applications, participants will embark on a journey that hones their abilities to manipulate data, design models, and interpret results with Matlab and Simulink.

Sep 14th 2026
4 Weeks
Introduction to Embedded Machine Learning (Coursera) Coursera
Edge Impulse

Introduction to Embedded Machine Learning (Coursera)

Machine learning allows us to teach computers to make predictions and decisions based on data and learn from experiences. In recent years, incredible optimizations have been made to machine learning algorithms, software frameworks, and embedded hardware. Thanks to this, running deep neural networks and other complex machine learning algorithms is possible on low-power devices like microcontrollers. This course will give you a broad overview of how machine learning works, how to train neural networks, and how to deploy those networks to microcontrollers.

Sep 13th 2026
3 Weeks
Julia Scientific Programming (Coursera) Coursera
University of Cape Town

Julia Scientific Programming (Coursera)

This four-module course introduces users to Julia as a first language. Julia is a high-level, high-performance dynamic programming language developed specifically for scientific computing. This language will be particularly useful for applications in physics, chemistry, astronomy, engineering, data science, bioinformatics and many more.

Sep 14th 2026
4 Weeks
Parallel programming (Scala 2 version) (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Parallel programming (Scala 2 version) (Coursera)

With every smartphone and computer now boasting multiple processors, the use of functional ideas to facilitate parallel programming is becoming increasingly widespread. In this course, you'll learn the fundamentals of parallel programming, from task parallelism to data parallelism. In particular, you'll see how many familiar ideas from functional programming map perfectly to to the data parallel paradigm. We'll start the nuts and bolts how to effectively parallelize familiar collections operations, and we'll build up to parallel collections, a production-ready data parallel collections library available in the Scala standard library.

Sep 7th 2026
4 Weeks