Semester: summer 2023/24
Labs: Thursday 14:00 - 15:30, S9 (every two weeks) (Pavel ŠimerdaLukáš 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.