0% found this document useful (0 votes)
112 views13 pages

Develop in Swift Curriculum Guide

Uploaded by

ghostream
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
112 views13 pages

Develop in Swift Curriculum Guide

Uploaded by

ghostream
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

Curriculum Guide

July 2020
Develop in Swift Curriculum Guide | November 2019 1
Develop in Swift
Develop in Swift is a curriculum that teaches students to
use Xcode on Mac and learn Swift—a powerful and intuitive
open source programming language designed by Apple. It’s
the same language professional developers are using in the
fast-growing app economy to make apps for iOS, iPadOS,
macOS, tvOS, watchOS, and beyond. The Develop in Swift
curriculum is great for teaching both students who are new
to coding and those with experience.

Swift Playgrounds Preview Guide | June 2016 2


High School Curriculum Pathway
The Develop in Swift curriculum encourages students to solve real-world challenges creatively through app development. Students build
foundational knowledge with Explorations or Fundamentals courses, then progress to more advanced concepts in Data Collections.
All courses include free teacher guides to support educators—whether they’re experienced in Swift or other programming languages.

AP® CS Principles* Fundamentals Data Collections


180 hours 180 hours 180 hours

Students learn key computing concepts, building Students build fundamental iOS app development Students expand on the knowledge and skills they
a solid foundation in programming with Swift as skills with Swift. They’ll master the core concepts developed in Fundamentals by extending their work
they prepare for the AP® Computer Science and practices that Swift programmers use daily in iOS app development, creating more complex
Principles exam. They’ll learn about the impact of and build a basic fluency in Xcode source and UI and capable apps. They’ll work with data from a
computing and apps on society, economies, and editors. Students will be able to create iOS apps server and explore new iOS APIs that allow for much
our culture while exploring iOS app development. that adhere to standard practices, including the richer app experiences—including displaying large
Lessons take students through the app design use of stock UI elements and layouts. collections of data in multiple formats. Students learn
process: brainstorming, planning, prototyping, new features of the iOS SDK to continue their app
and evaluating an app of their own. developer journey.

Unit 1: Values Unit 1: Getting Started with App Development Unit 1: Tables and Persistence
Episode 1: The TV Club Unit 2: Introduction to UIKit Unit 2: Working with the Web
Unit 2: Algorithms Unit 3: Navigation and Workflows Unit 3: Advanced Data Display
Episode 2: The Viewing Party Unit 4: Build Your App Unit 4: Build Your App
Unit 3: Organizing Data
Episode 3: Sharing Photos
Unit 4: Building Apps

*For schools not teaching AP® CSP, the Develop in Swift Explorations course is available.
Coming soon
Develop in Swift Curriculum Guide | July 2020 3
Higher Education Curriculum Pathway
Develop in Swift curriculum encourages students to solve real world challenges creatively through app development. Students build
foundational knowledge with Explorations or Fundamentals courses then progress to more advanced concepts in Data Collections. All
courses include free teacher guides to support educators—whether they have experience with Swift or other programming languages.

Explorations Fundamentals Data Collections


One semester One semester One semester

Students learn key computing concepts, building Students build fundamental iOS app development Students expand on the knowledge and skills they
a solid foundation in programming with Swift. skills with Swift. They’ll master the core concepts developed in Fundamentals by extending their work
They’ll learn about the impact of computing and and practices that Swift programmers use daily in iOS app development, creating more complex
apps on society, the economy, and cultures while and build a basic fluency in Xcode source and UI and capable apps. They’ll work with data from a
exploring iOS app development. Lessons take editors. Students will be able to create iOS apps server and explore new iOS APIs that allow for much
students through the app design process: that adhere to standard practices, including the richer app experiences—including displaying large
brainstorming, planning, prototyping, and use of stock UI elements and layouts. collections of data in multiple formats. Students learn
evaluating an app of their own. new features of the iOS SDK to continue their app
developer journey.

Unit 1: Values Unit 1: Getting Started with App Development Unit 1: Tables and Persistence
Episode 1: The TV Club Unit 2: Introduction to UIKit Unit 2: Working with the Web
Unit 2: Algorithms
Unit 3: Navigation and Workflows Unit 3: Advanced Data Display
Episode 2: The Viewing Party
Unit 4: Build Your App Unit 4: Build Your App
Unit 3: Organizing Data
Episode 3: Sharing Photos
Unit 4: Building Apps

