Your right about the second, but the first is more arguable.

Not because they will ever actually build a compiler from scratch in the real world. But because they won't understand them if they don't show them what is under the hood at some point. Nothing but theoretical design with no grounding in reality is one of the big problems with a lot of education.

Jay