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

Build Native Mobile Apps with Flutter (Udacity) Udacity
Udacity

Build Native Mobile Apps with Flutter (Udacity)

Learn from experts at Google how to use Flutter to craft high-quality native interfaces on iOS and Android devices in record time. In this course, you'll learn how to use Flutter to quickly develop high-quality, interactive mobile applications for iOS and Android devices. Whether you’re just getting started with mobile app development, or experienced with other mobile app frameworks, you’ll enjoy the high-velocity development and quality apps that Flutter enables.

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

Swift for Developers (Udacity)

Your Next Programming Language. This course offers a quick practical introduction to Swift basics, including types, variables, constants, and functions. It combines syntax exercises with hands-on iOS development in Xcode. By the end of the course students will build their first iOS app, an app that creates and displays song lyrics customized to user input.

Self Paced
Self-Paced
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.

Jun 22nd 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.

Jun 22nd 2026
5-12 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.

Jun 22nd 2026
4 Weeks
Swift for Beginners (Udacity) Udacity
Udacity

Swift for Beginners (Udacity)

Your First Programming Language. In this course, you’ll begin learning Swift, Apple's programming language for building iOS applications. You'll start with fundamentals and work your way towards understanding all the core principles necessary to get started creating your first app. At the end of the course, you'll complete a problem set of exercises designed to challenge your understanding of Swift and give you the opportunity to apply what you've learned.

Self Paced
Self-Paced
Intro to AJAX (Udacity) Udacity
Udacity

Intro to AJAX (Udacity)

Making Asynchronous Requests with jQuery. In this course you will learn how to make asynchronous requests with JavaScript (using jQuery’s AJAX functionality), and gain a better understanding of what’s actually happening when you do so. You will also learn how to use data APIs so you can take advantage of freely accessible data in your applications, including photo results, news articles and up-to-date data about the world around us.

Self Paced
Self-Paced
Intro to Progressive Web Apps (Udacity) Udacity
Udacity,Google

Intro to Progressive Web Apps (Udacity)

In this course you’ll get started working on your very first Progressive Web App (PWA) - a web app that can take advantage of many of the features native applications have enjoyed. You’ll also get more experience in creating a web app that works offline using Service Workers. Finally, you’ll make your app installable to the user’s home screen with the Web App Manifest file.

Self Paced
Self-Paced