Coming soon
Develop in Swift Curriculum Guide | July 2020 4
Curriculum Overview

The Develop in Swift curriculum is intended for high school and higher education students to explore designing and building a fully
functioning app of their own. As they develop new skills, students will master key coding concepts and can even earn AP® credit
or an industry-recognized certification for their knowledge of Swift and Xcode. And students who earn certification can share a
digital badge with their professional networks to convey their preparedness for industry.

Supporting teacher guides provide educators with tools to deepen engagement with aspiring app developers, regardless of experience
teaching Swift or other programming languages. For after-school or summer learning programs, there are complimentary Swift
Coding Club materials. And app showcases give aspiring coders a chance to celebrate their ingenuity with the community, whether
they’re learning in or out of the classroom.

Develop in Swift Curriculum Guide | July 2020 5


Key Features

Xcode playgrounds Interactive widgets*


Students learn programming Using photo galleries,
concepts as they write code interactive images, and
in playgrounds—interactive Keynote files, students
coding environments that examine everyday activities
let them experiment with and tools—from searching
code and see results on the web and taking
immediately. photos to interacting on social
media—while exploring the
technology behind them and
their impact on society.

Guided app projects Step-by-step instructions


Using the included project Detailed instructions with
files, students can try out images and videos guide
certain parts of code students through all the steps
without having to build of building an app in Xcode.
an app from scratch.
Supporting images and
videos challenge them to
apply their knowledge.

*Available in Develop in Swift AP® CS Principles and Develop in Swift Explorations courses only.

Develop in Swift Curriculum Guide | July 2020 6


Develop in Swift Explorations

Students learn key computing concepts, building a solid foundation in programming with Swift. They’ll learn about
the impact of computing and apps on society, economies, and cultures while exploring iOS app development.

Unit 1: Values. Students learn about the fundamental units of Swift—the Unit 3: Organizing Data. Students explore how to create custom types
values that flow through their code, including text and numbers. They using structs, group large quantities of items into arrays, and process them
explore how to associate names with values using variables. The unit using loops. They also learn how enums represent a set of related values,
culminates in an app project to display a photo. and in the app project at the end of the unit, they build an interactive game
with colorful shapes.
Episode 1: The TV Club. Students follow members of a TV club as they
anticipate the new season of their favorite show. They learn how searching Episode 3: Sharing Photos. The TV club concludes as its members share
on the web and signing up for accounts relates to their personal information, pictures of the viewing party on social media. Students learn about digitizing
as well as how to think about their privacy while using apps. analog data and parallel computing, and they explore some consequences of
sharing data online.
Unit 2: Algorithms. Students learn how to structure their code using
functions to encapsulate repetitive tasks, use if/else statements to represent Unit 4: Building Apps. Students deepen their skills in Xcode and Interface
decisions, and explore how Swift uses types to distinguish different kinds of Builder in guided projects to build apps from the ground up. They learn how
data. The culminating project is a QuestionBot app that responds to user to add user interface elements to a screen, connect those elements to their
input from the keyboard. 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,
Episode 2: The Viewing Party. The TV club story continues as its members testing as they go. The culmination of the unit is a study app with flash card
stream the episode while texting each other. Students explore how data is and quiz modes.
represented inside their devices at the lowest level and how it flows across
the internet. They also learn more about security and privacy of data.

Develop in Swift Curriculum Guide | July 2020 7


Develop in Swift AP® CS Principles

As a College Board–endorsed provider for the 2020–2021 school year, Apple created Develop in Swift AP® CS
Principles to prepare students for the AP® Computer Science Principles exam. This course is based on the
Develop in Swift Explorations course and helps students learn key computing concepts and build a solid foundation
in programming with Swift.
The Develop in Swift AP® CS Principles course aligns with the College Board curricular requirements, with pedagogy
that supports the five Big Ideas to encompass foundational computer science concepts. These ideas include Creative
Development, Data, Algorithms and Programming, Computing Systems and Networks, and Impact of Computing.
The course also contains six Computational Thinking Practices that describe how students will explore the learning
objectives, including Computational Solution Design, Algorithms and Program Development, Abstraction in Program
Development, Code Analysis, Computing Innovations, and Responsible Computing.

