Semester: winter 2024/25
Labs: Wednesday 14:00 - 15:30, S5 (Pavel ŠimerdaLukáš HozdaDawid Kubiś)
Page in SIS: NPRG082
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
2024-10-02 Introduction
Comparison to other languages - Value ownership and move semantics - Value borrowing and references - Mutable references - Tools
2024-10-09 Lab
2024-10-16 Data structures
Enumerations - Tuples - Arrays - Structures - Pattern matching - Error handling - Chained control flow - Input and output - Debugging - Documentation
2024-10-23 Lab
2024-10-30 Object ownership and life cycle
Object construction - Builder pattern - Ownership and moving - Copying and cloning - Boxed values - References and lifetimes
2024-11-06 Lab
2024-11-13 Polymorphic programming
Simple generics - Enum polymorphics - Trait polymorphism - Dynamic polymorphism
2024-11-20 Lab
2024-11-27 Concurrency and parallelism
Multithreaded data model - Threads with moved values - Shared immutable data - Shared mutable data - Mutex wrapper - Channels
2024-12-04 Lab
2024-12-11 Coroutine based multitasking
Asynchronous blocks - Asynchronous functions - Scheduler and communication
2024-12-18 Lab
2025-01-08 Wrap-up

For the labs, we advise you to bring your own device where you can do the labs in Rust.

Grading

Credit is awarded for homework assignments in ReCodEx graded on a point scale. To pass the course, at least 60% of total points is required.

Contact

You are welcome to ask questions both during lectures and online, mail and Discord server are the best options.

Rust events in Czech Republic

For more information from the Rust communities in Czech Republic, please follow the Rust Czech community index.