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

The Raspberry Pi Platform and Python Programming for the Raspberry Pi (Coursera) Coursera
University of California, Irvine

The Raspberry Pi Platform and Python Programming for the Raspberry Pi (Coursera)

The Raspberry Pi is a small, affordable single-board computer that you will use to design and develop fun and practical IoT devices while learning programming and computer hardware. In addition, you will learn how to set up up the Raspberry Pi environment, get a Linux operating system running, and write and execute some basic Python code on the Raspberry Pi. You will also learn how to use Python-based IDE (integrated development environments) for the Raspberry Pi and how to trace and debug Python code on the device.

Sep 14th 2026
4 Weeks
Foundations of Objective-C App Development (Coursera) Coursera
University of California, Irvine

Foundations of Objective-C App Development (Coursera)

An introduction to the Objective-C programming language. This will prepare you for more extensive iOS app development and build a foundation for advanced iOS development topics. Objective-C programming requires a Mac laptop or desktop computer. An iOS device is optional if the learner is willing to working exclusively with the simulator. Some learners have been able to work with an OS X virtual machine on Windows, but explaining how to do that is beyond the scope of this course.

Sep 14th 2026
4 Weeks
Introduction and Programming with IoT Boards (Coursera) Coursera
Pohang University of Science and Technology - POSTECH

Introduction and Programming with IoT Boards (Coursera)

Internet of Things (IoT) is an emerging area of information and communications technology (ICT) involving many disciplines of computer science and engineering including sensors/actuators, communications networking, server platforms, data analytics and smart applications. IoT is considered to be an essential part of the 4th Industrial Revolution along with AI and Big Data. This course will be very useful to senior undergraduate and graduate students as well as engineers who are working in the industry.

Sep 28th 2026
5-12 Weeks
Effective Programming in Scala (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Effective Programming in Scala (Coursera)

Scala is an expressive, versatile, and safe programming language. In this course, you will learn how to get the most out of Scala to solve common programming tasks such as modeling business domains, breaking down complex problems into simpler problems, manipulating data, or running parallel tasks. Along the journey, you will also learn the best practices for writing high-quality code that scales to large applications, how to handle errors, how to write tests, and how to leverage a productive development environment.

Sep 28th 2026
5-12 Weeks
Python Scripting: Dates, Classes and Collections (Coursera) Coursera
LearnQuest

Python Scripting: Dates, Classes and Collections (Coursera)

This course is the second course in a series that aims to prepare you for a role working as a programmer. In this course, you will be introduced to the four main concepts in programming: Advanced String Operations and Dates, Modeling Classes, Development of Classes and Collections. Labs will allow the students to apply the material in the lectures in simple computer programs designed to re-enforce the material in the lesson.

Sep 14th 2026
4 Weeks
Programming Languages, Part C (Coursera) Coursera
University of Washington

Programming Languages, Part C (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.

Sep 21st 2026
3 Weeks