Unit 1: Values. Students learn about the fundamental units of Swift—the Unit 3: Organizing Data. Students explore how to create custom types
values that flow through their code, including text and numbers. They using structs, group large quantities of items into arrays, and process them
explore how to associate names with values using variables. The unit using loops. They also learn how enums represent a set of related values,
culminates in an app project to display a photo. and in the app project at the end of the unit, they build an interactive game
with colorful shapes.
Episode 1: The TV Club. Students follow members of a TV club as they
anticipate the new season of their favorite show. They learn how searching Episode 3: Sharing Photos. The TV club concludes as its members share
on the web and signing up for accounts relates to their personal information, pictures of the viewing party on social media. Students learn about digitizing
as well as how to think about their privacy while using apps. analog data and parallel computing, and they explore some consequences of
sharing data online.
Unit 2: Algorithms. Students learn how to structure their code using
functions to encapsulate repetitive tasks, use if/else statements to represent Unit 4: Building Apps. Students deepen their skills in Xcode and Interface
decisions, and explore how Swift uses types to distinguish different kinds of Builder in guided projects to build apps from the ground up. They learn how
data. The culminating project is a QuestionBot app that responds to user to add user interface elements to a screen, connect those elements to their
input from the keyboard. 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,
Episode 2: The Viewing Party. The TV club story continues as its members testing as they go. The culmination of the unit is a study app with flash card
stream the episode while texting each other. Students explore how data is and quiz modes.
represented inside their devices at the lowest level and how it flows across
the internet. They also learn more about security and privacy of data.

Develop in Swift Curriculum Guide | July 2020 8


Develop in Swift Fundamentals

Students build fundamental iOS app development skills with Swift. They’ll master the core concepts and practices
that Swift programmers use daily and build a basic fluency in Xcode source and UI editors. Students will be able to
create iOS apps that adhere to standard practices, including the use of stock UI elements and layouts.

Unit 1: Getting Started with App Development. Students find out Unit 4: Build Your App. Students learn about the design cycle and use
about the basics of data, operators, and control flow in Swift, as well as it to design an app of their own. They explore how to develop and iterate
documentation, debugging, Xcode, building and running an app, and on their designs, as well as to create a prototype that can serve as a
Interface Builder. They then apply this knowledge to a guided project compelling demo and launch their project toward a successful 1.0 release.
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.

Develop in Swift Curriculum Guide | July 2020 9


Develop in Swift Data Collections

Students expand on the knowledge and skills they developed in Fundamentals by extending their work in iOS app
development, creating more complex and capable apps. They’ll work with data from a server and explore new iOS
APIs that allow for much richer app experiences—including displaying large collections of data in multiple formats.
Students learn new features of the iOS SDK to continue their app developer journey.

Coming soon

Unit 1: Tables and Persistence. Students find out about scroll views, Unit 4: Build Your App. Students learn about the app design cycle and use
table views, and building complex input screens. They also explore how it to design an app of their own. They explore how to develop and iterate on
to save data, share data to other apps, and work with images in a user’s their designs, as well as to create a prototype that can serve as a compelling
photo library. They use their new skills in a guided project called List, a demo and launch their project toward a successful 1.0 release.
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 about 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.

Develop in Swift Curriculum Guide | July 2020 10


Supplemental Resources

App Design Journal App Showcase Guide Swift Coding Club


Even before they can begin to develop apps in Celebrate student ingenuity by encouraging Swift Coding Clubs are a fun way to design apps.
Swift, students can think about the types of students to share their coding achievements with Activities are built on learning Swift programming
apps they might want to design and build. The community events, such as project demonstration concepts in Xcode playgrounds on Mac. Students
App Design Journal guides students with design events or app showcases. The App Showcase collaborate with peers to prototype apps and
thinking project to help them prototype their Guide provides practical support to help you plan think about how code can make a difference in
ideas, test the app with their peers, and refining and execute a showcase event. the world around them.
the user experience.

