-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Reorder material on first two days #913
Conversation
Thanks @fw-immunant! When discussing with @gribozavr and @scentini, we talked about moving more of the difficult stuff to the morning slots: the thinking was that people would be more energized there compared to an afternoon slot. So moving almost all of the syntax slides to Day 1 afternoon seems good! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Left some minor comments here, but I suspect that PRs aren't the best medium for discussing a reorganization of the course. I'm not sure what is, though!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I paged through the course locally and I like it! Some small notes:
-
Please update the small course overviews on
-
running-the-course/course-structure.md
-
welcome-day-1.md
, and -
welcome-day-2.md
-
-
Please create a
control-flow/novel.md
file for the new chapter. -
Can we add a small pattern matching exercise which asks students to evaluate an expression tree using a recursive function? Something like this. All the boxing might be rather confusing, though?
Alternatively, we should make the link a placeholder like in my other comment.
-
Please remember to update the
redirect
table inbook.toml
if you move any file (doesn't seem to be the case here)
Hey @fw-immunant, I like this a lot! I would like you to already think about how we can remove the "Basic Syntax" section (or at least rework it). It doesn't make so much sense after this PR since we cover most of it again right after the break: So we should have a PR to fix that right after merging this one 😄 |
9892d56
to
68e34a8
Compare
fdd33ca
to
4cbec64
Compare
From CI:
But this PR does remove |
Hi @fw-immunant, I think this just needs a little rebase on top of current |
4cbec64
to
0a60245
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's get this landed :)
This has to be an empty link until we add the page — mdbook creates a grayed-out heading in the sidebar for empty links, but it creates an empty page for actual links:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for much, I'm excited to see this in action!
@fw-immunant please merge this at your convenience! 🚀 Let me push a small commit to your branch with a page for the novel control flow. |
The exercise was moved in SUMMARY.md, but not in the repository.
I found a forgotten rename and pushed a fix for that too. It looks good from my side now — perhaps skim over it and then merge the PR! |
Spotted by @gregpaton08 in #913.
- Morning of Day 1 still introduces the language and its high-level goals/value proposition, and starts with the built-in data types Rust provides, and how you define a function. - Afternoon of Day 1 gets a front loading of the basic control flow structures in Rust but not the more exotic ones. - The exercises for day 1 afternoon will be the Luhn algorithm (where we can match on digits and enums such as `Option`. - Morning of day 2 still has discussion of memory management. Fixes google#510. --------- Co-authored-by: Martin Geisler <mgeisler@google.com>
This will require some discussion and some changes to exercises, but hopefully should be useful as a PR at least to get something concrete to discuss.
Basically, my thoughts are:
match
. Then we get into patterns, which we can give a mix ofmatch
/if let
/while let
/let ... else
. The exercises for day 1 afternoon will be the Luhn algorithm (where we can match on digits and enums such asOption
and practice working with variables) and some other pattern-matching exercise, perhaps one where we dig deep into a nested data structure with matching. I sometimes do this synchronously with students while going over the pattern matching slides at present, but it could be split out into a proper exercise.Feedback welcome!
Fixes #510.