I graduated two years ago with CS and Math degrees and I took a compiler course. I think the fundamentals they teach are useful far beyond compiler design. It was not a required course, but it was well worth the time.
Many solutions to problems I solve every day can, or do, borrow ideas and concepts from compiler design as well as OS design and concepts.
However, I do not agree with dropping Calculus from the CS cirricula. Calculus is a great way to teach students to think logically, and to make connections between what they are currently doing and what they have done in the past.
What I mean by this is it forces students to look back at their prior math experiences and combine the concepts they learned with the concepts they are currently learning such as applying Algebra to Calculus. It's all about the thought process.
Keep Up with TechRepublic