If it’s compsci, then it doesn’t need to be bare metal. It should be a language that’s good at demonstrating abstractions. Java wouldn’t be my choice, here. Elixir would be a good one.
You might want bare metal as a prereq to an operating system course.
If it’s software engineering, OTOH, then yes, a bare metal language has a bigger place.
There’s a model that id used for open sourcing their engines. The source code is open, but the assets (textures, models, sounds, etc.) are still copyrighted and you still have to buy the game to get them legally. This means the company still sells copies on Steam or wherever, and games that replace all the assets can still sell them without any licensing costs, too.
I’m a little surprised this model never caught on. Even id only ever published the engine to the previous game–Quake 3 was open sourced a little after Doom 3 was released–and the practice seems to have stopped when John Carmack left.
Possibly because nobody has tested it in court, or some other subtle legal issue?