Apple’s history of introducing innovative technologies has led to the development of the app economy and Swift — a programming language that’s as easy to learn as it is powerful to use. Swift was developed by Apple engineers with educators at the drawing board, which is why it’s a great tool for both teaching to code and learning to code. It was designed that way.
If you’re new to teaching Swift, you may be wondering where to start building your course curriculum. Develop in Swift curriculum from Apple is geared toward high school and higher education students, and teaches both Swift, a powerful and intuitive open-source programming language designed by Apple, and Xcode on Mac to new and experienced coders.
What is Develop in Swift?
The curriculum prepares students for college or a career in app development using the Swift programming language. It’s complemented by free online professional learning for educators.
The Develop in Swift guides are flexible enough to help you support students new to coding and those with advanced skills. The courses provide practical experience in developing apps with Swift in Xcode, the integrated development environment professional developers use to build real apps.
Develop in Swift has four courses to help students through their app development journey, creating a full pathway from learning to certification. And, each course has a teacher’s guide, to help you prepare for each course. Start with Develop in Swift or , then advance to , and s.
What’s covered in the Develop in Swift courses?
Each Develop in Swift course has four different units, making it easy to find which level will work best in your classroom.
Explorations/AP CS Principles*
- Unit 1: Values-Students learn about the fundamental units of Swift—the values that flow through their code, including text and numbers. They explore how to associate names with values using variables. The unit culminates in an app project to display a photo.
- Unit 2: Algorithms-Students learn how to structure their code using functions to encapsulate repetitive tasks, use if/else statements to represent decisions, and explore how Swift uses types to distinguish different kinds of data. The culminating project is a QuestionBot app that responds to user input from the keyboard.
- Unit 3: Organizing Data-Students explore how to create custom types using structs, group large quantities of items into arrays, and process them using loops. They also learn how enums represent a set of related values, and in the app project at the end of the unit, they build an interactive game with colorful shapes.
- Unit 4: Building Apps-Students deepen their skills in Xcode and Interface Builder in guided projects to build apps from the ground up. They learn how to add user interface elements to a screen, connect those elements to their code, and respond to the events generated by user interaction. They use the incremental development process to build their apps one piece at a time, testing as they go. The culmination of the unit is a study app with flash card and quiz modes.
Fundamentals
- Unit 1: Getting Started with App Development-Students find out about the basics of data, operators, and control flow in Swift, as well as documentation, debugging, Xcode, building and running an app, and Interface Builder. They then apply this knowledge to a guided project called Light in which they create a simple flashlight app.
- Unit 2: Introduction to UIKit-Students explore Swift strings, functions, structures, collections, and loops. They also learn about UIKit—the system views and controls that make up a user interface—and how to display data using Auto Layout and stack views. They put this knowledge to practice in a guided project called Apple Pie, where they build a word-guessing game app
- Unit 3: Navigation and Workflows-Students discover how to build simple workflows and navigation hierarchies using navigation controllers, tab bar controllers, and segues. They also examine two powerful tools in Swift: optionals and enumerations. They put this knowledge into practice with a guided project called Personality Quiz—a personalized survey that reveals a fun response to the user.
- Unit 4: Build Your App-Students learn about the design cycle and use it to design an app of their own. They explore how to develop and iterate on their designs, as well as to create a prototype that can serve as a compelling demo and launch their project toward a successful 1.0 release.
Data Collections
- Unit 1: Tables and Persistence-Students learn scroll views, table views, and building complex input screens. They also explore how to save data, share data to other apps, and work with images in a user’s photo library. They use their new skills in a guided project called List, a task-tracking app that allows the user to add, edit, and delete items in a familiar table-based interface.
- Unit 2: Working with the Web-Students learn about animations, concurrency, and working with the web. They apply what they’ve learned in a guided project called Restaurant—a customizable menu app that displays a restaurant’s available dishes and allows the user to submit an order. The app uses a web service that lets students set up the menu with their own menu items and photos.
- Unit 3: Advanced Data Display-Students learn how to use collection views to display data in a highly customizable, two-dimensional layout. They also discover the power of Swift generics and bring all their skills together in an app that manages a complex data set and presents a customizable interface.
- Unit 4: Build Your App-Students learn about the app design cycle and use it to design an app of their own. They explore how to develop and iterate on their designs, as well as to create a prototype that can serve as a compelling demo and launch their project toward a successful 1.0 release.
What features are available in Develop in Swift courses?
Students need more than words on a page to stay engaged. With Develop in Swift courses, students have access to key features to make learning coding fun.
Step-by-step instructions
Detailed instructions with images and videos guide students through all the steps of building an app in Xcode.
Xcode playgrounds
Students learn programming concepts as they write code in playgrounds—interactive coding environments that let them experiment with code and see results immediately.
Guided app projects
Using the included project files, students can work with key concepts without having to build an app from scratch. Supporting images and videos challenge them to apply their knowledge.
What Develop in Swift resources are available for educators?
The Develop in Swift curriculum is complemented with a free online professional learning course available on the Canvas Learning Management System to prepare educators to teach Develop in Swift. Participants will learn the foundational knowledge needed to teach Swift and Xcode directly from Apple experts, making this an ideal introductory course for teaching Develop in Swift in any educational environment. You can learn more .