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

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.

Oct 26th 2026
5-12 Weeks
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.

Oct 12th 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.

Oct 26th 2026
5-12 Weeks
Games, Sensors and Media (Coursera) Coursera
University of California, Irvine

Games, Sensors and Media (Coursera)

You will learn to make fluid digital interactive experiences that are suitable for gaming and use the advanced sensor hardware built into the iPhone and iPad. This includes drawing 2D graphics, playing sounds and music, integrating with Game Center, the iOS physics engine and detecting device orientation and location.

Oct 26th 2026
4 Weeks
Introduction to R Programming for Data Science (Coursera) Coursera
IBM

Introduction to R Programming for Data Science (Coursera)

When working in the data science field you will definitely become acquainted with the R language and the role it plays in data analysis. This course introduces you to the basics of the R language such as data types, techniques for manipulation, and how to implement fundamental programming tasks. You will begin the process of understanding common data structures, programming fundamentals and how to manipulate data all with the help of the R programming language.

Oct 12th 2026
5-12 Weeks
Functions, Methods, and Interfaces in Go (Coursera) Coursera
University of California, Irvine

Functions, Methods, and Interfaces in Go (Coursera)

Continue your exploration of the Go programming language as you learn about functions, methods, and interfaces. Topics include the implementation of functions, function types, object-orientation in Go, methods, and class instantiation. As with the first course in this series, you’ll have an opportunity to create your own Go applications so you can practice what you’re learning.

Oct 12th 2026
4 Weeks
App Design and Development for iOS (Coursera) Coursera
University of Toronto

App Design and Development for iOS (Coursera)

In App Design and Development for iOS, the third course of the iOS App Development with Swift specialization, you will be developing foundational programming skills to support graphical element presentation and data manipulation from basic functions through to advanced processing. You will continue to build your skill set to use and apply core graphics, touch handling and gestures, animations and transitions, alerts and actions as well as advanced algorithms, threading and more. By the end of this course you will be able to develop a more advanced, fully functioning app.

Oct 12th 2026
5-12 Weeks
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.

Oct 12th 2026
4 Weeks
Introduction to Programming with MATLAB (Coursera) Coursera
Vanderbilt University

Introduction to Programming with MATLAB (Coursera)

This course teaches computer programming to those with little to no previous experience. It uses the programming system and language called MATLAB to do so because it is easy to learn, versatile and very useful for engineers and other professionals. MATLAB is a special-purpose language that is an excellent choice for writing moderate-size programs that solve problems involving the manipulation of numbers.

Oct 12th 2026
5-12 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.

Oct 19th 2026
3 Weeks
Miracles of Human Language: An Introduction to Linguistics (Coursera) Coursera
Leiden University,Meertens Instituut - KNAW

Miracles of Human Language: An Introduction to Linguistics (Coursera)

Everywhere, every day, everybody uses language. There is no human society, no matter how small or how isolated, which does not employ a language that is rich and diverse. This course introduces you to linguistics, featuring interviews with well-known linguists and with speakers of many different languages. Join us to explore the miracles of human language!

Oct 12th 2026
5-12 Weeks