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.

Image courtesy: flickr.com

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.

  1. History of Computing
  2. Religion in schools?
  3. New tag: research
  4. Stanford website lame
  5. History of Computing — 3
This entry was posted in Technology and tagged , , . Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

6 Comments

  1. Posted April 6th, 2009 at 6:05 am | Permalink

    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.

    • Posted April 6th, 2009 at 9:13 am | Permalink

      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.

  2. Hemanth
    Posted April 25th, 2009 at 10:52 pm | Permalink

    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.

  3. Posted June 23rd, 2009 at 12:03 pm | Permalink

    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.

  4. Posted July 26th, 2009 at 12:36 pm | Permalink

    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 !!

  5. Posted July 29th, 2009 at 11:51 pm | Permalink

    @ 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 !!

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>