Our Trainings

We'll be offering six half-day Rust training sessions on Thursday, August 16, targeting various levels of Rust experience.

We're also running an all-day RustBridge workshop for people in groups that are underrepresented in tech.

At a glance, the schedule is:

Morning (9am-12pm) Rust for Beginners Traits and Threads Secure Web Services in Rocket RustBridge
Afternoon (1pm-4pm) How to think in Rust Futures and Async Programming WebAssembly


Morning (9am-12pm)

Steve2

Rust for Beginners

Rust Fundamentals: Ownership and Borrowing, By Steve Klabnik

Learn everything you need to get started writing Rust programs. The tutorial puts a focus on Ownership and Borrowing, which are the key techniques that Rust uses to achieve both safety and low-level performance.

This class assumes no prior knowledge of Rust, though programming experience in some other language would be helpful.

Participants should bring their own laptops. Additional machine setup instructions will be sent ~1 week prior to the training.


Aaron

Traits and Threads

By Aaron Turon

Move your Rust knowledge up a level! This tutorial introduces the second key piece of Rust, its trait system. You’ll learn how the trait system is the foundation for generic programming in Rust, allowing you to write one piece of code that can be reused in many contexts. The session will also cover how to write threaded programs in Rust, and demonstrate how threaded programming in Rust builds on the trait system to guarantee data-race freedom.

This tutorial assumes basic understanding of ownership and borrowing; if you have been writing Rust for a while, you should do fine.

Participants should bring their own laptops. Additional machine setup instructions will be sent ~1 week prior to the training.


Sergio

Secure Web Services in Rocket

By Sergio Benitez

Take the safety and reliability of Rust that you're used to into the world of web services with Rocket! You'll write a fully working, database-backed web application in Rocket to learn first-hand how Rocket leverages Rust's type system and code generation facilities to prevent correctness and web security bugs at compile-time. Discover why thousands of developers and companies are writing or rewriting their web services in Rocket.

This workshop is intended for developers with experience writing software in Rust. Working knowledge of HTTP and the web will be helpful but not required.

Participants will need their own laptop. Before attending the workshop, participants should ensure that they can compile and run the "Hello, world!" Rocket application. Full instructions are available in Rocket’s Getting Started guide.


Afternoon (1pm-4pm)

Nrc

How to think in Rust

By Nicholas Cameron

Learning a new programming language is hard. Even after mastering the syntax and type system, learning the libraries and techniques can take years. If you've read or written Rust and want to improve, this talk will give you a turbo boost! This will be a very practical tutorial, aimed at taking your Rust programming to the next level. We'll teach some core Rust design principles by covering a few key topics in depth. This tutorial is aimed at those with some Rust experience, but if you're a total beginner, you'll still learn a lot about what Rust programming is like in practice.

The tutorial will start with programming 'in the small': we'll explore some key library types (Option, Result, and Iterator) and cover practical error handling. Putting these together we'll see how to structure your control flow to write clear, succinct programs. We'll then cover some larger-scale design issues - using ownership as a primary architectural principle, and abstraction using traits.

You'll learn how to be more productive in Rust by writing clean and idiomatic code. You'll learn to work with the language rather than fighting against it.

Participants should bring their own laptops. Additional machine setup instructions will be sent ~1 week prior to the training.


Michael

Futures and Async Programming

By Michael Gattozzi

Get started with understanding Asynchronous code in Rust! Whether you've just started using Async or you've been using it from it's inception there is something for everyone here. It'll show how to use the new async/await syntax, pinning api, and how to effectively leverage Futures in your Rust code. This class assumes you already have an understanding of how Rust works for the most part.

Participants should bring their own laptops. Additional machine setup instructions will be sent ~1 week prior to the training.


Ashley Steve2

WebAssembly

By Ashley Williams , Steve Klabnik

In this workshop we'll walk you through a practical introduction to writing Rust-generated WebAssembly. We'll start from a basic Rust crate and work towards compiling, packaging, and publishing it to npm. From their we'll work on integrating our WebAssembly with other JavaScript code, bundling it for the browser with WebPack. Along the way we'll touch on important best practices for testing, debugging, and profiling your WebAssembly code.


All day (9am-4pm, break from 12pm-1pm)

Arshia Katharina

RustBridge

Intro to Rust and Hands-on Workshop, By Arshia Mufti , Katharina

This free workshop is for people who are members of groups that are underrepresented in tech, in the style of RailsBridge. There will be a morning introduction to Rust concepts and an afternoon hands-on project. This class assumes no prior knowledge of Rust, but familiarity with any other programming language, the command line, and a text editor is recommended.

Participants should bring their own laptops. Additional machine setup instructions will be sent ~1 week prior to the training.

Participants should fill in this form if interested.