4 ms·
You could take a look at exercism.io. I just started the exercises on there yesterday so I don't have an informed opinion on whether they are good or not overal
by mattherman 9y ago
You could take a look at exercism.io. I just started the exercises on there yesterday so I don't have an informed opinion on whether they are good or not overall, but it might be what you're looking for.
http://exercism.io/languages/rust/about http://exercism.io/languages/rust/about
- mswift42 9y agoNo, I mean that every chapter ends with exercises testing your knowledge about the chapter's contents. This is not specific to this github site. I've recently read the O'reilly Programming Rust Book, not a single exercise in it, and the official The Rust Programming Language Book also doesn't have any.
- shepmaster 9y ago> and the official The Rust Programming Language Book also doesn't have any Could you expand on bit on what you see as the difference between an "exercise" and the "projects" that the book includes? - Guessing game: https://doc.rust-lang.org/stable/book/second-edition/ch02-00-guessing-game-tutorial.html https://doc.rust-lang.org/stable/book/second-edition/ch02-00... - I/O: https://doc.rust-lang.org/stable/book/second-edition/ch12-00-an-io-project.html https://doc.rust-lang.org/stable/book/second-edition/ch12-00... - Web server: https://doc.rust-lang.org/stable/book/second-edition/ch20-00-final-project-a-web-server.html https://doc.rust-lang.org/stable/book/second-edition/ch20-00... There's also some exercises scattered at the end of various chapters, but not with the header "exercise" - Control flow: https://doc.rust-lang.org/stable/book/second-edition/ch03-05-control-flow.html#summary https://doc.rust-lang.org/stable/book/second-edition/ch03-05... - Collections: https://doc.rust-lang.org/stable/book/second-edition/ch08-03-hash-maps.html#summary https://doc.rust-lang.org/stable/book/second-edition/ch08-03... Sometimes they are even inlined with the text: > Try modifying Cacher to hold a hash map rather than a single value. > try introducing more generic parameters to increase the flexibility of the Cacher functionality. - https://doc.rust-lang.org/stable/book/second-edition/ch13-01-closures.html#limitations-of-the-cacher-implementation https://doc.rust-lang.org/stable/book/second-edition/ch13-01...
- chc 9y agoI think this is the difference between the "projects" all through the book and the "exercises" the earlier commenter is looking for: The projects in the Rust book are just a construct to give the example code context. It's not you working through the problem — it's Steve Klabnik, with you just following along. In fact, a reader who is actually learning Rust can't do the projects, because they don't have the requisite knowledge before reading the chapter that the project appears in. "Exercises" are more of a challenge: "Now that you know this stuff, try to accomplish X task on your own." By accomplishing the task, you both prove to yourself that you understood the material and help solidify it in your mind. Retyping code doesn't give the same benefits or experience. The second list of examples you gave does seem like the right sort of thing. I'm guessing the earlier commenter overlooked those because they're listed under the header "Summary," which kind of screams "skip me."
- steveklabnik 9y ago> In fact, a reader who is actually learning Rust can't do the projects, because they don't have the requisite knowledge before reading the chapter that the project appears in. Hm, we certainly expect that this is possible. If this is too hard, we need some tuning!
- chc 9y agoI think maybe I was a little bit imprecise. It's not that the projects are too hard, but that the way the book is structured doesn't give you what you need to complete the project before giving you the project itself. They're a "follow along" thing, not a "here, now you're 100% ready for this" thing. The projects tend to be designed to illustrate the concepts introduced in the chapter, so a reader can't do the project before they've read the chapter, because they don't know the things that the project is meant to teach. And after they've finished the chapter, they've already finished the project just by following along — but they haven't actually demonstrated any mastery of the subject in doing so. For example, it's not like somebody's going to start TRPL, see "Let's make a guessing game," stop there and successfully make a guessing game — they don't know any Rust at that point! Similarly, IIRC we're not introduced to most of the IO functionality before the IO project, and so on.