Rust for Python developers

Learn to leverage the speed and safety of Rust

Rust is a low-level language that is known for its performance and safety, since it's designed to prevent a whole family of bugs that low-level languages are often subject to.

This practical course is designed to teach Rust to people who are comfortable with the Python programming language and who want to learn a blazingly fast language that has excellent Python interoperability.

Course length and format

Course length: 4 days (32 hours)

Format: All courses offered have a similar format. The teaching is done without boring slides, but instead through live-coding and demonstrations. During the exposition of new concepts or ideas, participants code along and solve small comprehension-check exercises. At the end of each section, participants are given small projects to work on, to verify their understanding, and to cement their learning.

Location: This course can be given remotely or on-site.

Course description

Rust is a popular, low-level language that is famous for its speed and safety. In the Python world, Rust has been rising in popularity as individuals and teams develop Python packages written in Rust.

Leveraging the knowledge that participants already have of Python, this course teaches how to write efficient, safe Rust code. Participants will learn about some of the key concepts and design decisions that make Rust such a popular language, like ownership, borrowing, and lifetimes, and they will learn how an understanding of the underlying rules enables programmers to write the safe and performant programs that Rust is known for.

By the end of this course, participants will be able to write and compile Rust programs, as well as create and package their projects with cargo, Rust's package manager. Participants will also be in a position to start using Rust to develop Python packages, bringing the best of Python and Rust together.

Course syllabus

  • Writing and compilation of Rust programs.
  • Variables, mutability and data types.
  • Basic syntax:
    • functions
    • loops
    • conditionals
  • Ownership, references, and borrowing.
  • Structs.
  • Pattern matching.
  • Vectors, strings, and mappings.
  • Error handling.
  • Generic data types.
  • Traits.
  • Reference lifetimes.
  • File I/O.
  • Package management.
  • Testing.

If you would like to tweak the course syllabus to your needs, reach out to me and we will work something out.

Target audience and pre-requisites

This course is aimed at Python developers with, at least, intermediate knowledge of Python. No prior Rust experience is required.

Availability and pricing

Contact me for pricing and availability information.

About the instructor

Hi, I'm Rodrigo Girão Serrão from sunny Portugal 🇵🇹.

I'm a prolific Python author and speaker, with multiple books published independently and dozens of talks and tutorials given at the largest Python conferences in the world. I also blog frequently about Python and publish two Python newsletters: the mathspp insider and the daily Python drops 🐍💧.

I have extensive experience teaching people from all walks of life – from kids in school, to professionals in various industries, to retirees – and there is a clear consensus that my students enjoy my clear examples, the live-coding during my lessons, and most surprisingly: my quirky sense of humour.

Testimonials

Sofia Silva

What I take from my experience is that Rodrigo tries – and succeeds – in explaining concepts in the simplest way possible, which makes learning much easier. Additionally, he is interactive with the students and always available to provide exercises and any other information we may need. I really enjoyed my experience, and I am sure that many others will also have an excellent learning experience with Rodrigo.

Sofia Silva – Intro to Python course student

Guilherme Latrova

Rodrigo has a unique and very practical way of teaching, mixing different concepts and applying them with Python and this unique ability makes complex problems look easy by how Rodrigo approaches them.

Guilherme Latrova – Python speaker & blogger

Mike Driscoll

Rodrigo is a great teacher who excels at showing how different approaches to the same code work. Rodrigo is able to break down difficult problems into easy-to-digest pieces that will help you understand the problem AND the solution.

Mike Driscoll – Author of “Python 101” & other Python books

Will McGugan

Rodrigo is an excellent communicator of Python technical content. You can rely on him to thoroughly analyze code and algorithms, yet express his findings in a way that is digestible for beginner and experienced developers alike.

Will McGugan – Creator of rich & Textual

Schedule the course

Please contact me to schedule this course for your team.

Questions?

If you have any questions or inquiries regarding this course, please contact me and we'll sort everything out together.

Not what you're looking for?

Go back to see all training offerings or reach out to me if you want to discuss a custom training tailored for your unique needs.