(-: Given I am nearing the end of my career as a full-time faculty member and am not a teacher of CS1 and CS2, I will leave initiation of any discussion of language usage in the early part of the curriculum to my current and future colleagues. We tend to go through such a discussion about once a decade—changing from Pascal to Java in 1999 (which I supported after introducing Java in what is now our CS3 course) and considering a change from Java to C/C++ (led by the systems-oriented faculty, which I opposed) in about 2008. Given the increases in size of our student body and faculty over the past decade and given our switch to a more lab-based and tool-intensive approach in CS1-2-3, a change would be more difficult now than the switch in 1999. … Given the increased use of Python in our upper-level and non-majors curricula, Python 3 would likely be the leading candidate for the primary teaching language if there was a switch. … And it probably some coordination with the community colleges in the State…and, hence, indirectly with the other public universities.
My current sense is that Scala might could gain some momentum as a teaching language from data science applications like those in the Spark ecosystem, but in data science apps Python has a lot more wind to its back.
My recent teaching in our core curriculum has been in our Organization of Programming Languages course, which has 3rd and 4th year students. The past two years (Fall semester-only class) I have used Haskell and attempted an interpreter-building approach using my own courses materials (partial draft textbook). Unfortunately, getting students up to speed in FP/Haskell takes too long to do as much in the interpreter realm as I hoped. Would Scala be better for that? Maybe (at least if I allow a hybrid approach rather than pure FP).