Labs: Monday 9:00 - 10:30, S1 (every two weeks) (Pavel Šimerda)
Page in SIS: NPRG073
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 |
---|---|---|
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 |
MP4 |
2021-12-20 | Concurrency Thread safety - Ownership passing - Mutual exclusion |
|
2022-01-03 | Conclusion Questions and answers - Code from students - What next? |
MP4 |
Grading
Credit is awarded for reasonable amount of activity in all homework projects. After each lecture, a homework assignment is published in the course upstream repository. The solution must be submitted by the deadline noted in the assignment by pushing it into the individual student repository. Each solution will be assigned 0-10 points, course credit requires a minimum of 60% point average across all assignments.
As an alternative, a reasonably sized individual project can be proposed on an individual basis.