- Programming Rust (First half): https://ebookcentral.proquest.com/lib/th-deggendorf/detail.action?docID=6643397
- Algorithms and Data Structures in Rust (Second half): https://www.packtpub.com/product/hands-on-data-structures-and-algorithms-with-rust/9781788995528
- 60-90min | Review and joint development of selected Homework Exercises
- 20-30min | Brief theoretical input on computational thinking with Algorithms and Data Structures.
- 60-90min | Practical Exercises and Coding Examples with Rust
Each session below comes with a set of exercises. You are required to prepare these exercises before each class. I will provide feedback and guidance on the side. For each session, I will pick some difficult or important exercises and discuss solutions with the class. The exercises are plenty and you will hardly be able to complete all of them. Make sure to definitely work on all Exercises until Session 6.
- Walk through the rustlings tutorial: https://github.com/rust-lang/rustlings
- Finish all Exercises for Session 1
The Exam will be written and online. It will be a code exercise with tests provided.
-
A tour of Rust: Data Types and Tooling (Chapter 1-3) | Exercises R01
-
Memory Management: Mutability and Ownership (Chapter 3-6)
-
System Design: Error Handling, Crates and Modules (Chapter 7-8)
-
Object-Oriented-Design: Structs, Enums and Patterns Chapter 9-10)
-
Encapsulation and Abstraction: Traits and Generics, Operator Overloading (Chapter 11-13)
-
Functional Programming: Closures, Iterators and Collections (Chapter 14-16)
-
Input and Output: Strings, Text and IO (Chapter 17-18)
-
Algorithms Analysis, Design and Evaluation
-
Lists, Maps and Sets
-
Trees
-
Graphs
-
Sorting and Ordering
-
Search and Filtering
-
Combinatorial and Random Algorithms
-
Wrap-up and Review: Rust Standard Library
The detailed content of each Session will be added here during the term.