UML is still used in the trenches. But, as always, people use a subset of it. Which subset is subject to the problems at hand.
UML comes in many versions. But, as always, people use it's symbols informally and inconstantly.
UML is how we understand much of the patterns books out there. It's also one of the ways we communicate on the whiteboard. It isn't gone. But it's never going to be used as formally as code.
Rather than producing students who can correct any UML diagram to comply with UML version 2.5, or whatever is the latest, produce students that can understand what the diagram is trying to communicate even if it isn't fully consistent with a particular UML version because that's how UML is used in the trenches. It comes in weird local dialects, mixed with other systems, and sometimes we just make up our own symbols.
Teach them that it's ok to ask what things mean. Don't teach them to correct others that are breaking some imagined rules. We're just trying to communicate here.
The best use I've seen uml put to is letting a new programmer show us their plan to solve a problem. It quickly showed us the parts of the system they've neglected or didn't realize existed.
I've also worked places that required UML even when not needed. We were always using the same pattern so it was just a formality. We got to the point that we just photo shopped new names into old diagrams. Don't encourage this kind of use.
But I think we all know there's a difference between the normal arrow head and the open arrow head. Right?