We did end up making this switch later on due to growing class sizes anyway. That certainly helps focusing the class. We ended up focusing on computation more for the CS sequence and on the nuts and bolts of getting a program working for the non-CS sequeunce.
But my rationale for moving to Python still stands. In fact, I know several brilliant ML researchers who write code that would never come close to making it to production. The things we optimize for are different. Production code in a tech company needs to be readable, maintainable, explainable, and scalable. An ML researcher's code needs to support their research. These different perspectives are still why I think focusing on a wider appeal language like Python over something like Scheme still makes sense.
FWIW our CS program mandated a programming languages class and the first third of the class was taught in Scheme.
>FWIW our CS program mandated a programming languages class and the first third of the class was taught in Scheme.
This is important but doesn't replace having a dual-track intro sequence. The reason one has "physics for physics majors" isn't because physics majors need to learn some of this complicated stuff ASAP. They definitely don't, and I don't doubt students in the program will eventually get a well-rounded education. But it's a good idea to give incoming students a taste of what the field is like as soon as possible, so they can see if they like it or not. (Essentially it's a "weeder", but for the students' sake so they can self-select on interest and not just instructional staff's sake of being elitist.) Probably some (but not all) professors/postdocs/grad students would scramble to teach the more advanced sequence as it is likely more engaging for them than the current intro curriculum.
To be clear I don't think an advanced intro CS can't be in Python on principle, but such a class probably introduces multiple languages to some degree: they could be toy assembly languages or real ones in addition to the majority of the course content in Python.
But my rationale for moving to Python still stands. In fact, I know several brilliant ML researchers who write code that would never come close to making it to production. The things we optimize for are different. Production code in a tech company needs to be readable, maintainable, explainable, and scalable. An ML researcher's code needs to support their research. These different perspectives are still why I think focusing on a wider appeal language like Python over something like Scheme still makes sense.
FWIW our CS program mandated a programming languages class and the first third of the class was taught in Scheme.