- is Cocoa Programming For Mac OS X a required reading prior to taking the course, or is it simply a more hands-on version of the book's lessons with questions/answers? if not, how does the course differ from the book?
- do you feel like you're a better programmer after taking the course? if so, why?
- how about networking? perhaps you've made some invaluable connections, opened up some interesting opportunities while "at the ranch"?
So the book isn't a required prerequisite by any means, but I was very glad I had read it beforehand. The course moves quickly so I felt like it was a real advantage to have a decent familiarity with most of the concepts prior to the lectures/exercises. It allowed me to focus my mental energy on clarifying concepts I was hazy on and ask better questions.
The format involved a lecture on a subject for about an hour or so and then a break for about as long to work through the example in the text where the instructor would wander and help out those who were stuck. Rinse and repeat.
We started right after breakfast and went until dinner, stopping only for a break for lunch and an afternoon walk. After dinner we were free to do what we pleased, but the vast majority of us would return to our classroom and work on either completing the exercises from earlier, or working on our own projects and could receive 1-on-1 with the instructor for advice. Most nights this went on until about 11pm, so it was 6.5 LONG days.
We covered the vast majority of the chapters in "Cocoa Programming for Mac OS" as well as a couple of topics not covered in the text. I requested at one point if Aaron would be willing to share with us his strategies for App design, and he set aside about 30 minutes or so to lecture us about his process/strategy (might have been an after dinner lecture).
I'm definitely a better programmer coming out of it, but that's honestly not saying much about me since I basically didn't really know all that much going into the course (I'm self-taught and this is my first language, so I've had no formal training prior to this). The biggest advantage of the course was the submersion aspect of it. You write so much Objective-C in one week that you really are forced to think in it (hell I think I managed to dream about code one night). The other aspect that was critical for me was being able to get confirmation of a lot of things I thought I knew. To put it more clearly, I had a 90% confidence in most of the things I had learned on my own, but there was still some doubt that I might have learned some things wrong (without having an external check on my knowledge). Being able to say to someone "so x works like this..." and have them confirm your tentative understanding was pretty invaluable.
I met a lot of really great people at the Ranch. There were several people from Apple there as well as a NASA engineer and a guy from a pretty well-known indie developer house, so that was a great experience (like a mini-WWDC). I think there were about 22-or-so students our week, but I'm told that some less-popular classes have about half that many. I'm still pursuing programming at the "hobby" level at this point as I build up my skills, but I got to meet some really awesome people. Also there's an "Alumni" mailing list that everyone gets to participate in for life after the course, and that is a nice tool to have.