https://github.com/sixarm/rust-101
So far there are 90 topics that newcomers ask about. What topics can you suggest that can help people who are learning Rust? Thanks!
Picking a section, look at everything under "Concepts". Almost all of these pages tell you nothing about what it means to apply the concept or practice to Rust. They are about "X in Rust" because the words "in Rust" are scattered about in them, but remove those and nothing is lost.
And for a page that actually is applicable to Rust, (picked because I'd used the library recently) your page demoing CLAP is out of date, which makes sense given you mention using ChatGPT to generate the content (same as the above). It's out of date by over a year now. 3.1.0 deprecated the API calls you're using in your example, and they're absent in 4.1.8 (current version).
I opened a lot more pages and saw similar issues to the above but I didn't feel like cataloging them. If you want this to be a page to give people new to Rust, you need to give them content that is current and actually applicable to Rust. At least make the TDD page point to other existing sources on how to use TDD in Rust, for example, even if you don't flesh it out yourself.
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.
Some things missing are Copy vs Clone and Send vs Sync, both of which are commonly asked about in Rust-focused tech screens.
Compiling gcc or XFree86 25 years ago was much easier.
1) http server
2) json parser
3) csv parser
4) file system search
5) task scheduler (build jobs, test automation tasks, personal task list)
6) perf tool
7) file system copy (directory with sub directories) with hash validation
8) zork game
9) function profiler
10) code coverage tool
11) command shell
12) meta data (media ID3) tool