Modern Day CS Curriculum
djb_hackernews: If your CS Program is teaching languages, then it's not a CS Program.Most programs use languages to teach different programming paradigms. For my CS program we used Java for introductory OO, and Data Structures and Algorithms and Scheme for functional programming. After that students were generally encouraged to choose a language they felt comfortable with to illustrate their understanding of the course's topics.There were some exceptions (Computer Architecture was some ARM assembly, Operating Systems was purely C, Robotics was C, etc.)If your CS Program is teaching languages, I'd suggest you spend your effort to convince them they need to teach Computer Science concepts instead and not worry about languages.If your CS Program is teaching core concepts, but you don't feel you are learning how to program, well that is a common misconception about CS. If you didn't get as much out of your OO/functional courses as you would have liked, maybe there is an upper level Software Engineering course you could take? (My program had one that was mandatory)It sounds like it's somewhere in between, so my suggestion is get them to toss the practical stuff for core/ required classes and offer electives that do teach the practical. If you need help convincing them, just show them course titles/ cirricula from MIT, Stanford, etc.