This course will teach you the fundamentals of Rust, a modern programming language that has the both the power of native code as well as the safety of some managed languages. In this course you will learn the following:

How to download and install Rust; how to compile programs and (optionally) work with an IDE.

Learn about fundamental data types and how to use them to declare variables.

Undersand arrays, vectors and strings, the concept of slices.

Learn to create functions, methods, closures, higher-order functions.

Understand how to create various data structures such as structs and enums; also traits.

Master Rust's explicit take on the concept of lifetime with ownership, borrowing, lifetime specifiers, lifetime elision.

Learn how to safely share data around your (possibly multithreaded) application with Rc, Arc and Mutex.

Use Rust's package managent using Cargo.

Learn about other useful topics: documentation, conditional compilation, testing.

This course, like all my other courses, will be supplemented with additional lectures based on participants' requests.