PV281 Programming in Rust

Faculty of Informatics
Autumn 2023
Extent and Intensity
2/2/1. 4 credit(s) (plus extra credits for completion). Type of Completion: k (colloquium).
Teacher(s)
Ing. Lukáš Grolig (lecturer)
prof. RNDr. Tomáš Pitner, Ph.D. (lecturer)
Bc. Hugo Adamove (seminar tutor)
Ing. Ondřej Holub (seminar tutor)
Bc. Ondřej Hrdlička (seminar tutor)
Bc. Lukáš Chudíček (seminar tutor)
Ing. Marek Mišík (seminar tutor)
Bc. Tomáš Sedláček (seminar tutor)
Ing. Petr Šlézar (seminar tutor)
Mgr. Marek Vrbka (seminar tutor)
Ing. Petr Wehrenberg (seminar tutor)
Stanislav Zeman (seminar tutor)
Guaranteed by
prof. RNDr. Tomáš Pitner, Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics
Supplier department: Department of Computer Systems and Communications – Faculty of Informatics
Timetable
Mon 18:00–19:50 D3
  • Timetable of Seminar Groups:
PV281/01: Tue 12:00–13:50 A319, M. Vrbka
PV281/02: Mon 10:00–11:50 A219, O. Holub
PV281/03: Thu 12:00–13:50 B204, O. Hrdlička
PV281/04: Thu 16:00–17:50 B411, L. Chudíček, M. Mišík
PV281/05: Mon 12:00–13:50 B011, S. Zeman
PV281/06: Mon 16:00–17:50 A217, H. Adamove
PV281/07: Tue 18:00–19:50 B411, P. Šlézar, P. Wehrenberg
Prerequisites
PB071 Principles of low-level prog.
Knowledge of databases, REST interfaces, and web application development is also expected - this can be self-studied from course materials or the interactive syllabus in the PB138 Basics of web development and markup languages course.
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
The capacity limit for the course is 112 student(s).
Current registration and enrolment status: enrolled: 75/112, only registered: 0/112, only registered with preference (fields directly associated with the programme): 0/112
fields of study / plans the course is directly associated with
Course objectives
The goal of this course is to introduce students to the Rust programming language and the benefits it brings to the system programming or to the development of reliable, secure and efficient services. In addition to the syntax of the language itself, the course will introduce students to the commonly used libraries used in Rust and the best practices for development.
Learning outcomes
Master the syntax of the Rust programming language;
Understand the benefits of system programming in Rust;
To use the Rust standard library;
Familiarize yourself with the rustdoc documentation;
Use commonly used libraries for developing backend and frontend applications;
Syllabus
  • Language features and benefits
  • Introduction to the ecosystem and tools
  • Basic syntax
  • CLI applications
  • Asynchronous programming
  • Parallel programming
  • Working with files
  • Documentation and testing
  • Working with databases
  • Actix web framework
  • GRPC and Tonic
  • Webassembly
Teaching methods
The course takes the form of lectures and practical seminars. Homework is in the form of self-paced programming assignments along with a team project towards the end of the semester.
Assessment methods
Seminar activity, homework assignments and a team project.
Language of instruction
Czech
Further Comments
Study Materials
The course is taught annually.
The course is also listed under the following terms Autumn 2021, Autumn 2022, Autumn 2024.
  • Enrolment Statistics (Autumn 2023, recent)
  • Permalink: https://is.muni.cz/course/fi/autumn2023/PV281