Skip to content
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

Comprehensive Rust v2 #1073

Merged
merged 54 commits into from
Nov 29, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
d49a053
Organization for v2 of the course
djmitche Jul 31, 2023
f23015b
--- x ./cr2-organization/convert.sh
djmitche Nov 9, 2023
9955d20
Cleanup after conversion
djmitche Sep 1, 2023
3f38121
Edit the hello-world segment
djmitche Sep 1, 2023
ea1247d
Edit the types-and-values segment
djmitche Sep 12, 2023
2acdbec
Edit the control-flow-basics segment
djmitche Sep 7, 2023
f05aa0d
Edit the tuples-and-arrays segment
djmitche Sep 12, 2023
42c42c9
Edit the references segment
djmitche Oct 4, 2023
2a738be
Edit the user-defined-types segment
djmitche Sep 16, 2023
f92a77f
Edit the methods-and-traits segment
djmitche Sep 21, 2023
0a7256e
Edit the generics segment
djmitche Oct 17, 2023
48f1dc0
Edit the std-types segment
djmitche Sep 17, 2023
714ba99
Edit the std-traits segment
djmitche Oct 1, 2023
6a6aae6
Edit the iterators segment
djmitche Oct 17, 2023
531f295
Edit the modules segment
djmitche Oct 17, 2023
70ccb0c
Edit the testing segment
djmitche Oct 17, 2023
913d8fd
Edit the memory-management segment
djmitche Oct 17, 2023
4b870f8
Edit the smart-pointers segment
djmitche Oct 17, 2023
2676f9b
Edit the borrowing segment
djmitche Oct 17, 2023
9de9048
Edit the slices-and-lifetimes segment
djmitche Oct 19, 2023
0654b98
Edit the error-handling segment
djmitche Oct 17, 2023
99eccd3
Edit the unsafe-rust segment
djmitche Oct 17, 2023
c7ecb21
Clean up exercises
djmitche Oct 19, 2023
94ba0f7
Move daily welcomes out to top-level
djmitche Nov 2, 2023
2aa6b59
NOTES
djmitche Sep 7, 2023
72c3f03
Update based on comments from @mgeisler and @deavid
djmitche Nov 7, 2023
9dcb262
Categorize NOTES.txt by priority.
djmitche Nov 9, 2023
b76c67b
Include tests in ROT13 exercise
randomPoison Nov 9, 2023
31fb139
Include main fn in Builder exercise
randomPoison Nov 9, 2023
0db015c
Remove `Widget` impls from GUI exercise
randomPoison Nov 9, 2023
b1d5925
Make counter exercise non-generic
randomPoison Nov 9, 2023
0c71d54
Simplify health statistics exercise
randomPoison Nov 9, 2023
3680285
Move deriving into the traits section
randomPoison Nov 10, 2023
77dce7c
Improve let-else example code
randomPoison Nov 10, 2023
0cd4385
Rework Luhn exercise to be about testing
randomPoison Nov 10, 2023
84faa74
Merge pull request #1 from google/legare/v2-improvements
djmitche Nov 15, 2023
d7812e3
remove existing course content from frontmatter
djmitche Nov 16, 2023
7ee0e36
Include timing information in speaker notes
djmitche Nov 16, 2023
9653b3c
Extract course structure from the Markdown
djmitche Nov 16, 2023
6756aee
Merge remote-tracking branch 'upstream/main' into cr2-organization
djmitche Nov 21, 2023
0d25dd1
fix luhn tests
djmitche Nov 21, 2023
5599b8d
fix formatting
djmitche Nov 21, 2023
ac00a88
dprint
djmitche Nov 21, 2023
356bd72
suggest rewriting let-else
djmitche Nov 21, 2023
ca01b70
suggest #[ignore] for tests
djmitche Nov 21, 2023
819aa5c
add (temporary?) debug output of schedule
djmitche Nov 22, 2023
9eb2349
double the time for exercises
djmitche Nov 22, 2023
d5979a0
reorg day 2/3 so that borrowing and slices are next to each other
djmitche Nov 22, 2023
60ffb3e
add extra time for std traits, types
djmitche Nov 22, 2023
f5dd40c
Roughly refactor into 4 days
djmitche Nov 22, 2023
0ec77c1
cargo fmt
djmitche Nov 22, 2023
4fc57d5
Merge remote-tracking branch 'upstream/main' into cr2-organization
djmitche Nov 28, 2023
d288db1
Standardize welcome pages
mgeisler Nov 29, 2023
b4911dd
Merge branch 'main' into cr2-organization
mgeisler Nov 29, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,4 @@ po/*.po~
.idea/
.iml
.iws
count.dat
105 changes: 105 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 18 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,24 @@
members = [
"mdbook-exerciser",
"mdbook-course",
"src/types-and-values",
"src/control-flow-basics",
"src/tuples-and-arrays",
"src/references",
"src/user-defined-types",
"src/pattern-matching",
"src/methods-and-traits",
"src/generics",
"src/std-types",
"src/std-traits",
"src/iterators",
"src/testing",
"src/memory-management",
"src/smart-pointers",
"src/borrowing",
"src/slices-and-lifetimes",
"src/error-handling",
"src/unsafe-rust",
"src/exercises",
"src/bare-metal/useful-crates/allocator-example",
"src/bare-metal/useful-crates/zerocopy-example",
Expand Down
39 changes: 39 additions & 0 deletions NOTES.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Before Merging:
* Remove the timing / existing-content information from view
* Remove cr2-organization/

# Plans for Later:

## High Priority

* Address slides that are too large for the aspect ratio, either by breaking
them up, shrinking them down, or some other creative solution.

## Other Fixes

* Can the segment headers (src/segname.md) be auto-generated, or done with a
macro? (#1415)
* Can these include timing information
* Can the per-day and overall-course sections also include timing info?

* Can CI detect deletion of a slide without corresponding book.toml entry?
(#1417)
* Simplify the GUI exercise (methods-and-traits)
* Better examples for trait-bounds and impl trait, since students haven't yet
seen std traits
* Traits slide should mention associated types, trait parameters, trait
"inheritance"
* Improve iterator example (per suggestions from reader)
* Modify `Interior Mutability` to use Mutex instead of Cell/RefCell, as noted
in the comment in that file.
* Replace the health-statistics exercise, which really has little to do with
borowing. Maybe something that tempts students to use &mut self at the same
time as an exclusive reference to a field of self?
* Talk about `ref` and `mut` modifiers in pattern matching
* Add "recaps" at the beginning of each day
* "9.5. Type Aliases: The example shows how to declare, but on how it looks in
practice is not clear enough (there is a use of one type alias but it's
hidden in a complex type). Ideally I would add some function signatures or
custom structs that showcase the cleanliness of this." (@deavid)
* Cover trait objects after memory management, since they require some
understanding of Box.
Loading