
On Thu, Jul 12, 2018 at 1:24 AM Joachim Durchholz
Maybe that's why Java replaced Haskell in some universities curricula
The considerations are marketable skills.
That's certainly a consideration. I doubt it weighs particularly heavy on the departments at Austin, Berkeley, or MIT however. Their graduates will be plenty marketable regardless of the languages they see most as undergraduates. Another concern is who the courses serve. At my institution, our intro programming courses serve both electrical engineering and computer science, so we have to include the EE folks needs in our considerations. Many institutions (Harvey Mudd has done an excellent job of this) are also serving the wider data science community with the same introductory course (albeit different sections). This is great news for exposing people to computer science, but may impose additional requirements on how you teach. Yet another concern is teaching load. At my (relatively small) state institution, we teach something like 4 sections of programming I, and at least another two sections of intro CS for non-majors. If I were to champion updating that part of the curriculum, it'd be on me to teach those sections, or to work with/train instructors to be able to do so. This is a non-trivial time commitment, and there's not necessarily any guarantee that whoever ended up with the intro sequence after I ran out of energy/time/employment would have the same priorities. A final note is that, just because a department chooses to teach their introductory course in an imperative language doesn't mean they're teaching C-style procedural programming. Look at Harvey Mudd's CS 5 book: https://www.cs.hmc.edu/csforall/. It's taught in Python, but the first half of the book focuses on functional programming paradigms. /g