RustEdu Workshop 2022 - Teaching Rust + Programming Assignments

Teach Rust effectively with practical programming assignments, parallel evaluation, and emphasis on control flow, error handling, ownership, borrowing, and code evaluation, for a hands-on learning experience.

Key takeaways
  • RustEdu Workshop 2022 emphasizes teaching Rust by focusing on programming assignments, which are designed to help students learn the language through practical experience.
  • Rayon and parallel evaluation techniques can speed up programming assignments on students’ own machines by 2.5 times on 4-core machines.
  • Control flow and error handling are crucial concepts in Rust, and the err吧 propagation helped students understand closures and dealing with traits and managing ownership.
  • The programming assignments are designed to be challenging and realistic, with students implementing their own iterators, broadcast channels, and iterators on complex data structures.
  • Ownership and borrowing are fundamental concepts in Rust, but can be difficult to explain and require instructors to come back to these concepts multiple times throughout the course.
  • The instructor’s approach to teaching Rust focuses on the importance of code evaluation, with students writing and testing their code throughout the course.
  • With asynchronous programming, instructors face challenges in testing, but can use tools like MIRI to check for undefined behavior.
  • The course uses a combination of lectures, discussions, and programming assignments to engage students and encourage them to think critically about their code.