Find below an app development training that teachers and faculty can work with students on. Multiple companies hire Swift developers.
App Development with Swift is designed to teach high school and college students how to be an app developer, capable of bringing their own ideas to life. The course starts by introducing students to iOS development tools, basic programming concepts, and industry best practices. Building on this foundation, students will follow a step-by-step curriculum, working through practical exercises, creating apps from scratch, and building the mindset of an app developer.
App Development with Swift works as a full-year course in a high school setting or as a one-semester course in a college setting. The content is flexible, giving you the freedom to adapt the content to fit your specific situation. For example, you may want to run the course as an after-school program for a computer club or as an immersive app development bootcamp. The course will align to various national and international curriculum standards for computer science. (See the appendix for more information and current alignments.)
To work through the entire course, you'll need to plan between 150 to 200 hours. The actual time will depend on many factors: your students' previous experience (if any), the pacing of your teaching, the desired outcomes for your class, and your students' access to Xcode-capable computers at home. If you plan to have students build their own apps during classroom time, plan on the high end of that estimate.
However you choose to teach App Development with Swift, you'll want to adjust your pacing to cover as much content as possible in the time available. If you can't cover the entire course, start at the beginning and offer the first few units. You can then invite students to take the later units as an advanced section of your class or to finish the curriculum independently.
If you have students who already have some programming experience, you can expect them to move through the early lessons more quickly. This guide includes extension activities for each lesson that will help you push your more advanced students beyond the labs and projects in the core content.
At the core of App Development with Swift are five progressively challenging guided projects, each preceded by multiple lessons that cover the concepts and skills required to build the app. The course culminates in a personal project that encourages students to create an app of their own design.
The course features 51 lessons that help students learn a specific skill related to Swift or app development. Each lesson starts with a brief introduction to the concept, a set of learning objectives, new vocabulary terms, and references to documentation used to build the lesson. The body of the lesson includes concept explanations, sample code, and screencasts. At the end of each lesson, a lab and review questions allow students to apply the concepts they've just learned and check their understanding.
Since App Development with Swift covers two very different types of content—Swift and app development—you'll see two different approaches to the lessons. Swift lessons focus on specific concepts, and the labs for these are presented in playgrounds - an interactive coding environment that lets you experiment with code and see the results immediately. App development lessons cover the Software Development Kit, or SDK. These lessons focus on building specific features for iOS apps, usually guiding you through a mini-project. The labs for these guide you to apply what you learned in a new scenario.
In most cases, a lesson should last between 45 and 60 minutes, plus 30 to 45 minutes for each lab. Lessons on the more advanced topics will take longer. Depending on the needs of your students, you may choose to spread each lesson across more than one day of class.
Each guided project includes a description of user-centered features, a project plan, and step-by-step instructions that lead to a fully functioning app (provided the student follows all the steps correctly). Through these guided projects—as well as through labs sprinkled throughout the course—students will be able to customize features according to their interests. At the same time, they'll be performing the kind of work they can expect to do in an app development workplace.
The first project is Light, a simple flashlight app. Students will learn the basics of data, operators, and control flow in the Swift programming language. They'll also learn about Xcode, Interface Builder, building and running an app, debugging, and documentation.
The second project is Apple Pie, a word-guessing game. Students will learn about Swift strings, functions, structures, collections, and loops. They'll 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.
The third project is Personality Quiz, a personalized survey that reveals a fun response to the user. Students will learn how to build simple workflows and navigation hierarchies using navigation controllers, tab bar controllers, and segues. They'll also learn about optionals and enumerations, two powerful tools in Swift.
The fourth project is List, a task-tracking app that allows the user to add, edit, and delete items in a familiar table-based interface. Students will be able to customize the app to track any type of information, such as a card collection, homework assignments, or a playlist. They'll learn how to build scroll views, table views, and complex input screens. They'll also learn how to save data, share data to other apps, and work with images in the user's photo library.
The last project is Restaurant, a menu app that displays the available dishes from a restaurant and allows the user to submit an order. This project comes with an easy-to-use local web service that allows students to customize the entire menu with their own menu items and photos. Students will learn about animations, concurrency, and working with the web.
After students have built the guided projects, they'll learn how to design, prototype, and architect an app of their own. Given enough time, students should be able to build this project independently.
If you're teaching App Development with Swift in a classroom setting, you'll want to plan between two and four hours for each guided project—with the exception of Light, which should take no more than an hour. If you have students who finish a project early, you can suggest they complete the stretch goals. Or you might suggest that your fast learners pair up with students who are struggling.