Rust Programming

Target Audience

Prerequisites

Objectives

Course Format

Syllabus

  1. Rust
    • Installing Rust
    • Why use Rust?
    • Cargo - the package and dependency manager of Rust
    • Hello World
    • Primitives - basic types in Rust
    • Variables, mutability
    • Control flow
    • Understanding memory safety, ownership and borrowing
    • They type system of Rust
    • Error handling
    • Special types: Option, Result
    • Vectors
    • Structs
    • Enums
    • Threading
    • Creating libraries in Rust
    • Generics and Traits
    • Variable lifetime
    • Smart pointers
    • Dependency management
    • Backword compability
    • Testing your code
    • Distributing executables for multiple platforms (CI/CD, cross compilation)
  2. Relevant Computer Science topics
    • Data embedded in the source code
    • What is the Stack, Heap
    • Pointers
    • Memory management
    • Manual memory managemen with allocation and freeing
    • Refernce counting
    • Garbage collection
    • Compiled vs. Interpreted languages
    • Statically type vs. dynamically typed languages
    • Loosly typed vs strongly typed
  3. Functiona programmin in Rust
    • Iterators
    • Closures
    • Function pointers
  4. Concurrency with async programming
  5. The liquid Templating system
  6. CLI - Command line applications in Rust
  7. Building API in Rust
  8. Handling well-knonw file formats
    • JSON
    • YAML
    • CSV
  9. Macros
  10. Unsafe Rust and FFI - Foreign Function Interface

Contact

Contact: Gabor Szabo gabor@hostlocal.com
Phone: +972-54-4624648