We expect Masters-level CS students to be able to learn new languages in order to use the best tool to solve a problem, but we try to be flexible with languages when possible to allow students to program in the language in which they are most comfortable. Students should already be proficient in at least one compiled object-oriented programming language.