Lectures
- Rust project management (Cargo), variables, type system, expressions
- Functions, data structures (structures and enums), pattern matching, modules
- Concepts of ownership, borrowing and lifetimes
- Standard library basics (strings, dynamic arrays, hash tables), error handling, interior mutability
- Polymorphism, concept of traits, generic programming, dynamic dispatch
- Functional programming (iterators, anonymous functions)
- Use of libraries (serialization, error handling, logging, command line parameters, etc.)
- Working with sockets and network programming
- Threads, reference counting, synchronization primitives, parallelism
- Non-blocking operations, Pin and Future concepts, asynchronous programming
- Creating macros, the concept of unsafe
- Using code written in other programming languages (foreign function interface)
Exercise
- Working with the Cargo tool, IDE settings, variables, data types, expressions
- Structures and enums, pattern matching, dividing a program into modules
- Creating an API using the concept of ownership, introduction to the concept of borrow checker
- Use of standard library, error handling and extreme situations
- Creating a polymorphic API using traits and generic programming
- Using functional programming using iterators and anonymous functions
- Using external libraries from crates.io
- Creating a network application using blocking sockets
- Using threads and synchronization primitives
- Creating a network application using non-blocking sockets, working with Futures and async/await
- Declarative and procedural macros, using the unsafe block, introduction to the miri tool
- Using C or C++ code, implementing Python modules using Rust
- Rust project management (Cargo), variables, type system, expressions
- Functions, data structures (structures and enums), pattern matching, modules
- Concepts of ownership, borrowing and lifetimes
- Standard library basics (strings, dynamic arrays, hash tables), error handling, interior mutability
- Polymorphism, concept of traits, generic programming, dynamic dispatch
- Functional programming (iterators, anonymous functions)
- Use of libraries (serialization, error handling, logging, command line parameters, etc.)
- Working with sockets and network programming
- Threads, reference counting, synchronization primitives, parallelism
- Non-blocking operations, Pin and Future concepts, asynchronous programming
- Creating macros, the concept of unsafe
- Using code written in other programming languages (foreign function interface)
Exercise
- Working with the Cargo tool, IDE settings, variables, data types, expressions
- Structures and enums, pattern matching, dividing a program into modules
- Creating an API using the concept of ownership, introduction to the concept of borrow checker
- Use of standard library, error handling and extreme situations
- Creating a polymorphic API using traits and generic programming
- Using functional programming using iterators and anonymous functions
- Using external libraries from crates.io
- Creating a network application using blocking sockets
- Using threads and synchronization primitives
- Creating a network application using non-blocking sockets, working with Futures and async/await
- Declarative and procedural macros, using the unsafe block, introduction to the miri tool
- Using C or C++ code, implementing Python modules using Rust