Apple Professional Learning


The Develop in Swift curriculum is supported with a free online professional learning course hosted on Canvas to prepare educators to teach Develop in
Swift Explorations, with optional content for Develop in Swift AP® CS Principles. 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.

Help students stand out in the app economy with Swift certification
Educators who are teaching app development with Swift can help their students earn recognition for their knowledge of Swift and Xcode. The app
development with Swift certification is based on Fundamentals and Data Collections courses to help students stand out and compete for high-demand
jobs in iOS app development. Available through an exam administered by Certiport, app development with Swift certification shows that students
are ready to take the next step in becoming app developers. Learn more: www.certiport.com/apple

© 2020 Apple Inc. All rights reserved. Apple, the Apple logo, Mac, macOS, watchOS, and Xcode are trademarks of Apple Inc., registered in the U.S. and other countries. Swift, the Swift logo, and tvOS are trademarks of Apple Inc.
IOS is a trademark or registered trademark of Cisco in the U.S. and other countries and is used under license. Other product and company names mentioned herein may be trademarks of their respective companies. Product
specifications are subject to change without notice. This material is provided for information purposes only; Apple assumes no liability related to its use. June 2020

Develop in Swift Curriculum Guide | July 2020 11


Additional Resources

Apple Professional Learning Develop in Swift


The Develop in Swift curriculum is supported with a free online • Develop in Swift program
professional learning course available on Canvas to prepare educators to • App Development with Swift Level 1 certification
teach Develop in Swift Explorations with optional content for Develop in
• Develop in Swift Explorations Professional Learning Course
Swift AP® CS Principles. Participants will learn the foundational
knowledge needed to teach Swift and Xcode directly from Apple experts, • Develop in Swift on Canvas Commons
making this an ideal introductory course for teaching Develop in Swift in
any educational environment.
Everyone Can Code
• Everyone Can Code program
For educators interested in going further, Apple Professional Learning • Everyone Can Code Puzzles
Specialists help provide faculty with personal support for innovating their • Everyone Can Code Puzzles Teacher Guide
instructional practices in ways that will engage students and enable
personalized learning. • Swift Playgrounds app

Apple Professional Learning Specialists organize multiple-day training About Swift


engagements designed to provide: Swift is the powerful and intuitive programming language created by
• Leadership visioning and planning to help administrators prioritize Apple for building apps. Swift is not only great for getting you started
learning objectives. with coding, it’s also super powerful. It’s designed to scale from
• Guidance from an Apple Professional Learning Specialist who’s writing the simplest program, like “Hello, world!”, to the world’s most
dedicated to your project. advanced software. Learn more about Swift.
• Customized, research-based professional learning plans to match
About Xcode
learning goals.
Xcode is the Mac app used to build every other Mac app and every iOS
• Hands-on, immersive learning experiences to help faculty develop
app, too. It has all the tools you need to create an amazing app experience.
innovative instructional practices that engage students.
And it’s available as a free download from the Mac App Store. Learn more
• An opportunity to work with your professional learning leaders to about Xcode.
build sustainability.

To learn more about the Apple Professional Learning course visit


apple.co/developinswiftexplorationspl or email contact your Apple
account executive or [email protected].

Develop in Swift Curriculum Guide | July 2020 12


AP is a registered trademark of the College Board and is used with permission. Features are subject to change. Some features may not be available in all regions or all languages. © 2020 Apple Inc. All rights reserved. Apple, the Apple
logo, iPadOS, iPhone, Keynote, Mac, MacBook Air, macOS, Swift Logo, Swift Playgrounds, watchOS, and Xcode are trademarks of Apple Inc., registered in the U.S. and other countries. Swift and tvOS are trademarks of Apple Inc. App Store
is a service mark of Apple, Inc., registered in the U.S. and other countries. IOS is a trademark or registered trademark of Cisco in the U.S. and other countries and is used under license. Other product and company names mentioned
herein may be trademarks of their respective companies. Product specifications are subject to change without notice. This material is provided for information purposes only; Apple assumes no liability related to its use. July 2020

You might also like