UIKit Fundamentals (Udacity)

Offered by Udacity,
UIKit Fundamentals (Udacity)

Learn the iOS User Interface Library. In this course, you will build a series of simple apps to become more comfortable with the UIKit framework and master its most widely used components. This framework constitutes the building blocks of the user interface for all iOS apps, and is crucial for any iOS Developer to be intimately familiar with.

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

You’ve built your first iOS app. It was fun, but you might not be comfortable creating apps from scratch. After completing this course, you’ll have the skills you will need to create the UI elements for almost any app. During this course, you’ll learn everything you need to know about UIKit, from buttons to table views. To become fluent with UIKit requires practice, and this course will provide you with opportunities to create small working apps to build your skill set.

What You Will Learn

Lesson 1
How to Use Outlets and Actions

  • Connect outlets and actions first using only code and a second time using storyboard.
  • Use core UIKit classes like UIButton
  • UILabel and UISwitch.
  • Practice debugging problems with IBOutlets and IBActions.

Lesson 2
Learn to Present Views and Segue Between Views

  • See how Apple distinguishes between modal presentation and navigation.
  • Learn how to present views modally.
  • Use powerful UIKit classes like UIImagePickerController
  • UIAlertController and UIActivityViewController.

Lesson 3
What is the Delegate Pattern and how do you use it?

  • Learn how delegates make important connections between the model view and controller.
  • Implement UIKit components that make use of the delegate pattern
  • UITextField and UITextFieldDelegate.
  • Demonstrate your understanding by building a series of challenge apps.

Lesson 4
Build V1.0 of the Meme Me App

  • Enable the user to choose an image using UIImagePickerController and UIImagePickerControllerDelegate.
  • Adjust the keyboard so that it does not obscure UI elements.
  • Generate a meme and share it using a UIActivityView.

Lesson 5
Build Tables using the UITableView class

  • Learn the essential UITableViewDelegate and UITableViewDatasource methods.
  • Explore the code for several apps with tables and then implement your own UITableView.
  • Practice manipulating table cells.

Lesson 6
iOS App Navigation

  • Learn how iOS uses navigation stacks to manage multiple views in an app.
  • Create the navigation that enables a user to tap a row of a table and view the details of an item.
  • Learn navigation classes like UINavigationControll and UIBarButtonItem.

Lesson 7
Complete the Meme Me App

  • Take Meme Me to the next level with this final version of the app.
  • Learn a simple way to share data across classes using the AppDelegate.
  • Use UICollectionView to display the app's memes in a grid and UITabViewController to toggle between meme layouts.

Prerequisites and Requirements
This course assumes prior iOS experience. Specifically, it assumes that you have built at least one single-view app, and can use Xcode to modify swift files and storyboard scenes. You should know what a View Controller is, and know how to create outlets and actions. You should also have basic familiarity of the Swift programming language.
The course also assumes basic familiarity with Git. Specifically, you will need to be able to clone git repositories and checkout branches specific to each lesson.
You will need access to a Mac computer running OS X 10.10 or later. However, you do not need an iPad or iPhone to complete the activities. All exercises can be completed using the iOS simulator built into Xcode.

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

Related Courses

Building Web Applications in PHP (Coursera) Coursera
University of Michigan

Building Web Applications in PHP (Coursera)

In this course, you'll explore the basic structure of a web application, and how a web browser interacts with a web server. You'll be introduced to the request/response cycle, including GET/POST/Redirect. You'll also gain an introductory understanding of Hypertext Markup Language (HTML), as well as the basic syntax and data structures of the PHP language, variables, logic, iteration, arrays, error handling, and superglobal variables, among other elements.

Oct 12th 2026
5-12 Weeks
iOS Interview Prep (Udacity) Udacity
Udacity

iOS Interview Prep (Udacity)

Confidently take on the tech interview. This course is an excellent way to prepare for technical interviews. You’ll experience a mock interview, and review detailed analysis on how to field key industry questions. You’ll review common iOS Developer interview topics ranging from notifications and delegates to the model view controller, and learn best practices for behavioral questions and whiteboard problems.

Self Paced
Self-Paced
Objective-C for Swift Developers (Udacity) Udacity
Udacity

Objective-C for Swift Developers (Udacity)

This course is designed to teach students how to understand and identify the differences between the Objective-C and Swift programming languages, and especially, how to rewrite from the former to the latter. Understanding communications between the two languages—called "interoperability"—is becoming more and more important for developers, particularly as we prepare for the arrival of Swift 3.0.

Self Paced
Self-Paced
Deploy a website to Azure with Azure App Service (Coursera) Coursera
Microsoft

Deploy a website to Azure with Azure App Service (Coursera)

In this course, you will see how web apps in Azure allow you to publish and manage your website easily without having to work with the underlying servers, storage, or network assets. Instead, you can focus on your website features and rely on the robust Azure platform to provide secure access to your site. You will see how Azure App Service enables you to build and host web applications in the programming language of your choice without managing infrastructure. You will also learn how to create a website through the hosted web app platform in Azure App Service.

Oct 12th 2026
5-12 Weeks
Single Page Web Applications with AngularJS (Coursera) Coursera
Johns Hopkins University

Single Page Web Applications with AngularJS (Coursera)

Do you want to write powerful, maintainable, and testable front end applications faster and with less code? Then consider joining this course to gain skills in one of the most popular Single Page Application (SPA) frameworks today, AngularJS. Developed and backed by Google, AngularJS is a very marketable skill to acquire.

Oct 12th 2026
5-12 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
Firebase Analytics: iOS (Udacity) Udacity
Udacity,Google

Firebase Analytics: iOS (Udacity)

Improve your apps with better user data. In this course, you’ll learn how to grow an app's user base using Firebase Analytics, a free and unlimited analytics solution. You'll be able to learn who your users are and how they interact with your app. You can then use this information to make informed decisions to improve your app, such as how difficult to make a level in a game, where to place an advertisement, or what products to stock.

Self Paced
Self-Paced
Introduction to Web Development (Coursera) Coursera
University of California, Davis

Introduction to Web Development (Coursera)

This course is designed to start you on a path toward future studies in web development and design, no matter how little experience or technical knowledge you currently have. The web is a very big place, and if you are the typical internet user, you probably visit several websites every day, whether for business, entertainment or education. But have you ever wondered how these websites actually work? How are they built? How do browsers, computers, and mobile devices interact with the web? What skills are necessary to build a website? With almost 1 billion websites now on the internet, the answers to these questions could be your first step toward a better understanding of the internet and developing a new set of internet skills.

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

Oct 12th 2026
4 Weeks
Device-based Models with TensorFlow Lite (Coursera) Coursera
DeepLearning.AI

Device-based Models with TensorFlow Lite (Coursera)

Bringing a machine learning model into the real world involves a lot more than just modeling. This Specialization will teach you how to navigate various deployment scenarios and use data more effectively to train your model. This second course teaches you how to run your machine learning models in mobile applications. You’ll learn how to prepare models for a lower-powered, battery-operated devices, then execute models on both Android and iOS platforms. Finally, you’ll explore how to deploy on embedded systems using TensorFlow on Raspberry Pi and microcontrollers.

Oct 12th 2026
4 Weeks