Rust Developer. Professional - free course from Otus, training 6 months, Date: December 7, 2023.
Miscellaneous / / December 10, 2023
An in-depth course on the Rust programming language, in which we will look at:
- key features of Rust, understanding of which allows not only to develop complex software products in this language, but also helps to better design software in general;
- the most popular libraries and projects widely used in practice;
multithreading and software architecture.
The course will be interesting:
Developers in system languages (C, C++, ...) who want:
study Rust, its strengths and weaknesses;
learn to avoid mistakes when working with memory and multithreading;
learn high-performance software design
Developers in interpreted or high-level languages (Python, JS, Java, C#, ...) who want:
- learn a language that allows you to make performance-critical sections of your software as fast as possible;
- features of working with low-level software;
- approaches to developing safe and fault-tolerant software
What will you learn on the course?
- use the Rust language for software development;
- deploy Rust and development environment;
- create reliable, fault-tolerant and high-performance software;
- test the code;
- use third-party libraries;
- write asynchronous code
2
courseInfinitySwap, Lead Rust Developer
I became interested in programming back in school. Works as a programmer for more than 5 years. He is interested in computer graphics and game development. Main stack: Rust, C++, Python. I have experience with C#, JS, PHP, MatLab. Designed and developed: - software for digital signal processing; - file system for sequential storage of large volumes of data; - framework for parallel data processing on a graphics processor; - Backend parts of distributed collection and processing systems data; Program Manager
1
wellI became acquainted with programming at the age of 14 and tried many languages until I found Rust. He has been writing Rust in Open-Source for more than 4 years. He was involved in the development of games, databases and blockchains...
I became acquainted with programming at the age of 14 and tried many languages until I found Rust. He has been writing Rust in Open-Source for more than 4 years. He was involved in the development of games, databases and blockchains, worked as a Rust developer at Pontem Technology Ltd. Active participant in the Russian-speaking Rust community, co-organizer of local meetups in St. Petersburg. Teacher of the course "Rust Programming Language" at St. Petersburg State University. Teacher
Introduction to Rust
-Topic 1.Basic concepts and features of Rust
- Topic 2. Assembly system. Helper utilities. Selecting a development environment
-Topic 3.Basic syntax
-Topic 4.Advanced syntax
Modules, crates and tests
-Topic 5. Splitting the project into files and logical blocks. Tests and examples
-Topic 6. Packages and crates
-Topic 7.Use of third-party racks. Versions and features
Standard Library
-Topic 8. Basic enumerations and types
-Topic 9.Smart pointers and collections
-Topic 10.Input and output
-Topic 11. Writing a client-server application
Multithreading
-Topic 12. Problems of multi-threaded code. Starting a parallel thread.
-Topic 13. Monitoring the correctness of a multi-threaded application at the compilation stage
-Topic 14. Writing your own ThreadPool
-Topic 15. Types of multitasking. Asynchrony
-Topic 16.Asynchonity under the hood
-Topic 17. Making the client-server application asynchronous
-Topic 18. Interprocess communication and synchronization
Architecture
-Topic 19.Rust and OOP
-Topic 20.Rust and FP
-Topic 21.Error handling
-Topic 22. Invariants
-Topic 23.Patterns
Frameworks and libraries
-Topic 24. Popular utilitarian libraries
-Topic 25.Logging, debugging and profiling
-Topic 26.Rust and Backend
-Theme 27.Rust and GUI
-Topic 28.Rust and GameDev
-Theme 29.Rust and Frontend
-Topic 30. Interaction with other languages
Project work
-Topic 31. Selection of topic and organization of project work
-Topic 32. Consultation on projects and homework
-Topic 33.Protection of design work
-Topic 34. Summing up the course