University education…a rant

Why, oh why, do universities not teach Ruby on Rails? Seriously. And why do Computer Engineering departments not overlap with Computer Science departments? As in, CE (college of engineering) is in a completely separate college than CS (college of liberal arts). This makes no sense.

  • eriiicam
    In other news: Goshen College is offered a one-time course in web application development using Django (the Python framework equivalent to Rails) this semester.
  • Alec Hipshear
    Universities don't teach Ruby on Rails because universities are not vocational schools. Universities teach theory, ideas, and thought processes, not individual implementations. This is also why universities do not, as a rule, teach each of: Drupal, Django, WebX, CakePHP, Zend, web.py, Google Web Toolkit, Struts, Spring, Wicket, and all the 10,000 other web frameworks available today. The idea would be that a CS department teaches students how to PROGRAM and the THEORY of computer programming, rather than any one explicit technology. If a school taught only COBOL, for example, it would have seemed very progressive 20 years ago, but the students it produced would be very unprepared for new programing languages and paradigms today.

    And not all universities put CS in a liberal arts college. GVSU, for example, put CS in it's own school, that of Computing and Information Systems, which falls in the Padnos College of Engineering. IU does the same thing - it puts CS in its own School of Informatics and Computing, which could fall under the College of Arts & Sciences or the School of Informatics and Computing. Where this department is placed usually depends on how a university views Computer Science, and programming in general.

    Is programming a feat of engineering? I say, no. Engineering is much more straightforward, much more structured, much more based on repeatable experimentation and proven mathematics. You can replace one chemical engineer with 4 years experience for another chemical engineer with 4 years experience and, given the same problems and support to solve these problems, expect equal effort and time taken to solve these problems, with reasonably similar results. This is not at all true for programmers, as programming is much more of an art form, which you should know. Two programmers will look at a problem in two very different and equally valid ways, go about solving this problem in equally different ways, and come up with wonderfully different solutions.

    In other words, you should be worried when universities put CS in the college of engineering. It shows an old-minded approach to computer science and programming that has no place in education. And you should be worried if they teach Ruby on Rails, because they're teaching an implementation, not a thought process.

    Hire people who have learned how to learn technology and are already good programmers, not people with N years experience in {technology of the week}.
blog comments powered by Disqus