Thursday, November 24, 2011

Learning iOS 5 programming with Paul Hegarty

When I need to do a bit of Cocoa programming I normally turn to the excellent books from Big Nerd Ranch. iOS 5 and Xcode 4.2 has changed normal practice quite substantially and I was struggling along trying to re-interpret the old code in the new environment.

A couple of days ago the latest videos of the Stanford computer science class covering iPad and iPhone App development turned up in iTunesU.

This course presented by Paul Hegarty is fantastic. It's a best case example of good teaching by a master of what he is presenting. Even the questions from the class are spot on.

I've just got to lecture 4 which took place the day after Steve Jobs died. Paul gives a nice tribute and talks about the years when he worked at NeXT and how Jobs valued the aesthetics of things so much that FMRI scans of iPhone users match up with them feeling love (rather than the expected addiction).

He ends each lecture with "if you have any questions... I'm here."

Update

I'm still ploughing through these lectures and continue to be super-impressed with Paul Hegarty's teaching style and overall knowledge. It's wonderful that Stanford feels comfortable to release lectures of such quality for free to the public - great stuff, a credit to everyone involved!

Humbly, I'd like to propose some constructive feedback:

  • The slides are sometimes very wordy - fine when it's code, but often just descriptions that could be shortened.
  • Sometimes it's hard to read the code shown in Xcode, it ends up being rather soft, perhaps there is a more video friendly font?
And, an Apple TV complaint. The damn thing over-scans and I can't find a way to turn it off. So I lose the menu bar on my TV. I know it's there in the movie if I look in iTunes but you can't see it on the TV. The overscan is not in my TV.

Thanks Paul Hegarty, you are doing great work - thanks for sharing.

To be specific, here's a wordy slide example:


Update

Eight months after this post, I have two apps in the store by me and am now a full time iOS developer for a major media company which publishes a large number of apps. I'm loving my work and continue to learn more each day about iOS programming.

12 comments:

  1. These lectures are seriously awesome...I took a class in java in college and one in pascal/c++ in high school and I've had no problem following his clear lecture style (lecture 6). iOS is pretty remarkable, especially the gesture recognitions magic....the automatic reference counting is pretty cool too!

    ReplyDelete
  2. Yes, I think he's an exemplary teacher. I've just watched the lecture covering storyboard and segues. Never would have got all that from just reading documentation.

    ReplyDelete
  3. I just discovered ITunes U and was also amazed by his teaching style. Easy to follow and easy to keep up. Never a dull moment in his lectures.

    ReplyDelete
  4. Agreed, this lecture course is fantastic, Paul Hegarty's course really does provide a great entry point into iOS programming.

    ReplyDelete
  5. i just completed his first video n am totally taken aback.. He makes things so much simpler.. Looking forward to all his videos..

    ReplyDelete
  6. Anonymous7:20 AM

    Paul Hegarty is the King of iphone professors, and He and Stanford are to be commended on the wise decicion of providing these lectures online. They serve as a great tribute to Stanford and makes me want to go there.

    ReplyDelete
  7. I just have to add that these lectures are more for advanced pleople or for quick-thinking Stansford students, not for pure beginners in programming.

    ReplyDelete
  8. mc, that's true but the advantage of receiving lectures via a video recording is that we can pause and re-watch difficult to grasp material.

    I think the future of education is where lectures are viewed at your own pace and tutorials are the part done in a group.

    ReplyDelete
  9. Anonymous9:16 AM

    Hi, thanks for your review. But here is my comment about your comment on P. Hegarty's lengthy slides. As you mention: "The slides are sometimes very wordy - fine when it's code, but often just descriptions that could be shortened."
    I would like to mention that it is common universities to have slides like this, because it is assumed that when students take the slides home and start reading from there, slides should be (self) explanatory as much as possible. Hence the amount of relatively large text I believe.

    ReplyDelete
  10. Thanks Black.

    Best wishes.

    ReplyDelete
  11. Anonymous8:43 AM

    Hi.. i really think he's lectures are great as well.. i just have a question maybe someone could answer if they don't mind.. In lecture 4, when implementing the new api to the CalculatorBrain class, why was the (id)program property declared in the header file (making it a public property), why not declared in the implementation file like the programStack property. Also, are the accessor methods of properties declared in the implementation files (essentially private properties like the programStack) publicly available? I see he calls the self.program
    stack in the instance method "performOperation"). Would really appreciate it if someone would assist. :)

    ReplyDelete
  12. Anonymous12:40 PM

    I'm taking the class now. He's a smart fellow talking to smart audience. That said, I wonder how many in the audience are grasping everything. It's Stanford, so probably a fair number. But I'll bet not all.

    Be warned: if you lack the prerequisites he mentions in the first class, nothing in his presentation will help fill those holes. You won't get any bones.

    What you will get is lost in sub classes inside classes inside super classes. And if you think Alec Init is a name of a person and you're wondering what he's doing on someone's property, stop and save yourself the near full day of recording time.

    Personally, I'd have appreciated a few bones thrown my way.

    ReplyDelete