Swift Curriculum
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
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
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
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