Swift Curriculum

explorations book

Develop In Swift: AP Computer Science Principles (2021)

We do just a few fun lessons out of this basic book.

  • Lesson 1.3: Build a Photoframe App
  • Boogie Bot
  • Data Visualization
  • Pixel Art
  • Color Picker
  • Rock, Paper, Scissors
  • Meme Maker
  • Lesson 4.3: Build an Element Quiz App
fundamentals book

Develop in Swift: Fundamentals (2021)

This is the main book we will use for this course.

Unit 1: Getting Started

  • Lesson 1.1: Introduction to Swift and Playgrounds
  • Lesson 1.2: Constants and Variables
  • Lesson 1.3: Operators
  • Lesson 1.4: Control Flow
  • Lesson 1.5: Xcode
  • Lesson 1.6: Building, Running, Debugging an App
  • Lesson 1.7: Documentation
  • Lesson 1.8: Interface Builder Basics
  • Guided Project: Light

Unit 2: Introduction to UIKit

  • Lesson 2.1: Strings
  • Lesson 2.2: Functions
  • Lesson 2.3: Structures
  • Lesson 2.4: Classes
  • Lesson 2.5: Collections
  • Lesson 2.6: Loops
  • Lesson 2.7: UIKit
  • Lesson 2.8: Displaying Data
  • Lesson 2.9: Controls in Action
  • Lesson 2.10: Auto Layout and Stack Views
  • Guided Project: Apple Pie

Unit 3: Navigation and Workflows

  • Lesson 3.1: Optionals
  • Lesson 3.2: Type Casting
  • Lesson 3.3: Guard
  • Lesson 3.4: Scope
  • Lesson 3.5: Enumerations
  • Lesson 3.6: Segues and Navigation Controllers
  • Lesson 3.7: Tab Bar Controllers
  • Lesson 3.8: View Controller Life Cycle
  • Lesson 3.9: Building Simple Workflows
  • Guided Project: Personality Quiz

Unit 4: Prototyping and Planning

  • Lesson 4.1: App Personality
  • Lesson 4.2: The Design Cycle
  • Lesson 4.3: Canvas for App Planning
data collections book

Develop in Swift: Data Collections (2021)

We do a few lessons out of this more advanced book.

Lessons in green are necessary for most final projects.

Lessons in blue are necessary for a few final projects.

Unit 1: Tables and Persistence

  • Lesson 1.1: Protocols
  • Lesson 1.2: App Anatomy and Life Cycle
  • Lesson 1.3: Model View Controller
  • Lesson 1.4: Scroll Views
  • Lesson 1.5: Table Views
  • Lesson 1.6: Intermediate Table Views
  • Lesson 1.7: Saving Data
  • Lesson 1.8: System View Controllers
  • Lesson 1.9: Complex Input Screens
  • Guided Project: List

Unit 2: Working with the Web

  • Lesson 2.1: Closures
  • Lesson 2.2: Extensions
  • Lesson 2.3: Practical Animation
  • Lesson 2.4: HTTP and URL Session
  • Lesson 2.5: Decoding JSON
  • Lesson 2.6: Concurrency
  • Lesson 2.7: Web Server for Restaurant Project
  • Guided Project: Restaurant

Unit 3: Advanced Data Display

  • Lesson 3.1: Collection Views
  • Lesson 3.2: Swift Generics
  • Lesson 3.3: Dynamic Data
  • Lesson 3.4: Compositional Layout
  • Lesson 3.5: Advanced Compositional Layouts
  • Lesson 3.6: Local Notifications
  • Guided Project: Habits

Unit 4: Build Your App

  • Lesson 4.1: App Personality
  • Lesson 4.2: The Design Cycle
journal app icon

Additional Projects

  • Boolean Logic
  • Zoo App (Multiple Screens)
  • Fruits and Vegetables (Table View)
  • Collection View (gri)
  • Finger Painter (gestures and images)
  • Noise Maker (audio)
  • Saving Data
  • Finger Art
  • Basketball App
  • Tic Tac Toe
  • 15 Puzzle
  • Game of Life
  • BMI Calculator
  • Metric Converter
  • Resistor Color Code
atom

Other Important Resources