-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create more and better exercises #1082
Comments
The reorg being planned in #1073 involves a lot more "spots" for exercises, so it'd be great to write exercises that fit in those spots, rather than just more exercises :) There are already a few new exercises mentioned in that PR (but not fully written yet), but a bunch of segments just have "Exercise: ???" at the end. |
Good point! 😄 The part about adding more scaffolding should help here, right? It's easier to do a 10 minute exercise if we provide most of the answer already. |
Yes - we definitely need to have better, shorter time-boxes for the exercises. I think it's OK for some segments to have slightly longer or shorter exercises, but probably 15 minutes is the max. |
The rewrite in #1073 has a lot more exercises, so we can mark this as fixed when that is merged. |
I've taken some work by @fw-immunant and others on the new organization of the course and condensed it into a form amenable to a text editor and some computational analysis. You can see the inputs in `course.py` but the interesting bits are the output: `outline.md` and `slides.md`. The idea is to break the course into more, smaller segments with exercises at the ends and breaks in between. So `outline.md` lists the segments, their duration, and sums those durations up per-day. It shows we're about an hour too long right now! There are more details of the segments in `slides.md`, or you can see mostly the same stuff in `course.py`. This now contains all of the content from the v1 course, ensuring both that we've covered everything and that we'll have somewhere to redirect every page. Fixes #1082. Fixes #1465. --------- Co-authored-by: Nicole LeGare <dlegare.1001@gmail.com> Co-authored-by: Martin Geisler <mgeisler@google.com>
One of the more consistent asks from course participants is more exercises. People like the interactive form, but they also want to play with Rust themselves.
The current exercises have some problems:
To solve the above, we should write new exercises. The exercises should be trivial: the participants should be able to come up with a correct solution in 30 seconds — the challenge should be "How to implement this in Rust?" The Luhn exercise is a good example: it's easy to see how to solve it in a C-like way where you just iterate through the characters one by one and ignore most error cases. So students can start with that version and iterate on it to make it nicer.
Exercises can also be less free-form than the current exercises. If we provide more scaffolding for the students, we can guide them better and ask them to implement a bigger task. This is something we should do for the link checker exercise. We should provide most of the solution and just let students fill in 20-30 missing lines. That reflects how engineers typically work: you read a lot more code than you write and you are often asked to work in an existing system.
The text was updated successfully, but these errors were encountered: