8000 Rust course: fix broken URLs, remove dead links, add replacements by resourcefulmind · Pull Request #6 · solana-foundation/curriculum · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Rust course: fix broken URLs, remove dead links, add replacements #6

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

Merged
merged 1 commit into from
Jun 30, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@
## Homework

- Complete [Rustlings](https://github.com/rust-lang/rustlings) exercises:
- `intro/*` (2 exercises)
- `variables/*` (6 exercises)
- `functions/*` (5 exercises)
- [`intro/*`](https://github.com/rust-lang/rustlings/tree/main/exercises/00_intro) (2 exercises)
- [`variables/*`](https://github.com/rust-lang/rustlings/tree/main/exercises/01_variables) (6 exercises)
- [`functions/*`](https://github.com/rust-lang/rustlings/tree/main/exercises/02_functions) (5 exercises)
- Build a transaction fee calculator CLI:
- Accept transaction amount as argument
- Calculate fee (1.5% of amount)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,14 @@

## Reading Assignment

- Axum documentation
- Web Programming with Rust guide
- [Axum documentation](https://docs.rs/axum/latest/axum/)
- [Web Programming with Rust guide](https://github.com/PacktPublishing/Rust-Web-Programming-2nd-Edition)

## Homework

- Build a multi-endpoint API server with at least 5 routes
- Add authentication middleware that checks API key in headers.
- Study these [Axum examples](https://github.com/tokio-rs/axum/tree/main/examples):
- `hello-world`
- `todos` (CRUD operations)
- `jwt` (authentication patterns)
- [`hello-world`](https://github.com/tokio-rs/axum/tree/main/examples/hello-world)
- [`todos`](https://github.com/tokio-rs/axum/tree/main/examples/todos) (CRUD operations)
- [`jwt`](https://github.com/tokio-rs/axum/tree/main/examples/jwt) (authentication patterns)
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@

## Reading Assignment

- Serde documentation
- RESTful API design principles
- [Serde documentation](https://docs.rs/serde/latest/serde/trait.Serialize.html)
- [RESTful API design principles](https://restfulapi.net/)

## Homework

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@

## Reading Assignment

- Solana documentation basics
- RPC API reference
- [Solana documentation basics](https://solana.com/docs/intro/quick-start)
- [RPC API reference](https://developer.bitcoin.org/reference/rpc/)

## Homework

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

## Reading Assignment

- Rust Performance Book
- [Rust Performance Book](https://nnethercote.github.io/perf-book/)
- Async optimization guides

## Homework
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,6 @@
- Check if height is "special" (divisible by 1000)
- Use both if/else and match statements
- Complete these [Rustlings](https://github.com/rust-lang/rustlings) exercises:
- `primitive_types/*` (all 6 exercises)
- `strings/*` (all 4 exercises - String vs &str)
- `if/*` (all 3 exercises)
- [`primitive_types/*`](https://github.com/rust-lang/rustlings/tree/main/exercises/04_primitive_types) (all 6 exercises)
- [`strings/*`](https://github.com/rust-lang/rustlings/tree/main/exercises/09_strings) (all 4 exercises - String vs &str)
- [`if/*`](https://github.com/rust-lang/rustlings/tree/main/exercises/03_if) (all 3 exercises)
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,12 @@

## Reading Assignment

- The Rust Book: Chapter 4.3-4.5
- [The Rust Book: Chapter 4.1-4.3](https://doc.rust-lang.org/book/ch04-00-understanding-ownership.html)
- ["Understanding Ownership" video series](https://www.youtube.com/watch?v=VFIOSWy93H0)

## Homework

- Complete these ownership exercises:
- [Rustlings](https://github.com/rust-lang/rustlings): `move_semantics1-6.rs` (all 6)
- [Rustlings](https://github.com/rust-lang/rustlings/tree/main/exercises/06_move_semantics): `move_semantics1-6.rs` (all 6)
- [100 Exercises to Learn Rust](https://rust-exercises.com/100-exercises/): Exercises 20-25 (Ownership)
- [Interactive Rust Book](https://rust-book.cs.brown.edu/): Chapter 4 quizzes (all 5 quizzes)
- [Interactive Rust Book](https://rust-book.cs.brown.edu/ch04-01-what-is-ownership.html): Chapter 4 quizzes (all 5 quizzes)
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,16 @@

## Reading Assignment

- The Rust Book: Chapters 5, 10.3
- Rust by Example: Structures section
- [The Rust Book: Chapter 5](https://rust-book.cs.brown.edu/ch05-00-structs.html)
- [The Rust Book: Chapter 10.3](https://rust-book.cs.brown.edu/ch10-03-lifetime-syntax.html)
- [Rust by Example: Structures section](https://doc.rust-lang.org/rust-by-example/custom_types/structs.html)

## Homework

- Complete these exercises:
- [Rustlings](https://github.com/rust-lang/rustlings): `structs1-3.rs`, `lifetimes1-3.rs` (6 exercises total)
- [Exercism Rust Track](https://exercism.org/tracks/rust): "Clock" (struct with methods)
- [Rustlings](https://github.com/rust-lang/rustlings):
- [`structs1-3.rs`](https://github.com/rust-lang/rustlings/tree/main/exercises/07_structs)
- [`lifetimes1-3.rs`](https://github.com/rust-lang/rustlings/tree/main/exercises/16_lifetimes) (6 exercises total)
- [Exercism Rust Track](https://exercism.org/tracks/rust/exercises/clock): "Clock" (struct with methods)
- Create 3 functions that won't compile without lifetime annotations, then fix them
- [100 Exercises to Learn Rust](https://rust-exercises.com/100-exercises/): Exercises 25-30 (lifetimes)
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

- Define and use enums effectively
- Master pattern matching syntax
- Work with Option<T> type
- Work with Option type
- Understand exhaustive matching

## Topics Covered
Expand All @@ -23,13 +23,14 @@

## Reading Assignment

- The Rust Book: Chapter 6
- Rust by Example: match/patterns
- [The Rust Book: Chapter 6](https://rust-book.cs.brown.edu/ch06-00-enums.html)
- [Rust by Example: match/patterns](https://doc.rust-lang.org/rust-by-example/flow_control/match.html)

## Homework

- Implement a simple state machine using enums (Traffic Light with at least 4 states and transitions)
- Complete enum and pattern matching exercises:
- [Rustlings](https://github.com/rust-lang/rustlings): `enums1-3.rs`, `matches1-3.rs` (6 exercises)
- [Rustlings](https://github.com/rust-lang/rustlings):
- [`enums1-3.rs`](https://github.com/rust-lang/rustlings/tree/main/exercises/08_enums)
- [Exercism Rust Track](https://exercism.org/tracks/rust): "Matching Brackets" exercise
- [100 Exercises to Learn Rust](https://rust-exercises.com/100-exercises/): Exercises 35-38 (Pattern Matching)
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,14 @@

## Reading Assignment

- The Rust Book: Chapter 9
- Error Handling in Rust blog posts
- [The Rust Book: Chapter 9](https://rust-book.cs.brown.edu/ch09-00-error-handling.html)

## Homework

- Create a file parser with robust error handling (CSV or JSON, handle 5+ error types)
- Complete these error handling exercises:
- [Rustlings](https://github.com/rust-lang/rustlings): `errors1-6.rs`, `options1-3.rs` (9 exercises)
- [Rustlings](https://github.com/rust-lang/rustlings):
- [`errors1-6.rs`](https://github.com/rust-lang/rustlings/tree/main/exercises/13_error_handling)
- [`options1-3.rs`](https://github.com/rust-lang/rustlings/tree/main/exercises/12_options) (9 exercises)
- [100 Exercises to Learn Rust](https://rust-exercises.com/100-exercises/): Exercises 40-45 (Error Handling)
- [Exercism Rust Track](https://exercism.org/tracks/rust): "Anagram" (practice with Result)
- [Exercism Rust Track](https://exercism.org/tracks/rust/exercises/anagram): "Anagram" (practice with Result)
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,9 @@

## Reading Assignment

- The Rust Book: Chapter 8, 13.2
- Rust by Example: Collections
- [The Rust Book: Chapter 8](https://rust-book.cs.brown.edu/ch08-00-common-collections.html)
- [The Rust Book: Chapter 13.2](https://rust-book.cs.brown.edu/ch13-02-iterators.html)
- [Rust by Example: Collections](https://doc.rust-lang.org/book/ch08-00-common-collections.html)

## Homework

Expand All @@ -33,8 +34,13 @@
- Search functionality using iterators
- Export/import to JSON
- Complete these iterator exercises:
- [Rustlings](https://github.com/rust-lang/rustlings): `vec1-2.rs`, `hashmap1-3.rs`, `iterators1-5.rs` (10 exercises)
- [Exercism Rust Track](https://exercism.org/tracks/rust):
- "Accumulate" (iterator basics)
- "Series" (iterator windows)
- "Parallel Letter Frequency" (advanced iterators)
- **[Rustlings](https://github.com/rust-lang/rustlings)**
- [`vec1–vec2`](https://github.com/rust-lang/rustlings/tree/main/exercises/05_vecs)
- [`hashmap1–hashmap3`](https://github.com/rust-lang/rustlings/tree/main/exercises/11_hashmaps)
- [`iterators1–iterators5` (10 exercises)](https://github.com/rust-lang/rustlings/tree/main/exercises/18_iterators)

- **[Exercism Rust Track](https://exercism.org/tracks/rust)**
- [“Accumulate” — iterator basics](https://exercism.org/tracks/rust/exercises/accumulate)
- [“Series” — iterator windows](https://exercism.org/tracks/rust/exercises/series)
- [“Parallel Letter Frequency” — advanced iterators](https://exercism.org/tracks/rust/exercises/parallel-letter-frequency)

Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,16 @@

## Reading Assignment

- The Rust Book: Chapters 10, 13.1
- Rust by Example: Generics, Traits
- **[The Rust Book — Chapter 10: Generics](https://rust-book.cs.brown.edu/ch10-00-generics.html)**
- **[The Rust Book — Chapter 13.1: Closures](https://rust-book.cs.brown.edu/ch13-01-closures.html)**
- **[Rust by Example — Generics & Traits](https://doc.rust-lang.org/rust-by-example/generics/gen_trait.html)**

## Homework

- Complete these exercises:
- [Rustlings](https://github.com/rust-lang/rustlings): `generics1-2.rs`, `traits1-5.rs`, `iterators1-5.rs` (12 exercises)
- [100 Exercises to Learn Rust](https://rust-exercises.com/100-exercises/): Exercises 55-60 (Traits)
- [Exercism Rust Track](https://exercism.org/tracks/rust): "Custom Set" (generics practice)
- **[Rustlings](https://github.com/rust-lang/rustlings)**
- [`generics1–generics2`](https://github.com/rust-lang/rustlings/tree/main/exercises/14_generics)
- [`traits1–traits5`](https://github.com/rust-lang/rustlings/tree/main/exercises/15_traits)
- [`iterators1–iterators5`](https://github.com/rust-lang/rustlings/tree/main/exercises/18_iterators) <!-- 12 short iterator drills -->
- **[100 Exercises to Learn Rust — Exercises 55–60 (Traits)](https://rust-exercises.com/100-exercises/)**
- **[Exercism Rust Track — “Custom Set”](https://exercism.org/tracks/rust/exercises/custom-set)**
Original file line number Diff line number Diff line change
Expand Up @@ -23,18 +23,22 @@

## Reading Assignment

- Tokio Tutorial (official)
- Async Book: Chapters 1-4
- **[Tokio Tutorial](https://tokio.rs/tokio/tutorial/async)** (official)
- **[Async BookChapters 1 - 4](https://book.async.rs/)**

## Homework

- Concurrent file processor that:
- Reads multiple files simultaneously from a folder.
- Processes content (word count, line count)
- Aggregates results
- Complete [Tokio Tutorial](https://tokio.rs/tokio/tutorial) sections:
- Hello Tokio
- Spawning
- Shared State
- Channels (first part only)
- [Rustlings](https://github.com/rust-lang/rustlings): `threads1-3.rs`, `macros1-4.rs` (7 exercises)
- **Concurrent file processor**
- Read multiple files simultaneously from a folder
- Process content (word count, line count)
- Aggregate results

- **[Tokio Tutorial](https://tokio.rs/tokio/tutorial)** — complete sections:
- [Hello Tokio](https://tokio.rs/tokio/tutorial/hello-tokio)
- [Spawning](https://tokio.rs/tokio/tutorial/spawning)
- [Shared State](https://tokio.rs/tokio/tutorial/shared-state)
- [Channels](https://tokio.rs/tokio/tutorial/channels) *(first part only)*

- **[Rustlings](https://github.com/rust-lang/rustlings)**
- [`threads1 – threads3`](https://github.com/rust-lang/rustlings/tree/main/exercises/20_threads)
- [`macros1 – macros4`](https://github.com/rust-lang/rustlings/tree/main/exercises/21_macros) *(7 exercises)*
Loading
0