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 practice, this means becoming comfortable with the notion of command-line computing, text-file configuration and IDE-less software development.

Matt hit the nail on the head with his points on the Unix Philosophy. It is imperative for every computer science student to be well versed in the Unix philosophy. Emphasis on the philosophy. Vast swaths of programs targeted to one specific task is a powerful approach to computing. And one with which many students are never acquainted.

For computer scientists and programmers, learning Unix shows a deep understanding of the entire development process. When I took 'Introduction to Programming' we spent the first month learning Visual Studio 2005. This allowed everyone in the class to type their code (mostly copied from the textbook or the internet), push a magical key sequence (ctrl-F5), and see the results. A better approach would have been to use Unix as an IDE.

Tom Ryder provides an excellent argument detailing the advantages of this approach. I would suggest that everyone grok this series. Someone should probably develop a course around this idea.

After finishing my Bachelor's degree I fully embraced the Unix Philosophy and vowed to eliminate Windows from my life. While this was extreme (and possibly not the best approach for everyone) I have never looked back.