Computer scientists should be comfortable with and practiced in the Unix philosophy of computing.
The Unix philosophy (as opposed to Unix itself) is one that emphasizes linguistic abstraction and composition in order to effect computation.
In constructing sound simulations, a command of probability and (often times) linear algebra is invaluable.
In interpreting results, there is no substitute for a solid understanding of statistics.
In practice, this means becoming comfortable with the notion of command-line computing, text-file configuration and IDE-less software development.
Given the prevalence of Unix systems, computer scientists today should be fluent in basic Unix, including the ability to: Some computer scientists sneer at systems administration as an "IT" task.Learning C imparts a deep understanding of the dominant von Neumann architecture in a way that no other language can.Given the intimate role poor C programming plays in the prevalence of the buffer overflow security vulnerabilities, it is critical that programmers learn how to program C properly." I've tried to answer this question as the conjunction of four concerns: My thoughts below factor into both general principles and specific recommendations relevant to the modern computing landscape.Computer science majors: feel free to use this as a self-study guide.(Sorry, as much as I love them, La Te X-based presentation tools are just too static.) For producing beautiful mathematical documentation, La Te X has no equal.All written assignments in technical courses should be submitted in La Te X. Computer scientists and traditional engineers need to speak the same language--a language rooted in real analysis, linear algebra, probability and physics.Lone wolves in computer science are an endangered species.Modern computer scientists must practice persuasively and clearly communicating their ideas to non-programmers.For a small fraction of students, this syntax is an impediment.To be blunt, if these students have a fundamental mental barrier to accepting an alien syntactic regime even temporarily, they lack the mental dexterity to survive a career in computer science.