🦀 Learn Rust

🌉 Atlas Cafe, San Francisco

⌚ Mondays 6:00 - 9:00pm

📅 June 27 - August 15

🗓️ 6 weeks

🧑‍🏫 30 minutes or less lecture

🧑‍💻 2 hours in-class project time

💬 Get help any time on Discord

Accepting students now

🧑‍🎤 Software dev experience required

<aside> 📝 Sign Up

</aside>

<aside> 📨 Questions?

</aside>

<aside> <img src="https://discord.com/assets/3437c10597c1526c3dbd98c737c2bcae.svg" alt="https://discord.com/assets/3437c10597c1526c3dbd98c737c2bcae.svg" width="40px" /> Join our Discord! Come chat with us about Rust, learn more about the course, or ask questions about the borrow checker 🦀

</aside>

About The Workshop

Rust is a wonderful programming language that mixes functional and systems programming, and has the unique borrow checker. Though people love it, it’s notoriously difficult to learn. It can take a while to internalize the Rust way of doing things while chasing down error messages in Google. We want to be there to explain the how and the why while you’re coding, so you can learn the language faster and with less pain.

This course is intended for experienced software developers who’re already comfortable with one or more programming languages. A good guideline is 1 or more years of significant software development experience, up to 20+ years. Prior knowledge of Rust is not required as this is designed to introduce you to the language. At the end of the 6 weeks, participants will be comfortable writing code in Rust. They’ll understand how to use algebraic datatypes, traits, iterators, the different String and collection types, and have practice in working with the borrow checker — figuring out how to solve errors, and harnessing its power to write safe and fast code. Participants coming from a non-systems language background will learn about memory management and the stack vs. the heap.

The workshop will run for 6 weeks, on Monday evenings at Atlas Cafe in San Francisco. Each session will run for 2.5 hours, with a short demonstration from the instructor, followed by in-class project time. We’ll provide instructions for getting the Rust development environment set up ahead of time, so that you can spend most of the class using Rust, in an environment where you can ask questions and get help. After the lecture, we’ll give instructions for a project to work on over the next 2 hours. At the end of class, participants can present their projects, or something that they learned to the rest of the class.

The course is led by Sumeet Agarwal, who worked as a software engineer for 15 years, and teaches coding to children and adults at all levels from up from beginner to Senior Software Engineer. He’s been using Rust since 2018, and is interested in programming language theory and coding for fun.

People Love Using Rust

Rust is a systems programming language that’s been soaring in popularity over the past several years. It’s been rated the #1 Most Loved Programming Language for 6 years in a row for the following reasons:

Learning Rust Makes You A Better Programmer

With Rust’s growing popularity, there’s no question it’s going to be one of the most commonly used languages over the next 10 years. What good is it to learn Rust now? Unique to Rust are the blend of functional and systems programming, and the borrow checker. Depending on your background, these are opportunities to learn about:

Weekly Syllabus

Setup and installation

Cargo, integer types, Result/Option error handling

Intro to the borrow checker

Enums and structs, pattern matching

<aside> 4️⃣ Containers: Vec, arrays, slices, iterators, HashMap

</aside>

More iterators, rayon, threading, concurrency patterns

<aside> 6️⃣ Global variables, multithreading, smart pointers

</aside>

Resources

Install Rust

into_rust(): screencasts for learning Rust

GitHub - rust-lang/rustlings: Small exercises to get you used to reading and writing Rust code!