This document outlines an app development course taught using Swift and Xcode. The course contains 6 units that teach essential Swift concepts and SDK skills through lessons and guided projects. Unit 1 covers getting started, Unit 2 introduces UIKit, Unit 3 focuses on navigation, Unit 4 addresses tables and persistence, Unit 5 deals with web integration, and Unit 6 is about prototyping and planning your own final app project. Each unit combines Swift lessons, SDK lessons, and a guided hands-on project to build apps.
3. Units
1. Getting Started with App Development
2. Introduction to UIKit
3. Navigation and Workflows
4. Tables and Persistence
5. Working with the Web
6. Prototyping and Project Planning
● Additional Sources
● Glossary
4. Unit 1:
Getting Started with App Development
Swift Lessons
● Introduction to Swift and
Playgrounds
● Constants, Variables and Data
Types
● Operators
● Control Flow
SDK Lessons
● Xcode
● Building, Running, Debugging
and App
● Documentation
● Interface Builder Basics
Guided Project
➢ Light is a simple full-screen flashlight app, where the user taps the screen
to toggle its color between black and white.
5. Unit 2:
Introduction to UIKit
Swift Lessons
● Strings
● Functions
● Structures
● Classes, Inheritance
● Collections
● Loops
SDK Lessons
● Introduction to UIKit
● Displaying Data
● Controls in Action
● Auto Layout and Stack Views
Guided Project
➢ Apple Pie is a simple word-guessing game, where the user must guess a
word, letter by letter, before all the apples fall off of the apple tree. If there
are apples remaining, the user wins—and can eat delicious Apple Pie.
6. Unit 3:
Navigation and Workflows
Swift Lessons
● Optionals
● Type Casting and Inspection
● Guard
● Constant and Variable Scope
● Enumerations
SDK Lessons
● Segues and Navigation
Controllers
● Tab Bar Controllers
● View Controller Life Cycle
● Building Simple Workflows
Guided Project
➢ Quiz is a simple app that guides the user through a personality quiz and
displays the results.
7. Unit 4:
Tables and Persistence
Swift Lessons
● Protocols
SDK Lessons
● App Life Cycle
● Model View Controller
● Scroll Views
● Table Views
● Intermediate Table Views
● System View Controllers
● Saving Data
● Complex Input Screens
Guided Project
➢ List is a task-tracking app that allows the user to add, edit, and delete
tasks in a familiar master-detail interface. You can customize the app to
keep track of any type of information, such as a card collection or your
favorite movies.
8. Unit 5:
Working with the Web
Swift Lessons
● Closures
● Extensions
SDK Lessons
● Practical Animation
● Working with the Web:
○ HTTP and URL Session
○ JSON
○ Concurrency
Guided Project
➢ The Restaurant app allows the user to browse a customizable menu that
fetches information from a web service. You can customize the entire
menu with your own dishes, descriptions, prices, and photos that will
appear in the app.
9. Unit 6:
Prototyping and Project Planning
➢ Your final project is an app of your own design, which you'll build following
best practices for design, prototyping, and project planning.
6.1 App Personality
● Use the best design principles for an app icon
● Create an efficient launch screen
● Brand and stylize an app
● Understand the Apple human interface guidelines
10. Unit 6:
Prototyping and Project Planning
6.2 Prototyping for Real People
● Clearly define the problem you want your app to address
● Create a user persona to assist in making design decisions
● Create iterative prototypes that end in a concrete design
● Conduct user interviews to gather feedback on your prototype
6.3 Project Planning
● Pan the classes and methods your app will need to meet a specific feature
set
● Plan the classes and methods your app will need based on how the data
will be created and stored