As part of my Computer Science degree, we covered UML in quite a bit of depth as part of a software engineering module. Whilst some parts did seem useful, a lot of it was interesting but not very practical. The specification itself was also not very accessible when I tried to read it.
With that said, I've never come across UML being used a lot in the context of an actual software engineering role (perhaps with the exception of sequence diagrams to model protocols). Sometimes a vaguely UML-ish class diagram might be drawn on the whiteboard, but it's very informal.
Assuming that most CS degrees will incorporate some amount of software engineering theory alongside the usual computation theory and data structures etc. style modules, to what extent (if any) should UML be covered?