Apple’s “Everyone Can Code” program to teach students how to code in Swift is expanding to more than 20 additional universities around the world. The program is a year-long course designed by Apple’s own engineers and education team.
Previously, “Everyone Can Code” was limited to the United States. Apple CEO Tim Cook said,
We launched the Everyone Can Code initiative less than a year ago with the ambitious goal of offering instruction in coding to as many people as possible. Our program has been incredibly popular among US schools and colleges, and today marks an important step forward as we expand internationally.
Apple created the program to help anyone learn how to code with its Swift language. The iPhone and Mac maker partnered with several schools in the U.S. earlier this year to launch the year-long course. It’s also available for free to anyone interested in learning to code with Swift through Apple’s iBooks Store.
Another obvious thing – which as an Apple fan and shareholder I’d like to see have at least some success – is that Apple seems to be leveraging their professional programmer education experience – for example teaching developers at WWDC and evangelizing the Swift language as well as iOS development – by developing a CS curriculum focused on learning to write Swift code and iOS/macOS apps.
I think TMO has speculated that this is part of their strategy to compete against Chromebooks, which have recently been squeezing Apple out of the education market because of several qualities (notably low cost, real keyboard, low user privilege, minimal per-user data or customization, mediocre app store, cloud storage, easy replacement, instant software upgrades, etc.) that make them crappy laptops but pretty good locked-down student computing devices.
TMO seems to be implying – and I agree – that something like Swift Playgrounds and Apple’s Everyone Can Code curriculum may be a killer app that is qualitatively superior to what you get on a Chromebook (not that you can’t learn Python or Java from a web page – there are some excellent interactive courses on the internets where you can run your code right in a browser!)
One “Apple-like” bit that I like is calling it Everyone Can Code – that is certainly my experience from participating in CS education. Computers really are great toys, and programming is fun and almost essential for anyone who is interested in science or engineering (and it can even be applied to the humanities such as music or visual art as well.) Two critical factors I’ve seen that seem to help nearly every student, particularly beginners with little or no programming experience, to succeed in an introductory college course are personal attention (which can be scaled out via a large staff of student course helpers from the previous iteration of the course) and safety nets (including multiple ways of getting the information, course videos and online materials to supplement lectures and textbooks, multiple help channels, and some deadline flexibility such as a set of late days that can be applied to assignment deadlines.) Another thing that can work well in K-12 (though probably not universities since they tend to be locked to a course schedule) is self-paced learning that isn’t graded – basically it relieves the pressure and just allows students to have fun and learn on their own, with help and assistance as needed.
Apple obviously has an agenda here (increasing the labor and app supply for Apple as well as dependence on Apple hardware and software) but Swift really is a great language and it empowers you to write real apps for your iOS device or your Mac.
Swift is also open source and works on Linux and even Windows. C++ and Java are perfectly good languages (and C/C++ programs usually run faster than their equivalent in other languages) but given the choice I’d rather write in a more user-friendly language like Swift or Python. 😀