
Free course on developing iPad applications from CMU's HCI institute - pitdesi
http://www.cmu.edu/homepage/computing/2012/winter/ipad-course.shtml
======
jbcranshaw
Not only is it a badass iOS programming course "co-taught by top industry
developers" (hint: they work for a large company intimately familiar with the
platform), but the main focus of the course is also on using the iPad for
visualization of large datasets. It's a pretty creative and exciting course in
my opinion (disclosure - I'm the TA). The course website is here: <http://hci-
ipad.org>

~~~
MaxGabriel
Can you describe differences between this and the Stanford course outside of
iPad focus and data presentation?

~~~
brador
Is there a Stanford course in iPad development?

~~~
peterjs
It's the CS193P. The lecture videos are on iTunesU.

<http://www.stanford.edu/class/cs193p/cgi-bin/drupal/>

[http://itunes.apple.com/itunes-u/ipad-iphone-application-
dev...](http://itunes.apple.com/itunes-u/ipad-iphone-application-
development/id473757255)

I'm "taking" it right now, so I should get back to work instead of reading HN
:) I like it so far. If you have prior experience with object-oriented
programming, it is a good resource. The basics are enough; understanding the
concepts of classes, methods, etc.

------
jonknee
Does anyone know why iTunes U lectures are almost always out of order? This
course lists lecture 3 SD first and lecture 3 HD last for example. Seems like
it would be simple to have things ordered in a sensible way.

~~~
Stormbringer
A simple but sad explanation would be that it is dependent on the reviewer, or
more likely reviewers, over at Apple. E.g. if Sandeep finishes reviewing
faster than Nikolai, then those lectures will go up faster.

The Apple "new improved textbooks and courses" thing suffers from the same
problem, I had a look at one (on geometry and trig) and things were out of
sequence.

------
zkar
Is there an equivalent android course?

------
StavrosK
Is there any way to download this when I don't own an iOS device?

~~~
MaxGabriel
iTunes runs on Mac/PC, so yes. But you'll need a Mac to program iOS devices
(for Xcode).

~~~
StavrosK
Ah, thanks, I didn't know I could get it on iTunes, even though I avoid
installing it... I know I'll need XCode, I just wanted to see what ObjC is
like.

~~~
Stormbringer
I believe there's a free (as in freedom) version of Objective-C out there, I
think it runs on Windows and Linux.

Check out the book by Stephen G. Kochan

The caveat of course, is that Cocoa (an Objective-C API used for making
interfaces) is very Mac/iOS specific.

So you may not be able to write _Cocoa_ code on Windows/Linux even of you
download... (it might be) OpenStep?

But your gcc should compile Objective-C sans Cocoa.

As for XCode, like most Apple side-projects it tends to gather dust in
darkness, until one day they come in and change everything around, just
because they can. In 2007 it was pretty good if you wanted a stripped down
lean and mean coding IDE which still had access to a lot of features.

Contrast that to the Java IDEs of the time which seemed to be saying
"FEATURES! WE HAVE FEATURES! GET YER FEATURES HERE! Never mind about that
coding crap, have you seen our FEATURES!!!???".

Eclipse was a particular offender, cramming your interface so full of buttons
and tabs and tabs of tabs and templates of tabs of tabs and views of tabs, and
buttons that the actual coding area on a normal monitor was like unto a
postage stamp. (It got better, but vestiges of the feature-mindset-disease
remain)

Anyway, I'm less impressed with the current version of XCode than I was with
the one from 5 years ago.

Primary attractions of Objective-C

Memory management Message passing (which is what all those square braces are
about) Long method names which increase readability at the expense of not
being able to remember what the heck the function you wanted to call is named
so you have to keep referring back to the documentation Did I mention the
squirrelly syntax?

From a pattern point of view they use the delegate pattern a lot, e.g. The
Window handles the Windowy stuff, but for those things you are most likely to
want to customise it passes them to its delegate.

That way you 'never' need to actually subclass anything, you just plug
delegates in everywhere.

~~~
StavrosK
That's very interesting, thank you. I might have to plug in my disk with the
backup OS X install and have a play, then...

~~~
Stormbringer
Today I remembered what was the most tantalisingly interesting thing about
XCode back then - the distributed compilation. The idea that you could have a
team of people and my computer would steal spare cycles from yours (and vice
versa) when mine was compiling and yours was sitting there waiting for you to
hit the next key...

I never had anything large enough on XCode for it to actually matter enough to
me to get it working though.

------
sharmi
Is it possible to setup an iPad dev environment in linux?

~~~
nickfox
The short answer is no. You really need a mac to run xcode on. Yes, you can
google hackintosh but it's not worth the effort. If you are on a budget, then
get a mac mini.

------
nirvana
This really is the future-- having great universities on tap like this!

I remember when I was in my teens having a great deal of interest in things
and not being able to get access to materials-- the tiny university in my town
had a library that was a goldmine for me, but in retrospect was very small. I
remember often having to wait weeks or months to get specialized knowledge
that I knew was out there but that wasn't readily available.

This course is great news. I'm a longtime iOS developer, but have to have my
head in the server side of things so much that I appreciate these courses as a
refresher.

Also coming to appreciate the iTunes U App. I just downloaded Stanford's
Machine Learning course in the format last night. (This is the same course
that was given for free last year, same instructor, but the one in iTunes U's
new course format is from 2008, not sure why.)

Love having the homework and being able to check things off so I can keep
track of how much of the course I've completed.

------
javadyan
I don't think universities should teach this. This is not science.

~~~
Stormbringer
Universities also teach philosophy, and it isn't science either.

Of course, as we can see from the Philosophy of Science courses, that
philosophy is actually more important than science, because philosophy is more
meta.

That is to say, without philosophy you wouldn't know which approaches to doing
science were better than others.

To solve that, you'd need to invent a "science of science", or a "science of
thinking about science", or a "science of knowing stuff"...

...at which point you're simply reinventing the epistemological wheel as it
were.

Also, universities teach art, medicine and architecture, all of which (or so
I've been told) have some marginal redeeming value.

