Stanford Offers Cocoa Class
An anonymous reader writes "Back in the early 90's Stanford University offered a class on Objective-C for students interested in writing applications for NeXTSTEP. After a long hiatus it appears that class will be offered again as CS193E, 'Object-oriented User Interface Programming.' It will be covering the Apple development tools, Objective-C, Foundation and AppKit, and Quartz. Any other schools out there planning or already offering Objective-C courses?"
I wonder if they'll be using O'Reilly's ADC blessed books for texts.
If you disagree then it must be overrated, redundant or trolling.
Now I just have to get one of these into my school Chalmers... oh well, at least we don't us Windows that much here in the CE-department.
"Civis Europaeus sum!"
It's called CS 699 - Independent Study.
It seems strange that Objective-C has failed to attract the popularity of C++, given that it seems (to me at least) by far the more elegant of the two. It implements object-oriented programming in a much cleaner way than C++, and still loses none of the power of C. What Java should have been, really
((lambda x ((x))) (lambda x ((x))))
Having these kinds of courses is great news for university students. But how specific to Apple UI programming is it? For a university like Stanford, I would sincerely hope that they are focusing on good generic UI design (which just so happens to run on OS X) rather than a "how to write OS X code" type of course. That sort of training belongs in the technical schools, where they teach you the "what" and "how" instead of the "why".
Why is there a class teaching a specific language and development tools?
Would it not be better to teach the students HOW to program well, and let them implement the concepts in the language of their choice? Perhaps doing a "Language of your choice, but you can't use the same language twice" kinda thing.
They would learn OOP, learn how to learn another language, and perhaps actually understand how an algorithm works instead of coping it from the text book in the language that the book goes over.
This is Stanford, so I'm guessing they will make it more than just a course where you happen to write some programs for the Mac.
But the real question *I* have for the poster is WHY did you post this this comment under the subject line: gay linux fanboys love the frosty pisshole FP FP? Your comment had *nothing* to do with the subject line...
Babar
UC Berkeley has already had a handful of Cocoa and mac development courses, most taught by my roommate. These courses, though student run, earned real CS credits and had labs, projects, etc. He just graduated, so someone else will have to take up the torch. And it won't be me.
Personally, I think its a great idea. Many, many students get out of CS schools with vague notions of how to write a compiler in LISP, or what the best way to implement XYZ (without understanding why it SHOULD be implemented). As if anyone cares. Macs may be a small market, but a Cocoa class is teaching a useful, marketable skill that can be directly applied to real-world application development.
Yes, this seems like a class that should be an elective after the basic OOP course.
Wouldn't it be better to focus (as an elective course) on cross-platform development like Java, which can run on Mac?
I think I think, therefore I think I am.
irb(main):001:0>
This course is being offered in the 193 series at Stanford meaning that you can take it but it won't fill any Computer Science requirements or electives. They are practical real-world classes. Other 193 classes include:
.NET Platform (yuck)
- CS193C - Client Side Internet technologies
- CS193d - C++ and Object-Oriented Programming
- CS193I - Internet Technologies
- CS193N - C# and the
To get a degree you still have to take the required courses which are more general.
It's called worse is better. Read it and weep.
To a Lisp hacker, XML is S-expressions in drag.
The link to scpd.stanford.edu means that the course will be available both online and on tv to all Stanford students and companies that pay for Stanford courses.
I wonder if my expired stanford.edu account will let me in to view the courses?
Wouldn't it be better to focus (as an elective course) on cross-platform development like Java, which can run on Mac?
No, because Java on a Mac runs slowly like you wouldn't believe. Objective-C is faster and, honestly, is no harder than Java.
Apart from the memory management.
Dave
I write a blog now, you should be afraid.
What other changes are there? E.g. is there garbage colletion, is there refernce only calling.
why would a C++ programmer want to program in objective C or vica versa?
Some drink at the fountain of knowledge. Others just gargle.
in Grovers Mill N.J. is offering courses in reality distortion fields, does that count?
The Stanford CS courses required for graduation are much more theory based than the 193 series. Even without the 193 series (which many students completely ignore), Stanford CS majors learn to program well. The 106 series is considered a model of how to teach students to program. Business Week even did a large article on it a few years ago. Oh, and we get an algorithms course or two as well.
Lasers Controlled Games!
Most of Stanford's curriculum does teach the what's and how's of CS. However they do offer a series of classes (all with course numbers like 193I, 193J, 193E) that teach practical systems. These courses usually can't be used as credit for the major and are only offered only for interested students.
The've had a Win32 based class in this series for years as well as Internet programming, Java, Advanced Java, Lisp, and a few others. This is just a logical next step (bad pun intended).
I know they offer a similar course in Java because I took it. It just isn't offered for winter quarter. It was a good course, especially considering how new Java was.
Lasers Controlled Games!
about 1 year ago(?), CMU started allowing students to teach their own courses. I took a cocoa programming course last semester.
That's not a troll, it's the truth. I know from experience on my 466MHz G4 that Java is dog slow in OS X. Cocoa programs run much faster than Java programs.
I meta-mod all positive moderation Unfair, because it's abuse of the system.
Following the schema of all Stanford CS courses, it will soon be at: /class/cs193e/
Since it already has a "Under construction...", the professor's assistant is probably already busy preparing the page.
>> Had I been going to bed earlier every night? Have I been sleeping later? Has Tyler been in charge longer and l
Schools should focus on the principles of functional and object oriented languages instead of teaching specific languages.
If you are solid in the principles of programming, the choice of language shouldn't matter. They will never be able to teach you every language out there. I think it would be much better to have an intro to different languages instead. Perhaps they do; don't really know. I don't think that this is a wasted course or anything. Any additional experience is great. Is this meant as a introduction to GUIs? If that is the case, I'm all for it. Otherwise, I think there would be more benefitial courses in the long run.
Not everything is analogous to cars. Car analogies rarely work.
Does anybody know why its so slow on Mac? (I'm trolling either) Is problem with Java or the Mac?
I think I think, therefore I think I am.
Anyone else think this is a bad idea? I mean I dont think a class on a specific set of tools or a platform has any place in a university. I get angry when I hear that places offer courses on .NET so why should it be any different for cocoa? That said.... if i went to stanford Id probably take it....
--aiee
The only way I could practically learn Objective-C back in the mid-90s was to work @ NeXT, which I eventually did.
But how the hell it took this long to get it introduced into any University Curriculum is what truly has been pathetic.
If you can't introduce this technology to the future developers how do you expect to sell it, beyond the "ease of use" paradigm?
Hopefully Berkley will be next followed by the University of Washington until the entire Pac-10 offers classes.
Someone already said this, but for those of you who missed this, none of the Stanford CS 193 classes count towards the major. It's an optional light class people audit or take additionally to learn something practical/fun.
If you go to cs.stanford.edu and look at the major requirements you'll see.
- Stanford CS Major
Students teaching their own courses? This is the next logical step, since most crappy schools have students teaching the professors' courses anyway...
... De Anza? :) It's funny, because... oh, never mind.
As for "any other schools teaching objective-c (useful on Macs)"
I'm of the opinion that language-specific classes are great to have at a college level. Not only can a student get a wide sampling of different languages, but I think it can also teach a lot in terms of language theory. (Common threads in languages, differences in languages, etc.) Also, these classes are almost ALWAYS electives. A CS major not wanting to touch a language-specific class doesn't have to -- it's there as a choice.
:)
I think a diverse choice of classes using different languages and actually going in-depth into a language itself can be helpful. I mean, there are a lot of optimizations in languages, C for example, that are done by taking advantage of the structure of the language itself -- which one can only discover after diving headfirst into a language. I wish someone would have pointed certain things out to me about C or Java that aren't immediately apparent.
Bottomline, we're not all out to get PhD's and become evolutionary CS people. Some people just want to learn a language or two, get really good at it, and get a job. Not everyone wants to write a thesis on Compiler Optimizations.
This is very encouraging. What is needed is support from educational institutions like this. Objective-C can cure the IT world of its C++ woes.
why would a C++ programmer want to program in objective C or vica versa?
This is one of the best descriptions of the difference between C++ and Obj-C, and the benefits of dynamic binding, that I've ever happened across.
-jcr
The only title of honor that a tyrant can grant is "Enemy of the State."
my school does.
The cource is called Human-Computer Interaction and it's on the CS Department at Lund University (Sweden).
http://www2.cs.lth.se/dat006/index.html
I plan on taking it sometime soon, if they don't cancel the whole cource.
I've seen them using Interface Builder on their labs and such. Unfortunately we only have 14 Macs, so the excercises may get a little crowded..
I think no one has pointed this out, but IMHO Cocoa is a great environment (if not outright the best) to learn Object Oriented GUI programming. It tends not only to do things How They Should Be Done, but also gently enforce good practices.
.2
It's not like people doing CS courses don't use a number of tools they'll never use again after they get their degree (LISP compilers anyone? PROLOG? Obscure emulated environments? Did all those and more... learnt Cocoa in my free time, BTW).
But in the interest of teaching good programming instead of "what's popular out there now" I'd rather have those coming behind me learning something like Cocoa and then adapting to Java or whatever (whose designed BTW is in many parts based on NextStep) than becoming klutzes with whatever has the greatest demand for code monkeys today.
Just my
GUI toolkits like Swing and even the infamously "native" SWT perform slowly, but the actual JVM on a Mac supposedly performs on average better than the windows JVM.
Nota bene, this is only what I have heard, and have no evidence.
"First you gotta do the truffle shuffle."
IANATE (I am not a troll either). I wrote a java implementation of the file browser (Finder), and I am trying to use it to copy a 17.6MB files from my desktop to my home folder, and I have been sitting here for 20 minutes and its nowhere near complete. I could do the same thing on my 533 MHz Celeron in under a minute.
That's probably one of the best OOP environments yet developed. It would be a great intro to OOP. Too bad there's no real live platform on which to experiment.
Talk of Newtonscript makes me think of soup, and now I'm hungry...
There exists no way of exchanging information without making judgments. --Bene Gesserit Axiom
It is quite refreshing during the hot summer months.
But never after Labor Day. That would be, like, gay, and stuff.
I like trolls as much as the next man, but i cant believe you are still posting this. Invent something new or fuck off, you basement dwelling twat.
Last spring at Oberlin College, I (a student) taught a semester-long "Experimental College" course in Objective-C and the OpenSTEP API.
I taught it with GNUstep, keeping it straightforward and platform-independent, though most of the students who stuck with the course had Macs of their own.
A respectable 7 were enrolled, not bad for a program with less than 30 majors.
Tangentially, I've also completed a number of my assignments for other courses (namely Graphics and Operating Systems) using Objective-C *without* Cocoa or GNUstep, rolling my own AutoreleasePool and basic data-structure object-wrappers. The result was positive, a comfortable and wholly portable development context.
Oberlin College Computer Science:Do You Think One Person Can Make a Difference Engine?
They were created to work for a GUI. C++ always begins by teaching you to do terminal programming and then when you go to GUI programming it becomes one hard task after another.
Obj-C/Cocoa were created for programming GUIs. Anyone who has ever used Apple's developer tools will tell you this. You can make your own web browser (in both Jag and Panther) without ever writing a single line of code.
This is the power of cocoa - it can 'guess' some things that you want done.
A uni offering a course in what is one of the best (not nessecarily most popular) APIs in OOP history is completely understandable and expected.
"Some people just want to learn a language or two, get really good at it, and get a job."
Then perhaps the Management or Business Information Systems field is for you.
I just saw that the U of A is offereing a course for Objective-C/Cocoa. Unfortunately you have to be in the CS major to take it. Not much listed about the course, but here it is in all its.... glory?
O_o