Where is CS curriculum at top schools headed?
The blogosphere was abuzz today with news of a course on developing iPhone applications in Stanford being available for free. I didn’t understand what the big fuss was about. In fact, if anything, this news has me worried.
Stanford is undoubtedly one of the top most engineering schools in the world. In my mind, a computer science curriculum at such top schools should do just that — teach computer science. Courses that cover computer architecture, software design, operating systems, networking, graphics, theory, databases, algorithms etc all make sense to me. But a course to teach students how to use the API on a commercial SDK? I think other organizations (vocational institutes, community colleges etc) are better suited for such courses. What is so great about such courses being taught at Stanford or MIT or Berkeley? I personally think those resources could be used better elsewhere.
It seems this is part of a larger trend. More and more schools are designing courses that are aligned with the hot buzz-words in the industry, perhaps in order to attract applications. For instance, you can learn how to provide Software as a Service (SaaS) using Ruby on Rails (RoR) at Berkeley. Stanford has another class on building Facebook applications.
I would much rather see a class on say “building scalable web services” and have Facebook, Twitter as case studies in the class.
While I’m not intimately familiar with these particular programs, it seems that in some cases, courses such as this are being developed not so much to attract applicants, but rather to retain students once they have arrived. There is a feeling that CS students in their early years are not sticking around because their first courses are boring. So courses are developed in an attempt to combine the traditional syllabus with exciting materials to engage students and keep their interest.
Interesting. But it still does not seem like the right approach. I mean what are people in mechanical engineering, civil engineering etc are doing? Do other departments have an equivalent to “develop an iPhone application” course? If not, then presumably the problem of retention should be far worse for them.
Couldn’t agree more. Did a ‘Waaaa am I reading this right?’ when I saw the news. Actually they introduced an Android course as well back in Fall 08 I think. Building an Android or iPhone app would be a great assignment, a course seems a terrible waste.
Am going to USCD ECE this Fall (09), thanks a ton for your grad student FAQ.
You’re welcome! How is UCSD treating you so far?
Well these courses are being put in Curriculum to target the market and the new Web 2.0 trends. These course certainly will become very popular but only the time will tell its impact in the long term.
That’s precisely my point — good schools should focus on teaching core skills, not cater to what language/framework is “hot” in the market right now. Today it is Ruby, tomorrow it could be Erlang or Javascript or something else. Would the school introduce a new course for each popular thing?
IMHO If I were a student studying at Stanford, I would have definitely opted for this course.
Sorry Diwakar I differ with you here but these kind of courses would be very tempting for many, atleast for me. But again, this is my personal opinion.
It depends basically on your interests and what do you want to do after a couple of years down the lane.
Cheers !!
The question is not whether there is student interest for such courses. You can find more than enough (high quality) material to teach yourself RoR or iPhone development online. The question is whether schools like Stanford and Berkeley should be in the business of offering them.
@ Chip
I would definitely agree with you here.
I have seen that the course work in CS stream sometimes appear to be tad boring. So it is certainly like a fresh air for all those students !!
Once I asked a professor from MIT the following question. When they receive an application for graduate admission from someone whose under-graduate institute is not too well known, but all other parameters of the application appear good, how do they judge whether that institute would have provided good education or not. Among other things, the professor said that if there are technology courses on the transcript, we will assume that there is spoon feeding going on there, and it would not create a good impression to the admissions committee.
That is one data point for me. On the other hand, if this course truly ends up getting students to do some innovation and develop a decent application (which also means that the course is not meant to have a large registration, just to give an opportunity to some who are passionate about something to earn some credit by expressing their passion and innovation), then I would be ok with this and similar other courses.