In smaller companies, whether or not a programmer can communicate her ideas to management may make the difference between the company's success and failure.
Unfortunately, this is not something fixed with the addition of a single class (although a solid course in technical communication doesn't hurt).
Computer scientists ought to take physics through electromagnetism.
But, to do that, they'll need take up through multivariate calculus, (and differential equations for good measure).
More classes need to provide students the opportunity to present their work and defend their ideas with oral presentations.
I would recommend that students master a presentation tool like Power Point or (my favorite) Keynote.
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.
The difficulty of learning the understand programming languages, one must implement one.
Ideally, every computer science major would take a compilers class.