Rust programming language workshop (free)

May 9-10, 2024
Learn the Rust Programming Language with John A. De Goes
In this 2-day workshop, attendees will receive a beginner-level introduction to Rust.

workshop overview

Rust is a systems programming language designed for safety, concurrency, and performance.

It has gained popularity for its innovative features that prevent memory-related bugs and allow for low-latency, performant, and efficient computation.

Understanding Rust can provide new perspectives and approaches to building robust, concurrent, and high-performance applications.

In this 2-day workshop, attendees will receive a beginner-level introduction to Rust.

By the end of the course, all participants, regardless of background, will have a solid entry-level foundation in Rust and be able to confidently use it for various real-world programming tasks.

NOTE: Although no familiarity with Scala is required, special attention will be given to the similarities and differences between Scala and Rust.

Who Should Attend

Any developers who are looking to move into Rust, explore systems level programming, or build efficient cloud-native applications.
Scala developers who want to explore Rust as an alternative or complementary language, particularly for building safe, concurrent, and high-performance systems.

Prerequisites

No prior knowledge of Rust is required. Familiarity with procedural programming in some programming languages is required.

Daily Structure

Two Days, May 9-10, 2023.
7 hours a day.

Materials

Attendees will be provided with an example code, a course outline, and exercises in electronic form.
Recording of the workshop is strictly prohibited.

workshop Topics

  • Introduction to Rust
  • Overview and goals of Rust
  • Basic syntax and concepts
  • Ownership and Borrowing in Rust
  • Ownership rules and their benefits
  • Borrowing and references
  • Lifetimes and their implications
  • Rust's Type System
  • Algebraic data types and pattern matching
  • Enums and Options
  • Traits and trait objects
  • Type inference and generics
  • Error Handling in Rust
  • The Result type and its usage
  • Error propagation and handling
  • Custom error types
  • Concurrency and Parallelism in Rust
  • Fearless concurrency and its advantages
  • Threads and message passing
  • Shared state and synchronization primitives
  • Async/await and Futures in Rust
  • Modules, Packages, and Crates
  • Organizing code with modules and packages
  • Using and managing external crates
  • Testing and Debugging in Rust
  • Unit testing and integration testing
  • Rust's built-in test framework
  • Debugging techniques and tools

About the Author

A mathematician by training but a software engineer by vocation, John A. De Goes has been professionally writing software for more than 25 years.

John has contributed to dozens of open source projects written in functional programming languages, including ZIO, a library for asynchronous and concurrent programming in functional Scala.

In addition to speaking at Strata, OSCON, BigData TechCon, NEScala, ScalaWorld, Scala IO, flatMap, Scalar Conf, LambdaConf, and many other conferences, John also published a variety of books on programming.

Currently, John heads Ziverge Inc, a company committed to solving hard business problems using the power of functional programming.

Starting from: $500

Unchain your mind at LambdaConf 2024

Buy tickets