Information below is not for the current semester.
Semester: summer 2023/24
Labs: Thursday 14:00 - 15:30, S9 (every two weeks) (Pavel Šimerda, Lukáš Hozda)
Page in SIS: NPRG074
Grading: Credit
Labs: Thursday 14:00 - 15:30, S9 (every two weeks) (Pavel Šimerda, Lukáš Hozda)
Page in SIS: NPRG074
Grading: Credit
About
Rust is a modern programming language that comes with extensive safety features built right into the compilation process. It is suitable for safety-critical libraries and industrial applications while providing a relatively friendly way to develop any type of software.
Schedule
Date | Content | File |
---|---|---|
2024-02-29 | Parallel Programming Run code in parallel using the operating system threads or using a task scheduler with asynchronous I/O operations. |
|
2024-03-14 | Borrow Checker Get familiar with the borrow checker concepts including ownership, borrowing and lifetimes. Make sure you know what to do when the compiler refuses your code. |
recording |
2024-03-28 | Macros Use macros to bring metaprogramming to your projects, avoid boilerplate code and create your own small domain-specific languages inside Rust. |
slides recording |
2024-04-11 | Libraries and Testing Organize your source code to create a library project with optional binaries, examples, test suites and documentation. |
recording |
2024-04-25 | Unsafe Programming When the safety model is too strict for you, the unsafe feature with relaxed safety may help you build optimized data structures and interoperate with other languages. |
slides recording |
2024-05-09 | Systems Programming Interface with the operating system or even build your own with the unsafe Rust features or libraries built on top of them. |
recording |
2024-05-23 | Discussion and more topics In this bonus lecture we can talk about various topics from previous lessons or discuss anything else in Rust you're interested in. |
Grading
Credit is awarded for homework assignments in ReCodEx, 36 out of 60 points are required. Check the Cargo.toml file for the list of available libraries.