Rust Proseminar
This proseminar makes you acquainted with the programming language Rust. Rust is a modern functional and imperative language that focuses on systems programming (where things have to be fast) and tries to reconcile performance and safety. Rust has a lot of interesting features to achieve these goals that we will cover in this proseminar (see below). Among them are strong guarantees by the type system to support memory safety, one of the prime sources of security vulnerabilities in C/C++ programming.
Please join our SIC RocketChat for discussion and short-term announcements. We have a private rust channel. Ask Roland Leißa in the general channel to join you in the rust channel.
People
Organization
Language | English | |
Participants | 12 | |
Preparatory Meeting | 23 Oct 2018 16:00 E1 3 Room 401 | |
Weekly Meeting | Tuesday 16:00 E1 3 Room 401 | |
Prerequisites | You need to have passed the Programming 2 course | |
Registration | closed |
Topics
We will focus on the following features of Rust (chapter numbers in parentheses):- Standard language features (R6, R7, B3, B3, B5, B6, B13)
- Type system, Ownership, Lifetimes (B4, B10, B19, R8, R10, R12, N)
- Smart Pointers (B15, N)
- Comparison to C++ rvalue references/move semantics
- Polymorphism, Traits (R8, R9, B10, B17)
- Concurrency (B16)
- Collections & the standard library (B8, B9, N9)
- Modules (B7, B14, R11, R6.1)
- Macros (R3, B21.4)
Material
The material we use is mainly the official Rust documentation:Schedule
Date | Speakers/Moderators | Topic |
---|---|---|
2018-04-18 | - | Kick-off meeting |
2018-11-13 | Walgenbach, Thiele, Schwan | Standard language features, Modules & Crates |
2018-11-20 | Shalayel, Ariesanu, Timm | Traits, Collections & Standard Library |
2018-11-27 | Sutaj, Finkler, Oswald | Type System, Ownership, Lifetimes, Smart Pointers |
2018-12-04 | Schillo, Hofmann, Freiermuth | Comparison to C++ rvalue references/move semantics, Concurrency, Macros |
2019-02-05 | all | Final presentations |