Launch Your Career in iOS. Start building iOS apps in Swift in just four courses
About This Specialization
Master Swift, design elegant interactions, and create a fully functioning iOS app
This Specialization covers the fundamentals of iOS application development in the Swift programming language. You’ll learn to use development tools such as XCode, design interfaces and interactions and evaluate their usability, and integrate camera, photo, and location information to enhance your app. In the final Capstone Project, you’ll apply your skills to create a fully-functioning photo editing app for iPhone, iPad, and Apple Watch. A Mac computer is required for success in this course.
Follow the suggested order or choose your own.
Designed to help you practice and apply the skills you learn.
Highlight your new skills on your resume or LinkedIn.
Introduction To Swift Programming
- 5 weeks of study, 2-4 hours/week
- English, Korean, Chinese (Simplified)
About the Course
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. 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. Currently this course is taught using Swift 2. The team is aware of the release of Swift 3 and will be making edits to the course in time. Please be aware that at this time the instruction is entirely with Swift 2. 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. We hope you have fun on this new adventure.
WEEK 1Introductions and Getting StartedMeet 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.Video · Welcome to the Course and Intro to the ModuleReading · Meet and GreetReading · MIXITReading · Get Xcode – VERSION 7.3.1Video · Setting Up PlaygroundVideo · Overview of ProjectsReading · Follow Up ReadingQuiz · Set Up Course Quiz (For Grades)Video · DebuggingVideo · Setting Preferences
WEEK 2Swift BasicsIn 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.Video · Introduction to the ModuleVideo · Setting Up PlaygroundVideo · Simple Control FlowVideo · Arrays and DictionariesVideo · FunctionsVideo · 2D ArraysReading · Follow Up ReadingQuiz · Swift Basics Quiz
WEEK 3Advanced SwiftThis 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.Video · Introduction to the ModuleVideo · Optionals, Closures, and PropertiesReading · Follow Up ReadingQuiz · Advanced Swift QuizVideo · Value TypesVideo · Cheat Sheet
WEEK 4Image Processing In SwiftIn 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).Video · Introduction to the ModuleVideo · Introduction to Image ProcessingReading · Follow Up ReadingQuiz · Image Processing In Swift Quiz
WEEK 5Final Peer AssignmentYou 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!Reading · Using Xcode 7.3.1 for Peer AssignmentReading · InstaFilter ProcessorQuiz · InstaFilter Agreement (For Grade)Peer Review · InstaFilter Processor
OPTIONAL – Swift vs Objective COPTIONAL – 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.Video · Introduction to the ModuleVideo · Files, Naming and Class DifferencesVideo · Types and Initializers DifferencesVideo · Methods, Arrays and Control Flow DifferencesVideo · Properties, Getters and Computed Properties DifferencesVideo · Instantiating Objects and Calling Methods DifferencesReading · Follow Up Reading
iOS App Development Basics
About the Course
iOS App Development Basics, the second course in the iOS App Development with Swift specialization, expands your programming skills and applies them to authentic app development projects. The topics covered in this course include Xcode basics, Core iOS and Cocoa Touch frameworks, simple user interface creation, MVC Architecture and much more. With a focus on using Apple’s components to access sensors like camera, microphone and GPS, by the end of this course you will be able to create a basic App according to specified parameters and guidelines. Currently this course is taught using Swift 2. The team is aware of the release of Swift 3 and will be making edits to the course in time. Please be aware that at this time the instruction is entirely with Swift 2.
WEEK 1Welcome to iOS App Development BasicsReading · Welcome to iOS App Development BasicsVideo · Introducing MixitReading · Mixit App
WEEK 2Further Introduction to XCodeIn this unit we will describe basic functions of XCode and other tools. Within a guided tutorial process, create a simple app from beginning through to compilation that runs on a device.Video · Course 2 IntroductionReading · RGBAImage Class for Moving ForwardVideo · Running Code in an AppVideo · Creating InterfacesVideo · Using ButtonsQuiz · Further XCode Unit Quiz (For Grades)
WEEK 3UIKit and the Interface BuilderHere we dive into layouts and some user interface elements.Video · Intro to Auto LayoutVideo · Beginning Auto LayoutVideo · In-Depth Auto LayoutVideo · Intro to UI ElementsVideo · Basic UI ElementsVideo · Intro to UIStackViewVideo · UIStackViewQuiz · UIKit Unit Quiz (For Grades)
WEEK 4Advanced UI ConceptsHere we begin to really add elegance to our UIVideo · Modifying the View Hiearchy in CodeVideo · Basic AnimationsVideo · Tableviews and The Delegate PatternVideo · Intro to Camera and EmailingVideo · Action Sheet, Image Picker and Activity ControllerQuiz · Advanced UI Unit Quiz (For Grades)
WEEK 5Final Peer Assignment – App FunctionalityAt this point we have written the basic user interface for our image filtering app. In this assignment you will implement remaining functionality, and then extend and refine the UI. For bonus marks you can try implementing a more advanced filter selection UI using the UICollectionView API.Reading · Read First: Full InstructionsReading · Starter Code Download for Peer AssessmentPeer Review · App FunctionalityVideo · Course 2 Closing Remarks
App Design and Development for iOS
- 5 weeks of study, 1-2 hours/week
About the Course
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. Currently this course is taught using Swift 2. The team is aware of the release of Swift 3 and will be making edits to the course in time. Please be aware that at this time the instruction is entirely with Swift 2.
WEEK 1Welcome to App Design and Development for iOSGet oriented to the course.Reading · Welcome to the CourseReading · Demo Project File
User InteractivityIn this module you’ll learn how to design for your users’ interactionsVideo · ScrollViewsVideo · Gesture RecognizersVideo · Handling TouchesReading · Follow Up ReadingQuiz · User Interactivity Quiz (For Grades)
WEEK 2Multiple View Controllers & NavigationIn this module we explore different controllers for navigating your appVideo · SeguesVideo · Navigation ControllersVideo · Tab Bar ControllersReading · Follow Up ReadingQuiz · Multiple View Controllers & Navigation Quiz (For Grades)
WEEK 3Persistence & NetworkingLearn how to customize behavior to match a user’s preferences.Reading · .zip file to be used in the moduleVideo · Module IntroductionVideo · NSUserDefaultsVideo · NSURLSessionVideo · NSKeyedArchiverVideo · CoreDataReading · Follow Up ReadingQuiz · Persistence & Networking Quiz (For Grades)
WEEK 4Introduction to developing for watchOS 2In this module we give you some of the tools for designing for watchOS 2Video · Setting up a watch targetVideo · Basic concepts & architectureVideo · Creating UI for the watchVideo · Navigation on the watchReading · Follow Up ReadingQuiz · Introduction to developing for watchOS 2 Quiz (For Grades)
WEEK 5Introduction to Developing for tvOSIn this module you will gain insight into developing for tvOSVideo · Module IntroductionReading · .zip file to be used in the moduleVideo · Creating a tvOS ProjectVideo · Basic ConceptsVideo · Creating a UI for tvOSVideo · Understanding the Focus EngineReading · Follow Up ReadingQuiz · Introduction to Developing for tvOS Quiz (For Grades)
Peer AssessmentFinal Assessment for the CoursePeer Review · Functional App
Build Your Own iOS App
- 4 weeks of study, 3-5 hours/week
About the Capstone Project
In the Build Your Own iOS App capstone you will expand your repertoire of additional features and more advanced functions that may be implemented within the iOS environment. You will refine your development skill set and will apply your accumulated skills over the entire specialization series in an applied application development capstone project. This particular course is project based and structured around you building a high quality app as a capstone to the specialization. Currently this course is taught using Swift 2. The team is aware of the release of Swift 3 and will be making edits to the course in time. Please be aware that at this time the instruction is entirely with Swift 2.
WEEK 1Welcome to Build Your Own iOS AppIntroduction and course roadmap.Reading · About the courseVideo · Fun With SelfiesReading · Fun With Selfies: Module Download for Xcode 7.2Reading · Fun With Selfies: Module Download for Xcode 7.3Reading · Fun With Selfies: Module Download for Xcode 8.1/8.2Reading · Fun With Selfies: Module Download for Xcode 8.3Reading · Fun With Selfies: Xcode 7.3 & Xcode 8.2Reading · Fun with Selfies: Using the FaceTracker frameworkReading · Fun with Web ServicesReading · Fun with Web Services: Set up AccountsReading · Fun with Web Services: Starter CodeReading · Fun With Web Services: Practice PlaygroundVideo · Making Prototypes With Keynote
Facetracker LibraryGet the face detector library running and understand its notation/connectionsReading · Fun With Selfies: Facetracker File Download for Xcode 7.2Reading · Fun With Selfies: FaceTracker File Download for Xcode 7.3Reading · Fun With Selfies: FaceTracker File Download for Xcode 8.1/8.2Reading · Fun With Selfies: FaceTracker File Download for Xcode 8.3Reading · Fun With Selfies: An important note about using the FaceTracker frameworkReading · Fun With Selfies: Add Facetracker Framework VideoVideo · Fun With Selfies: Add Facetracker FrameworkVideo · Fun With Selfies: Facetracker view controller
WEEK 2Object Animation (Basic)Create a simple animation of an object based on the position of the faceVideo · Fun With Selfies: Basics of facetrackerReading · Fun with Web Services: API DocumentationVideo · Fun With Web Services: Making HTTP RequestsVideo · Example – App PrototypePeer Review · Peer Check-In: App Prototype
Animation Series (Complex)Create a series of animations based on the face location and associate these with a certain lookVideo · Fun With Selfies: Show tracked points
WEEK 3Final App SubmissionCreate a final app with the ability to take a photo and share the result. Final peer assessment.Video · Farewell from iOS App TeamReading · Final ProjectVideo · Final ExamplePeer Review · Final Project Submission
Try for free
Enroll to start your 7-day free trial
Unlimited access to all courses in the Specialization
Watch lectures, try assignments, participate in discussion forums, and more.
No penalties – simply cancel before the trial ends if it’s not right for you.
$49 USD per month to continue learning after trial ends.
Go as fast as you can – the faster you go, the more you save.
Certificate when you complete and after trial ends.
Share on your resume, LinkedIn, and CV.
The Edward S. Rogers Sr. Department of Electrical & Computer Engineering at the University of Toronto consistently ranks among the top in North America.
Established in 1827, the University of Toronto has one of the strongest research and teaching faculties in North America, presenting top students at all levels with an intellectual environment unmatched in depth and breadth on any other Canadian campus.