Albert’s offered up some great resources, so I’m just gonna focus on your specific questions.
Which official Apple Swift or SwiftUI curriculum should she begin with?
I don’t think there’s a single answer to this question. Different folks learn in different ways. A lot of that is driven by their motivation. For example, someone who’s interested in games will follow a very different path than someone who’s interested in general app development. So I recommend that you talk with her about her interests and then tailor your advice accordingly.
How much can she realistically learn and build using Swift Playground on an iPad?
You can certainly use Swift Playground to learn Swift. You can also use it to create small apps and games. But it does have significant limitations. For example:
- It only supports apps. You can’t build an app with an embedded app extension. This is a problem if, for example, she’s highly motivated to create a private tunnel to bypass her school’s draconian firewall policies [1], which is best done using a Network Extension app extension (-:
- It only supports a limited set of capabilities (using that word in the sense defined here).
At what stage would access to Xcode on a Mac become necessary?
I’d turn that around, and think about the benefits of using Swift Playground. For a young kid I think Swift Playground on iPad has real advantages, but in my experience 14-year-olds are quite capability of dealing with a Mac and hence Xcode.
If you do decide to stay on the iPad, make sure to equip it with an external keyboard. That makes a huge difference when coding.
Can an app playground started on iPad later be transferred to Xcode on a Mac?
Yes.
Are there recommended Swift Coding Clubs, education programs, or student resources for high-school students in the United States?
I don’t have an answer for you here.
What should she focus on during her first year if she eventually wants to participate in the Swift Student Challenge?
I think she should focus on what motivates her, rather than a specific end goal.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"
[1] To be clear, I’m not actually advocating for this. Having said that, one of my daughter’s first major programming projects involved web views and SOCKS proxies (-: Motivation goes a long way!