Semester: winter 2021/22
Labs: Monday 9:00 - 10:30, S1 (every two weeks) (Pavel Šimerda)
Page in SIS: NPRG073
Grading: Credit


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.


Date Content
2021-10-11 Introduction
Example program in Rust - Tools and project structure - How simple things are done - Using libraries
2021-10-25 Basic features
Documentation and best practices - Printing, formatting and debugging - Mutable and imutable variables - Value and reference passing
2021-11-08 Data structures
Structured data types - Algebraic data types - Pattern matching - Error handling
2021-11-22 Object life cycle
Object construction - Builder pattern - Moving, borrowing, copying, cloning - Boxed objects - Memory safety
2021-12-06 Polymorphic programming
Simple templates - Traits and boxes - Practical applications
2021-12-20 Concurrency
Thread safety - Ownership passing - Mutual exclusion
2022-01-03 Conclusion
Questions and answers - Code from students - What next?


Credit is awarded for reasonable amount of activity in all homework projects. As an alternative, a reasonably sized individual project can be proposed on an individual basis.