My computer science program was very different.  The program was designed (intentionally or unintentionally) so that by the end of four years you had written graded assignments in each of about 20 programing languages.  Occasionally you would be assigned to solve the same problem in different languages.

The faculty regularly told us that spending more than 4-5 hours to master a new language was beneath the skills of a professional computer scientist, and that we should be prepared to redily accept work in any language customers should choose to employ us in.

I have found this to be true.  It takes a few hours to master how each language does the 5-6 things that all languages do and the 2-3 "neat features" the language has.  After that its just learning the libraries.

Its also nice to be able to put an end to the "which language is best wars" with "what language would you like me to program in tomorrow?"