Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Books Education Programming

Ivy League Computer Science Curricula Exposed 312

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."
This discussion has been archived. No new comments can be posted.

Ivy League Computer Science Curricula Exposed

Comments Filter:
  • by Anonymous Coward on Sunday July 27, 2008 @02:30PM (#24359823)
    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.
    • Agreed. I did not read a *single* book for a EECS course. In fact, I cannot think of a single CS course that even mandated any reading. I will admit though that one of the more interesting classes I took provided two or three research papers every week. Not mandatory, but they were interesting enough to warrant reading. Stuff like the Niagra papers, Supralinear Speedups using Intel Quadcores, and the Cosmic cube.
    • Really good point. Sometimes professors just assign any book and teach out of lecture notes anyway.

      • Re: (Score:3, Informative)

        by Tacvek ( 948259 )

        At my school, for my EE, science and math courses, the books are there solely for the mandatory (graded) homework exercises. The Profs would always cover all the material in lecture, so reading the book was not necessary.

        The book was useful in the event that you missed a lecture, or forgot something, and perhaps for review, but nobody actually expected you to read through the chapters. If you did, the lectures would be pointless, except for hints about what will be on the exams, and any in-class quiz's or e

    • Re: (Score:2, Funny)

      I have to disagree. What books the faculty recommends does reflect upon them. I'll expand on this more later when I'm not trying to keep my site from crashing.
    • In the summer before I went up to Cambridge University to read CS, I went to my local university's library to work through the "required reading". I didn't learn much, but I did the exercises as suggested. When I arrived I discovered that no-one was at all interested in whether I'd done the reading or in marking the exercises I'd done.

      That's not to say that I never used books. I still have the one book I bought which was actually useful: Concrete Mathematics by Graham, Knuth and Patashnik, which inspired my

    • If the reading material reflects the quality of your program then you're at a correspondence university.

      GOOD programs, whether they're acknowledged top universities or the hidden gems at local colleges, are more than the sum of their book lists.

  • by Kupfernigk ( 1190345 ) on Sunday July 27, 2008 @02:31PM (#24359839)
    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?
    • Re: (Score:3, Interesting)

      Probably because nobody's seriously talking about creating a regulatory framework for them like physicians, lawyers, engineers, and (IIRC) accountants have. Any software project that is going to fuck up somebody's life or property in a bad way if it fails probably already has a physician, lawyer, engineer or accountant signing off on it so that somebody can officially take the blame if there's a problem.

      I suspect we won't see any serious talk of regulating software designers or developers until there's som

      • Here in the UK we have at least two post-nominal letter granting institutions, the British Computer Society and the Institution of Analysts and Programmers. You do not have to belong... in the same way you can call yourself an "accountant" without being the equivalent of a CPS, just so long as you do not try to do an audit. We also have National Vocational Qualifications, for which there are programming qualifications that exactly mirror, say, accounting technician levels.

        I can assure you that there are cir

      • Probably because nobody's seriously talking about creating a regulatory framework for them like physicians, lawyers, engineers, and (IIRC) accountants have. Any software project that is going to fuck up somebody's life or property in a bad way if it fails probably already has a physician, lawyer, engineer or accountant signing off on it so that somebody can officially take the blame if there's a problem.

        I can't help thinking that some IT accountability (or basic professionalism) would have helped the UK Government avoid at least some of it's recent disastrous projects.

        I think it's more likely though, that the fields with regulatory frameworks in place, are those fields which have to a large extent finished the rapid phase of their evolution.

        Perhaps when we finish with all X-as-a-service and web2.0 style innovations and actually enter a period of relative stability, such a framework will become useful?

        • Why does such a varied field as technology need a framework for it? Accounting, yes, because it is a fairly tight bundle of sticks; but technology, no, not so much.

          • Re: (Score:3, Funny)

            Because our place in history makes computer technology looks much more varied and chaotic than it will inevitably look once it becomes as tried, tested and mundane as filing tax returns or delivering water or gas to peoples houses?

      • I'd guess that they developed gradually. From a quick scan of my trivia knowledge I can't remember anything...

        Software programming is such a "new" field when taken alongside Engineering, Law and Medical practice.

        The question I want to ask though is what good will regulating the field of programming do? I'd wager that if it is handled incorrectly it could seriously stifle innovation.

        What will the impact on Open Source software projects be?

        And what guise will the regulation take on? Submitting your code for r

      • by ColdWetDog ( 752185 ) on Sunday July 27, 2008 @03:41PM (#24360493) Homepage

        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 [wikipedia.org] 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.

        • by antifoidulus ( 807088 ) on Sunday July 27, 2008 @05:10PM (#24361097) Homepage Journal
          Unfortunately the "license" epidemic is only growing. Interior Designers seriously are lobbying to government to require licenses for interior decorators...because think of how horrible it would be if your house wasn't sufficiently fabulous! The Economist did a piece on this, it turns out the # of professions requiring some type of licensing is increasing fast for the reasons you mentioned. And of course the politicians whose pockets are being lined by these special interest groups' money aren't really doing much to stop it(in fact they are part of the problem).
        • Re: (Score:3, Interesting)

          by paxundae ( 1031998 )
          "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?"

          -----

          Speaking for the legal profession (based on my memories of lectures from a respected professor of legal history, so take this with a grain of salt), it was largely a discriminatory desire to maintain a (white male protestant) monopoly on the profession that led to the current manifestation of the state bar as

    • Re: (Score:2, 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?"

      Computer science is really an information science, or what I like to call a "Hub science". It ranks up their with physics IMHO as one of foundational disciplines. Since one will need some educat

      • Re: (Score:2, Insightful)

        by geekoid ( 135745 )

        "Computer science is really an information science, "

        No, it's not. Sure it's part of it, but hardly the only aspect.

        "The problem is the industry moves very fast and the need to solve problems (which is creating new discplines on the fly faster then academica can catch up) is far out-stripping academia's ability to keep their curriculum updated from 'research in the field' ("

        Again, wrong. What new problem has there been in 98% of the industry? nothing in the last 10 years, and I'm being generous.

        "In fact, I'

    • by ceoyoyo ( 59147 )

      That's how it works in most of the world. To become a professional software engineer you take a software engineering degree (BEng or sometimes BSc) and then do your professional engineer certification (PEng).

      Otherwise you're a programmer.

      • by geekoid ( 135745 )

        WHo as a PE test for software?

        Here there all geared towards civil engineers, and software is explicitly given a pass.

        BTW, a PE is not what makes it engineering. It's just a piece of paper. You can practice good solid engineering without it. I know a few CE that have PE and they couldn't engineer there way out of their ass with a flashlight.

    • Re: (Score:3, Interesting)

      I didn't attend any school to get a degree, I make a 6 figure salary, and manage to seem to know what the hell I'm doing, according to the people I work with. Some of who have degrees and are usually asking me questions, not the other way around.

      So .. I call bullshit. People who have spent/are spending tens or hundreds of thousands of dollars will always try to find ways to justify their choice.

      I hire smart people. Smart people can learn any language or any programming theory in a matter of a few weeks. I

  • Worthless (Score:5, Informative)

    by Anonymous Coward on Sunday July 27, 2008 @02:33PM (#24359859)

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

  • by Adreno ( 1320303 ) on Sunday July 27, 2008 @02:35PM (#24359889)
    "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...
    • Re: (Score:2, Interesting)

      by kazem ( 205448 )

      Yeah, I hate how people tend to think that any good school in the North is "Ivy". MIT isn't IVY, for example.

      • I'm pretty sure Stanford and Berkeley are to the West...
        T hat is unless you live in Southern California.
      • Those aren't all Ivy League, but they are all certainly Tier 1 schools. Maybe the OA should draw his comparisons from Tier 1 schools.

        This topic is a little late for me, but I went to a state university and would be interested to see how my curriculum stacked up against a Tier 1 curriculum. Granted, I have been out of school for close to 10 years now so I am sure it is different regardless.

    • No, the best is in the middle, where it mentions the "World renown Indian Institute of Technology!" Not any other university gets such a well mentioned honor. I'll bet I can guess which school the author of this website went to.
      • The evening online program at the Illinois Institute of Technology is quite popular with Indians. One of our high-ranking executives in India lists "IIT" on his resume. A quick Google search shows him asking for help on a IllinoisIT homework website.

    • They're just using it to mean "university that I could never afford". It's not really relevant, anyway - to put it into context, an Ivy league student probably doesn't know the difference between the Universities of Iowa and Illinois. It's all flyover territory, anyway, an irrelevance of life. What difference does it make if you get it wrong?
      • You know, some of us Midwesterners DO occasionally get into Ivy schools... UIUC is not in flyover territory by being in the Midwest (now, by being in U-C, that's a different story).

        Some of my coworkers at a major company you've all heard of went to UIUC.

    • I can speak from experience in the Dartmouth CS program, [...] more tech-minded schools have superior programs for instruction in CS.

      I think "superior" is off the mark. Computer Science at Dartmouth has close ties (historically) to its math department, so the curriculum emphasizes theory rather than "how do I get XYZ done in language Q." It is very good at the former, and not so hot with the latter -- but I'd always considered the latter to be Software Engineering rather than real computer science, anyway.

      I speak as a Dartmouth grad who is now at the "real" engineering school Georgia Tech, and I have to say that, compared to Dartmouth,

    • Re: (Score:3, Informative)

      by John Whitley ( 6067 )

      Speaking only to the Ivy schools listed, Brown is known for having a consistently outstanding CS program. Their undergraduate CS education in particular is reknowned. They were one of the pioneers in creating a first year program that taught using OO design from the ground up, and were great at engaging the students with interesting problems. I haven't tracked the evolution of their undergrad CS program for years, but I gather via the grapevine that it's still quite strong.

      [Ob. Disclaimer: I have no pers

    • by legutierr ( 1199887 ) on Sunday July 27, 2008 @05:55PM (#24361429)
      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 [youtube.com] story about how he became a computer science educator is really illustrative. Randy Pausch's mentor, Andy van Dam [brown.edu], is only one of the many devoted men and women that make up the department.
  • Give me a break (Score:5, Insightful)

    by Anonymous Coward on Sunday July 27, 2008 @02:40PM (#24359939)
    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.
  • Pathetic Ham (Score:5, Insightful)

    by shaitand ( 626655 ) on Sunday July 27, 2008 @02:43PM (#24359973) Journal

    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,

  • Two classes using the same book, similar assignments, and similar equipment can vary widely because of things like the professor's attitude, the lab- and teaching-assistants' attitudes, the overall attitude of the college or university to allowing and encouraging thinking beyond what is in the syllabus, and a host of other factors that are very hard to capture without actually being there.

    Almost every university has at least one professor students are dying to take even if it means they will get a lower gra

    • I spent 2 years at the Univesity of Washington and then 2 years at Western Washington University, the biggest differences were the individual professor differences regardless of which school. At both schools I had professors that were completely incompetent (seriously), and at both schools there were some professors that were great. The range of good to bad was far broader than I expected.
  • by joeflies ( 529536 ) on Sunday July 27, 2008 @02:46PM (#24360013)

    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.

    • Re: (Score:2, Interesting)

      by mjpaci ( 33725 ) *

      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)

      Thank you!

      The people who wind up at Ivy League Schools (after the kids whose parents went there) are the ones that want it. Cost means nothing because they want the ivy degree so badly they will figure out how to get there. Now, these are the people you want to be around. They're motivated, smart, and will go on to do big things more often than those who didn't go to a high-caliber school.

      --Mike

      • Re: (Score:3, Insightful)

        by TomRK1089 ( 1270906 )

        "Cost means nothing..."

        Then, to put it bluntly, they're idiots. Do the math; graduate with the same degree debt-free from a state university like I will, or owe hundreds of thousands of dollars as soon as the ceremony ends? Guess what? My dad was hired right out of college at URI by Raetheon. He was working next to Harvard and MIT grads, and they were all getting paid the same. It's really true that after the first job interview, no one cares where you graduated from.

        Well, that's my rant, mod it down as you

    • by Skye16 ( 685048 )

      Did you mean "at a state college, or at State College [statecollege.com], (in other words) where Penn State Main is?

    • But it is worth the costs. Having a Harvard or MIT may help however it could hurt too. I've seen places that actually avoid hiring new grads from Ivy League schools unless they can really prove themselves. The problem is they mold them to be Grad Students and PHD's but if they get their B.S. they feel like they are hot shots who know it all and quickly get dissatisfied that they are regulated to drudge work like the rest and not placed in R&D were the PHD are. The reason why they are not hired because t

  • by John Hasler ( 414242 ) on Sunday July 27, 2008 @02:47PM (#24360019) Homepage

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

  • The Ivy League (Score:5, Insightful)

    by coaxial ( 28297 ) on Sunday July 27, 2008 @02:48PM (#24360029) Homepage

    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

  • Major Difference (Score:3, Insightful)

    by warrior_s ( 881715 ) * <(moc.liamg) (ta) (3eldnik)> on Sunday July 27, 2008 @02:50PM (#24360045) Homepage Journal
    One of the major points that differentiate a good school from an average is the quality of teachers teaching the subjects and performing research.
    Even if exact same books and syllabus is used, students will learn material differently from different teachers.
  • Used to be they beat up the freshmen with assembler, C, and vi, and they liked it. Not sure if they pussified the curriculum since then...

    • by tyrione ( 134248 )

      Used to be they beat up the freshmen with assembler, C, and vi, and they liked it. Not sure if they pussified the curriculum since then...

      If that's the qualities of being a tough curriculum then any PAC-10 University does that and much more.

    • I go to a decent school, Kutztown University (PA, USA), and as a freshman I was expected to ssh to our Solaris box to write C++ code using vi (or emacs, if you like that kind of thing). Sophomore year was SPARC assembly, C, Java. Junior year for me (give or take a few semesters, I tend to do poorly in non-CS courses) was functional languages with ADA95, AI using PROLOG and LISP, Operating Systems we got to choose our languages (I used Perl and Java), and a little more lower level C stuff, with the usual m
  • Here's the deal. (Score:5, Informative)

    by Yaztromo ( 655250 ) on Sunday July 27, 2008 @02:54PM (#24360081) Homepage Journal

    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

    • 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".

      Or causes most of the students to have no interest in theory courses, which is what happens at my school. We have a total mishmash of pure theory and applied (like software design and databases) and end up producing a lot of very muddled code monkeys 'cause just about the entire curriculum is electives past sophomore year. (And that's just comp sci, compE is even worse 'cause it's a semi-random assortment of CS and EE courses.)

      Part of the mess is that the staff is heavily theory people, so they don't seem a

      • Re:Here's the deal. (Score:4, Interesting)

        by Tony Hoyle ( 11698 ) <tmh@nodomain.org> on Sunday July 27, 2008 @03:35PM (#24360445) Homepage

        We have a total mishmash of pure theory and applied (like software design and databases) and end up producing a lot of very muddled code monkeys

        CS hasn't changed then. When I did it (1991) they made us learn Ada, 68k machine code, Pascal, Statistics and Double Entry Bookeeping - that the was supposed to make us into 'Software Engineers'.

        When I'm looking to recruit I actually prefer people who've worked their way up than those with CS degrees for this very reason.

        • by sheldon ( 2322 )

          When I'm looking to recruit I actually prefer people who've worked their way up than those with CS degrees for this very reason.

          The problem I have with the people who work their way up, is they cannot troubleshoot issues. They don't understand why things work the way they do.

          I didn't used to put a lot of faith into my ComSci degree until later on in my career when I realized that I knew more than many of my colleagues.

    • by tyrione ( 134248 )

      As a Mechanical Engineer who went on to do Computer Science I can assure you it's nothing like Engineering and thus nothing like an Applied Pure Science; and nor has it ever been.

      It's still too much of an Art and if your curriculum is encumbered by the talent on the staff who aren't current with both Theory and Practical you haven't a chance at working for Apple, Sun, IBM, et.al,, within their Core Engineering groups, unless you naturally have the ability to be both adept at socializing and technically quic

  • RTFA, it's an ad (Score:5, Informative)

    by AdamHaun ( 43173 ) on Sunday July 27, 2008 @02:55PM (#24360091) Journal

    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.

  • Underpants gnomes (Score:5, Informative)

    by SoapBox17 ( 1020345 ) on Sunday July 27, 2008 @02:57PM (#24360111) Homepage
    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!
  • It appears that the author of the website gathered a >very minimal set of data on a few different programs for around a dozen different schools. And as has already been pointed out, it is mostly just which courses use which books.

    I hope the author didn't use too much time that could have otherwise been spent learning actual science (including computer science) on that exercise.
  • Tuition ? (Score:2, Funny)

    by karvind ( 833059 )
    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.

    Tuition for sure :)

    • Definitely agree with you. Tuition paid out-of-pocket at state schools is a hell of a lot higher.

  • Different Goals (Score:4, Interesting)

    by Tablizer ( 95088 ) on Sunday July 27, 2008 @03:04PM (#24360185) Journal

    Big-Name universities have nearly a single goal in mind: Published Papers. This is what fuels their reputation. This tilts their approach toward high-risk-high-reward research. However, 99% of all graduates will need real-world skills for the here-and-now at non-R&D places, and this may be where State-U excels, or at least even.

    Most State-U's generally have given up on the "research run", freeing them to focus on marketable skills. Big-name U's still struggle with this balance.
       

  • and I go to a public college in New York. Lots of the ones I have aren't very good, and one of my best books is a "Data Structures in C++" book that's not on the list at one (or more, 'could only get to a few pages) of these schools. Book lists don't tell a thing, 'cept maybe what's the flavor of the semester for a certain professor (as he's the one who determines which book to use.)

    I'm much more interested in how the entire curricula is structured, 'cause that's what's really important. What are freshman c

    • Would it be the Ford & Topp version of "Data Structures with C++ using STL" like the old beat up version that I'm looking at on my shelf? Worth its weight in gold and has a permanent place on my shelf! Good point.
  • by pz ( 113803 ) on Sunday July 27, 2008 @03:42PM (#24360495) Journal

    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 [mit.edu]

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

  • by devnullkac ( 223246 ) on Sunday July 27, 2008 @03:44PM (#24360525) Homepage

    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!

  • by Pvt_Waldo ( 459439 ) on Sunday July 27, 2008 @03:56PM (#24360623)

    Already been posted, but what a load of commercial, not very useful crap.

    Editors, why not create a new "Commercial" category for this kind of stuff? It's not the first time we've seen commercialism slip through. Or why not let us readers vote on stories even once posted? "Duplicate", "Useful", "Commercialism", etc.

  • Keep this in mind and all will become clear.

    If all you want is a job, then CS isn't for you. If what you want is to study and understand *computation*, then CS is for you.

    Unfortunately, a lot of schools muddy the waters by wrapping up a technical training program and call it CS. It isn't.

  • by koko775 ( 617640 ) on Sunday July 27, 2008 @04:07PM (#24360701)

    ...it's the instruction. The book lists say nothing of the focuses the classes take or the background the classes give.

    As an educator and an undergraduate student at UC Berkeley, many classes make ill use of the books. In fact, in CS164 last semester, NO textbook was used -- at all! In fact, for all of the CS classes I've taken so far, I have not needed to read the associated book at all.

    The strong point of these institutions (or, at least, Berkeley) is the legacy of good materials and resources that instructors leave behind, and the active monetary and personal investment of all the faculty in improving things for the next generation of students.

    Books are the LEAST influential element in making a good CS program. This site might be totally serious in comparing the curriculum, but it completely misses the point.

    • [...]
      The strong point of these institutions (or, at least, Berkeley) is the legacy of good materials and resources that instructors leave behind
      [...]

      Would you be referring to BSD, or LSD?
      *Sorry, I couldn't help myself when I read that!* ;)

  • "There have also been discussions here on Slashdot about whether any Computer Science curriculum gives students the knowledge they need for the working world."

    Should it? I'd feel shortchanged if my university gave me some vocational training rather than bringing me up to speed in the academic discipline of "Computer Science". If I want some vocational training I can go to the local college and take the "Be a programmer in 6 months!" program

    Math != accounting, Biology != how to run a PCR machine, CS !=
  • by ndogg ( 158021 ) <the@rhorn.gmail@com> on Sunday July 27, 2008 @04:19PM (#24360775) Homepage Journal

    The best text book I had to read in college was, "503 Service Temporarily Unavailable." I don't remember what that one was about though...

  • by Animats ( 122034 ) on Sunday July 27, 2008 @04:26PM (#24360801) Homepage

    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.

  • New site? (Score:2, Funny)

    by amaupin ( 721551 )
    Can someone please create a new site like Slashdot, except with actual editors?
  • Unfortunately, their web server was unprepared for the onslaught of nerds and is currently suffering from unresolved emotional issues.
  • What you should be looking at is which school are you more likely to make th best contacts at for what you want to do.

    "You don't go to Harvard to study. You go to Harvard to make contacts."

  • For What It's Worth (Score:3, Interesting)

    by Comatose51 ( 687974 ) on Sunday July 27, 2008 @09:08PM (#24362903) Homepage

    I can't tell you how the computer science programs compare because I've only gone through one of them and that's from Yale. Having worked in the industry for a few years now, I would say that I'm glad I went to Yale and majored in CS. I don't pretend that Yale is somehow better than all the other schools out there, especially compared to the more technically oriented schools. A professor of mine even admitted this to me, "We're no MIT" but then he followed up with, "If you want to do something substantial you must pioneer a new field." So there you have it. Yale is no technical powerhouse but it does do things that are kind of new and out there.

    With the overviews out of the way, here's what I really love about the Yale CS program:
    1. Very academic and theory based. There is no classes for a specific language. You learned a language as part of some other course. If the professor happened to pick C, then you learned C on the side by reading K & R. The professor will tell you which chapters you will need to read but that's it. The class is about systems so you learned that.
    2. Small class sizes and informal interaction with professors. It was generally encouraged to call your professors by their first name and really get to know them. You also learned a lot outside of classes and from discussions. A professor invited me to attend some discussion groups that some professor and graduate students were having because he thought I might be interested. From my experience, I wasn't just a student or a bucket but considered an active contributor.
    3. Probably the most valuable lesson I learned was having the attitude to not be frightened by problems or new concepts. They like to demystify things and show you how simple everything is underneath. Wonder how something works or should work? Go read the RFCs. I think that's where point #1 really came in handy. Once you have a solid foundation in theory, it became easier to understand how the more complex systems and concepts work.

    Obviously this came with some disadvantages. One Microsoft recruiter complained to my professor that Yale students seem to lack practical experience and I have to agree. Coming out of college, I probably knew less about existing APIs than others but that didn't take long to rectify. I think Yale knows this which is why they're more concerned with a solid foundation in theory than any specific APIs. Furthermore, this can be remedied with the right internships during the summer.

    I'll leave you to be the judge of how the programs compare.

  • by peter303 ( 12292 ) on Monday July 28, 2008 @12:03PM (#24370299)
    (We'll argue whether MIT is ivy somewhere else.) Most of the specific-knowledge courses like OS-360, PL/I, APL, LISP are in the dustbin of history. The general knowledge courses in algorithms, digital electronics, mathematics are still relevant and haven't changed a whole lot in three decades, although new software engineering techniques continue to be added.

    That cache of "ivy" helps you stay in the job market, even long after many software engineers in our fifies are long put out pasture. Ironically many of the classmates I've kept in touch with switched to software after majors as diverse and geology, biology and music.
  • Big difference... (Score:3, Informative)

    by fugue ( 4373 ) on Monday July 28, 2008 @01:24PM (#24371567) Homepage

    I did a computer science BSE at Princeton, and now I'm a PhD student a U of Colorado, Boulder. Forget assigned reading--Princeton and MIT, at least, have their intro CS problem sets online (anyone interested can track them down pretty easily). As for CU, I'm not going to make it too easy either (don't want our little server to get /.ed) but try searching for FractalGrading and going from there.

    My experience at CU (as a TA 3 years ago; things may have changed) is that the emphasis here is on exposing students to C++ syntax, and then seeing an example of how to use it. Students end up lost, unable to think. When they're asked to turn a thought into an algorithm, they start by naming some C++ syntax, and, unsurprisingly, that's about as far as they get. At Princeton, we were given a though, shown how to build an algorithm, shown how what we knew already wasn't quite adequate (ie. taught why we might need some concept), shown the concept, taught a small amount of syntax that would let us program the concept, and then given a programming assignment in which we put it all together.

    Basically, at Princeton we learned to think like programmers, whereas at CU we expose students to a large set of tools without rhyme or reason. The result is that people who come in to the CU curriculum already knowing how to program do fine, and the rest struggle and become frustrated. Since grading reflects on the teaching as much as on the students, we basically pass everyone, even though by the end of the intro course half the students wouldn't be able to understand the idea of a linked list, let alone implement one.

    Of course, there is a vast difference between the intelligence of the average student here and that at Princeton. But I have seen no research comparing the method of teaching here to the method at an "average good school", and my personal experience is that it doesn't work very well.

Get hold of portable property. -- Charles Dickens, "Great Expectations"

Working...