Welcome to Stanford’s Developing Apps for iPhone & iPad

What's Coding Together?

One of the most popular classes on iTunes U, with over 10M downloads.
Learn more

What's Piazza?

The leading social learning platform that helps you get answers fast.
More about Piazza

Register before February 1st

Stanford's most celebrated iTunes U course includes peer collaboration, so you can learn how to program for Apple's latest mobile operating system (iOS 6) alongside fellow developers from around the world.

I'd like to add social learning capabilities to my class on iTunes U. What should I do?
Just let us know and we will get in touch with you

Stanford's most celebrated iTunes U course includes peer collaboration, so you can learn alongside fellow mobile developers from around the world. If you've tried it alone and gotten stuck, now there will be people to help. If you've taken it before and aced it, now you can sharpen your knowledge by helping others. And if you've been meaning to learn Developing Apps for iPhone & iPad, there may never be a better time.

We call this experiment Coding Together. It's free, and it's going on from January 22 through March 28. We think it will be fun, and you're invited to join.

Coding Together uses Piazza, the same social learning platform that Stanford students use in the on-campus version of the class. You'll follow along with Professor Hegarty's lectures and complete the assignments in time with the class. Got a question? Ask on Piazza and one of your peers will help -- probably within minutes.

To participate in Coding Together, you must register to create your Piazza account between January 14 and February 1.


I'd like to add social learning capabilities to my class on iTunes U. What should I do?
Just let us know and we will get in touch with you
What will I learn in this course?
In the lectures and assignments, Professor Paul Hegarty teaches students how to build applications for the iOS platform using the iOS SDK. The course deals with user interface design for mobile devices and the unique affordances of multi-touch technologies as well as specific iPhone APIs and tools including Xcode, Interface Builder, and more. MVC design, memory management, and mobile device power management are also covered.
Will Stanford, Apple, or Piazza sell my name to anyone if I sign up?
What happens if I don't do the assignments?
As your sixth grade teacher may have told you, "You're only cheating yourself." There are no grades in this course, and your assignments will not be evaluated. However, Professor Hegarty has carefully crafted the assignments to teach iOS programming step-by-step, and people who have taken the course at Stanford have really appreciated the thoughtfulness that goes into them. So we strongly recommend that if you want to learn Apps for iPhone & iPad, you do your best to keep up.
How much time per week do the assignments typically take?
It will vary depending on your skills, but you should budget several hours per week.
Does it matter if I do the assignments on time, since they're not graded?
You should do the assignments on time because that's when most other students will be doing the assignments, and this will allow you to ask and answer questions. Also, the online instructor will focus on answering questions for the current assignment only.
Will Paul Hegarty be our online instructor?
No. We'll be using Professor Hegarty's course materials, but Course Captains will be people who've taken or taught the class with him in the past.
I have a lot of iOS experience and would like to volunteer to teach others. What should I do?
By all means, please sign up for the course and start answering people's questions. Your knowledge and experience will become immediately apparent. If you're interested in some more formal role, you can email us at itunesu@piazza.com and let us know.
I want to take this course but I don't have much background in programming. Is there something I can read quickly to get up to speed?
Not really. This is not an introductory programming course, and it will take more than a week's knowledge to get yourself up to speed. There are many great ways to learn about programming, though. Consider starting with the two Stanford prerequisite courses, Programming Methodology and Programming Abstractions, which are available on iTunes U.
What happens if I get stuck and I can't make any progress?
Your classmates and instructor will be there to help you when you get stuck. Please feel free to ask questions.
Will the instructor help me figure out my code?
Your online instructor for this course is a facilitator whose role is to help ensure that your peers can help you move through the lessons if you get stuck. The instructor may also answer specific questions regarding the programming assignments for the course, but he or she will not:
  • Evaluate an entire file, program, or assignment for you.
  • Find specific bugs in any code that you post in a message.

If you get stuck on an assignment, your peers in the class and your instructor will give you hints to get you unstuck, or may give you insight into quirks in the iOS environment. They will certainly try to explain things that are conceptually difficult. But they should not be doing your work for you. Learning to debug code is one of the skills you will be honing in this course.

How much programming experience do I need?
Knowledge of object oriented programming, data structures, and basic software abstractions will be very useful. There are no tests or hard and fast rules. If you watch the videos and feel like you can follow along, go for it!
Should I take this course if I've written an iOS app before?
Absolutely. Professor Hegarty's lectures and assignments are highly regarded for their clarity and instructional value. You'll probably get a lot out of the course, and it's well-documented that if you help others learn, you cement your own knowledge of the subject.
Should I take this course if I've followed the lectures on my own?
Absolutely. You'll get a lot out of the assignments and the interaction with others.
I learned Java but I've never learned C or C++. Am I going to be okay in this course?
Yes, you should be fine.
Will I get a certificate of course completion from Stanford?
No. We're hoping people will participate and learn Apps for iPhone & iPad and we're excited to help with that, but due to the nature of this course we are not staffed to evaluate students' work.
What happens if I sign up and then stop in the middle?
For final projects that are evaluated, what are the criteria?
First we'll look for apps that are interesting and look like they might have broad appeal either because they're useful or because they exemplify qualities that make mobile or tablet apps unique.
What kind of hardware and software do I need to complete the assignments in this course?
You will need an Intel-based Mac running OS 10.7.4 or higher. For development, the course uses XCode 4.5.2 or higher.

Join the class