Slashdot Mirror


Ivy League Computer Science Curricula Exposed

Doug Treadwell writes "Many people have wondered what the difference is between the Computer Science education given in the average public university versus one given in an Ivy League university (or a top level public university). There have also been discussions here on Slashdot about whether any Computer Science curriculum gives students the knowledge they need for the working world. As a computer science student both questions are very important to me, so I decided to answer them for myself and build a website to share what I found. I was able to find the required reading for hundreds of courses at Stanford, Princeton, Carnegie Mellon, and Berkeley; along with some other institutions. This should also help answer some of those 'What should I read?' questions."

20 of 312 comments (clear)

  1. Interesting project but...do students use books? by Anonymous Coward · · Score: 5, Insightful

    Personally I am an Electrical Engineering student at a top-5 public university in the country. Our selection of required course materials in no way reflects the quality/content of our courses, in general.

  2. Why "need for the working world"? by Kupfernigk · · Score: 5, Insightful

    To become a professional you do a theoretical degree to give you a toolkit and learn how to find stuff out, then you do your professional training. Works for physicians, lawyers, engineers, accountants. You end up with two or more sets of postnominal letters, one of which is vocational. Why not software designers?

    --
    From scarped cliff or quarried stone she cries "A thousand types are gone, I care for nothing, no not one."
    1. Re:Why "need for the working world"? by ColdWetDog · · Score: 4, Insightful

      Were there any big events that led to the current forms of licensing of medical practitioners, lawyers, engineers, etc., or did those things just develop gradually over the decades/centuries?

      At least for physicians (and I am one), much of the impetus for licensing came from very dis separate views on what training was appropriate coupled with distinct themes of limiting the number of practitioners and therefore increasing the value of the "license". The underlying paternalistic concept being that patients could not evaluate how good / bad a physician was therefore the state needed to intervene.

      So yes, general and specific failures of medical practice has led to a very structured regulatory framework with some clear indication that it has protected the general populace (and created a whole new class of problems, natch).

      So, can you create a reasonable analogy using software - probably not. You can argue that anyone hiring a 'software practitioner' IS in the position to be able to evaluate their competence - the state need not step in. You can further argue that in most cases software threatens neither life nor property. However, in some cases that is clearly not the case. So it's a mixed bag in that respect.

      The other requirement for a rational state-sponsored license would be if one could create clear guidelines as to what 'programming' actually entailed and that one could create a framework that would be able to delineate "good" programmers from "bad" ones. That would be pretty tough.

      --
      Faster! Faster! Faster would be better!
  3. Worthless by Anonymous Coward · · Score: 5, Informative

    The website provided is worthless with regards to its content and appears to be little better than poorly wrought blogspam.

  4. The REAL Ivy League... by Adreno · · Score: 5, Informative

    "Stanford, Princeton, Carnegie Mellon, and Berkeley"... only Princeton is a member of the Ivy League. Brown, Columbia, Cornell, Dartmouth, Harvard, UPenn, and Yale are the others. I can speak from experience in the Dartmouth CS program, that while you have an excellent networking opportunity and grant money is fairly available as a result of the school's renown, more tech-minded schools have superior programs for instruction in CS. Maybe the other Ivys are different though...

    1. Re:The REAL Ivy League... by legutierr · · Score: 4, Interesting

      I'm a Brown CS concentrator, and I thought, and still think, that the program there is excellent. I can't imagine an academic department being any more supportive of its students, or any more interested in making its subject matter accessible and engaging to both first-year novices and senior-year concentrators. The Brown program integrates upperclassmen (and -women) in the running of the department in a way that creates a real community, by providing many, many opportunities for collaboration between professors and students, and by making undergraduates teaching assistants in a way that improves the quality of learning for all parties. It also gives its students a damn good education: it starts by building strong fundamentals in CS theory, mathematics, and practical systems engineering, and then builds on those fundamentals to produce very well-rounded CS graduates with a depth of expertise in a variety of sub-specializations (graphics, theory, systems engineering, operating systems, AI). Brown CS professors are demanding, rigorous and brilliant, but the majority also see their first priority to be to mould the next generation of Computer Scientists, and their second priority to be academic research.

      I don't know how Brown's program compares to MIT, Carnegie-Mellon, etc. in terms of providing real research opportunities for undergrads (probably pretty well, in fact); it certainly does not have the same reputation for graduate studies. Brown CS does accomplish something that I think is even more difficult (and important) than simply providing a strong computer-science education, however: it makes computer science compelling even for those people (like me) who would never have even thought previously to dedicate their professional lives to computers. I would say that Brown CS may be the ideal undergraduate program in computer science; it inspires a devotion for the discipline that can last an entire career, and provides a rigorous and strong preparatory basis for further development, whether that development be provided by industry or by other, more graduate-oriented institutions like Carnegie-Mellon or Stanford. Randy Pausch's story about how he became a computer science educator is really illustrative. Randy Pausch's mentor, Andy van Dam, is only one of the many devoted men and women that make up the department.

  5. Give me a break by Anonymous Coward · · Score: 5, Insightful

    This is ridiculously spammy, and I don't know how this got to the front page. This dude just went to the online course catalogs for these universities and copied the course descriptions and text books, and then put them up with amazon referral links. There is no insight, no comparison between universities, no analysis of difficulty level, no breakdown between theory and software development, and no firsthand accounts. Just lists of textbooks.

    1. Re:Give me a break by hansraj · · Score: 4, Insightful

      Also, what's up with that "exposed" in the subject of the story? I don't see any sort of conclusion about the quality of curriculum (good or bad) to justify that sensational title.

      The only thing "exposed" here are slashdot editors napping while selecting what "stories" go on the front page!

  6. Pathetic Ham by shaitand · · Score: 5, Insightful

    This site is nothing more than a list of recommended list of books with a pointer to them on amazon using his affiliate link!

    I can't believe slashdot posted this. I like robots,

  7. The value of an ivy league education by joeflies · · Score: 5, Interesting

    is not the education itself, but the doors it opens (because people see the name brand), and the connections you make (by knowing lots of other people who have open doors).

    That's not to say that you can't get these things in other ways. But it is easier to get it in that manner.

    My education at state college didn't open many doors, but I don't think that on average, the ivy league graduate has that many legs up on me.

  8. You appear to equate "Ivy League" with "top level" by John+Hasler · · Score: 4, Informative

    Hint: MIT, Stanford, and Caltech are not "Ivy League".

    --
    Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
  9. The Ivy League by coaxial · · Score: 5, Insightful

    I've met several CS grads and grad students from the Ivy League, and have to say I'm not impressed. For all the hooplah around the Ivy League, there isn't a bit a difference between them and any other CS department.

    The Ivy League is just a brand, and a brand that is much more valuable in the liberal arts, not the sciences.

    Same thing pretty much is tru

  10. Here's the deal. by Yaztromo · · Score: 5, Informative

    Okay -- here's the deal with Computer Science, coming from someone who is a Computer Scientist (in training if not always in profession, although at the moment I can speak as someone who teaches upper-year undergraduate courses at a moderately sized University).

    I'm sure everyone has heard the mantra that University isn't intended to prepare you for the working world. To a certain extent this is true, however in order to build partnerships and gain additional sources of funding in Computer Science, this view is generally skewed in practise, with the end result that Computer Science doesn't always appear to be a scientific field of endeavour.

    So here's the issue: if what you're looking to do is get a good paying high-tech programming job, should you study Computer Science?

    In my opinion, no.

    Thirty-plus years ago, Computer Science was generally taught as a science. It was generally about algorithms and theory, and in many cases how they can be applied to science. Courses on things like computer simulation certainly weren't unheard of.

    Along the way, as corporations picked up the pace at which they adopted computers as general-purpose and problem-solving tools, and as the software industry exploded, Universities in general started getting the message that their graduates weren't well suited to software development tasks, and as such they started requiring more courses on software development methods, and "how to program" and "how to create software" -- which by-and-large, isn't really about science or the scientific method, but a problem of engineering.

    Fortunately, as the field continues to mature, some Universities are starting to "see the light", and are offering programs in Software Engineering. Based on my educational and industry experience, software engineers are exactly what most corporations are looking for when it comes to low and intermediate level software developers, and the good programmes emphasize the design of software, while only giving what background is needed into the science behind it all.

    This is how things should be. We don't send physicists out to build bridges, but instead use physicists to come up with the core science, and than have engineers apply it to build the bridge. Software should be no different. At the risk of being labelled a heretic, we need a lot less Computer Scientists, and a lot more Software Engineers.

    Note that this isn't to say that Computer Scientists don't have a role to play; theoretical Computer Scientists still have a significant role to play in determining what is possible, and in the creation of new algorithms to solve problems in the field, and practical Computer Scientists (of which I count myself a member) are needed to design solutions to complex real-world problems, the designs of which can be passed down to software engineers for actual implementation. Plus, both types of Computer Scientist are needed to train future generations in the field, both at the University level, and as general mentors.

    Unfortunately, education hasn't quite caught up with this ideal yet, but it appears to be getting there. Larger schools are starting to provide both types of program, reducing the software development courses in their core Computer Science departments and moving them to Software Engineering departments (with the courses cross-listed between departments, or at the very least allowing students in the one to take courses in the other to supplement their degrees). Smaller schools, however, continue to muddle the two topics into a single programme, which causes the type of confusion often seen here when discussion "Computer Science vs. The Working World".

    So there you have it. All the other sciences have a differentiation between the "science" and the "engineering" aspects, and Computer Science is no different. Eventually I predict this separation of concerns will be the norm, and we'll be all the better for it.

    The conclusion here is, if you just want to get out int

  11. RTFA, it's an ad by AdamHaun · · Score: 5, Informative

    The linked site doesn't have any actual comparisons of the programs, just a list of textbooks with Amazon affiliate links. It's a scam -- this story should be deleted ASAP.

    --
    Visit the
  12. Re:slashdoted by mjpaci · · Score: 4, Funny

    an ivy league kid would've known to put the sight on better hardware...

  13. Underpants gnomes by SoapBox17 · · Score: 5, Informative

    1) Make simple web page linking (with your Amazon affiliate account) to CS books used by several big name schools. 2) Post story on /. making your web page sound interesting or useful even if it isn't. 3) Profit!

  14. MIT curriculum already online by pz · · Score: 4, Informative

    The OP forgot that the MIT curriculum -- the lectures themselves -- are already largely available. The course materials for nearly two thousand courses at MIT are available here:
    http://ocw.mit.edu/OcwWeb/web/home/home/index.htm

    So are all of the lectures from an experiment in Computer Science education that predates MIT's open courseware, http://aduni.org/ .

    --

    Put my fist through my alarm clock with its ding-dong death inside my ear. - The Blackjacks.
  15. First line gives it all away by devnullkac · · Score: 5, Insightful

    Discover what many people have spent tens of thousands of dollars to learn, FREE!

    Any time any web site claims to save you money using the word "free" in all caps, run!

    --
    What do you mean they cut the power? How can they cut the power, man? They're animals!
  16. Re:Interesting project but...do students use books by Beetle+B. · · Score: 5, Informative

    Really good point. Sometimes professors just assign any book and teach out of lecture notes anyway.

    --
    Beetle B.
  17. The achievement of computer science by Animats · · Score: 5, Insightful

    I've been fortunate enough to work on most of the big problems in computer science at one time or another. CPU scheduling. Network congestion. Compiler optimization. Proof of correctness. Secure operating systems. Image processing. Mobile robotics. Game physics. I've done very well financially. I have an advanced degree from one of the big-name schools. So I can't complain personally. Going into computer science worked out very well for me.

    But I'm from the previous generation of programmers. Programming today is mostly about dealing with yet another API with another thousand or so interfaces, some of which work. By the time you're dealing with the fifteenth system for putting widgets on a screen and processing incoming events, you get fed up. Especially since you can see all the ways in which the new ones got something wrong that was a solved problem a decade or two ago.

    Most of the basic algorithmic problems have been solved. Not only have they been solved, the solutions have been packaged up so that you don't have to look at them. How often do you really need to open Knuth any more?

    Computing is the "stationary engineering" of today. About a century ago, stationary engineering, the work of, literally, keeping the wheels of industry turning, reached this point. In 1870 or so, stationary engineering was a growth job that needed smart people who understood the details of engines, generators, and steam. The basics of the field were still being figured out. Counterflow boilers and carbon commutator brushes were hot R&D topics. Just getting the machinery to work at all was tough, and there were serious reliability problems. By 1910 or so, most of the hard problems had been solved; big steam turbines and generators were working reliably, and plant operation didn't require much innovative thinking. Today, stationary engineering is a union job that few people even realize exists.

    Computing is now about where stationary engineering was in 1910. Everything pretty much works, and most of what's going on is not that innovative. We're now dealing with scaling issues, which is where electric power was in 1910.

    There's interesting stuff going on in robotics, parts of AI, statistical methods, and the handling of very large databases. We need small numbers of smart people to push that forward. There are areas of software engineering that need real engineering talent, like video compression and graphics, although such narrow, well-bounded problems tend to move into hardware. But we no longer need computer scientists just to run a data center or to set up business applications and web sites. Just careful, well-trained technicians.

    That's what employers want, and that's what most of the students want. Most of the schools are willing to accommodate them.