First of all, hats off to you for teaching Rust at university. We need more of this!

Since this is for an introductory computer science class I would take care with first impressions. You may be interested in the community, governance and language comparisons but I’m not sure how useful a student will find such a thing. They probably haven’t yet experienced the pain points of various languages, at least in the workplace. Rust offers many opportunities to teach general computer science and I would dive right into that.

About first impressions, I was introduced to C++ multiple inheritance through the most contrived, complicated and confusing midi audio engine my professor could come up with and it sure as hell made me never want to use inheritance of any form ever again. That turned out to be a good thing but what if it wasn’t?

I think that students should learn how to model problems using polymorphism through traits and generics. As a student I would have liked to make something interesting like a screensaver which evolves as a lindenmayer system or something. That way both the weak and the strong students can go down their own rabbit holes. Something they can see and show their friends. Topics like mutability and borrowing can be introduced piecemeal.

I don’t know how you can teach students how to read code but in industry that is 90% of what they will be doing and they might as well become good at it.

Yes you're right. For my immediate need (next week) the students all have taken Python or Java for at least a year. I'll look for ways to add modeling of problems as you suggest.

Great! I found the rustlings exercises to be an invaluable resource when learning Rust way back when. This and the Rust Book were excellent. Above all else (and there is so much good stuff out there) I'd recommend those two resources.

https://github.com/rust-lang/rustlings

https://doc.rust-lang.org/book/index.html