In a groundbreaking first, Apple at this year's WWDC conference in June published an iTunes U course that provides educators with first party tools to teach the Swift programming language to high school students.
As CEO Tim Cook highlighted during the keynote, student interest in developing for the iOS platform has continued to grow over the past few years. At last year's WWDC, the youngest developer to win a student scholarship to the developer conference was 13 years old, and this year Cook noted that the youngest developer was 12 years old. For high school iOS instructors, this momentum is exhilarating.
However, until now those in the field have lacked a common set of learning outcomes, curriculum sequence and set of projects to use in teaching students how to develop apps. "Teaching App Development with Swift for High School Instructors" will prevent teachers from having to reinvent the pedagogical wheel and provide standardization in Swift programming instruction, which will benefit the entire developer community.
As an educator, I can't overstate how significant this is for me and other teachers who have been putting curriculum together from scratch. With this new course, Apple has systematized and provided materials for various aspects of app development, and all of those resources are now available to anyone for free.
Lesson plans, project files and GitHub sample code will now all be conveniently located in the iTunes U section of iTunes on the Mac or in the iTunes U app on iOS. And because it is an official Apple course, both teachers and students can be confident that best programming practices will be emphasized.
Reflecting the most successful trends in S.T.E.M. (science, technology, engineering and math) education today, this course has been designed around a pedagogical method known as "project-based learning." The curriculum is divided into five levels of instruction, with each aimed at a different and specific learning outcome.
Each level has several projects from which instructors can choose according to their own particular class needs. At the end of the course — designed to be taught in one semester over 15 weeks — students will be able to achieve 10 specific learning outcomes, from defining basic terminology to building a fully functional iOS app written in Swift. These goals are progressively achieved as students progress through each level's projects, which each have dedicated lessons that are designed to teach particular concepts through hands-on learning with Xcode.
In adfition, the lessons and exercises support particular College Board AP Computer Science standards as well as the ACM Computer Science Teachers Association.
Apple's course assumes that the teacher is familiar with building basic iOS apps and is comfortable with Swift. It also assumes that students have had some experience with object-oriented programming, such as Java, Python, or C++. Students are not, however, required to have prior experience with Swift. Yong Bakos, Professor of Computer Science at Southern Methodist University, is the iTunes U instructor.
Apple's release of a high-school focused iOS app development curriculum for Swift dovetails with its more recent educational partnership with IBM and signals that Cupertino is not only strengthening its commitment to student education, but ensuring that high school iOS teachers are well-equiped to train the next generation of developers.
61 Comments
Oh, okay, Apple... because soooooo many high school kids have prior experience with Java, Python, or C . SMH.
I think it's important to first teach the concepts of computer science apart from any toolset. Then the student will have a clear separation in their mind between the science, and any particular vendor tools. If I was teaching high school CS I probably wouldn't use Apple tools, I would use a plain open-source text editor, and a teaching-oriented procedural programming language.
Oh, okay, Apple... because soooooo many high school kids have prior experience with Java, Python, or C . SMH.
My school district and the three surrounding me all have CompSci STEM tracks focusing on Java. During a social gathering a few months ago, one of the principals asked me my opinion on what language they should add. I recommended Python since I tend to observe that more as the lightweight, entrepreneur option as compared to "enterprise-y" Java.
I think it's important to first teach the concepts of computer science apart from any toolset. Then the student will have a clear separation in their mind between the science, and any particular vendor tools. If I was teaching high school CS I probably wouldn't use Apple tools, I would use a plain open-source text editor, and a teaching-oriented procedural programming language.
This might be nice but it won't keep a student's attention for very long. This is the instant gratification generation. Knowing what happens behind the scenes doesn't really matter. All that matters if getting the product out. Robots and canned applications rule so why use a text editor to learn programming (makes sense for someone called @ascii) when you can bypass all the basic stuff and get create an app right away? (only a little sarcasm but think about it a little...) If you're going to teach someone about computer design, do you give them a box of resistors, transistors, and capacitors (like I tinkered with growing up) or do you give them a computer simulator of some kind since very few devices are actually built using discrete components anymore? Computers build computers and robots build everything else. Kids nowadays are getting one to two years of college credit in high school, going into colleges as sophomores and juniors. The traditional methods for education are so last century (sorry, had to say it that way) so why shouldn't Apple present a programming class differently than it's been done in the past?
I'm going to sound like a typical student here but I can't find this iTune U course. iTunes only lists the Stanford and Higher College of Technologies courses while nothing is listed under the Swift developer site. Any ideas?