Effortless Parallelism

Dušan Gajić · 17/03/2026

Course Description

This course is intended to give data scientists Rust superpowers! The target audience are people whose day to day involves using a lot of Python to process and analyze information in data science and AI applications. When the built-in tools written in high-performance languages do not fit the needs of the computation at hand, and pure Python is simply not fast enough it becomes necessary to reach for something else. This course offers a simple tech stack that provides the simplest and most effective way to write powerful parallelized and incredibly high-performance code that integrates with your existing Python solution. The course covers the fundamentals of Rust, tailored to the needs of the course, tools and techniques that can integrate Rust with Python, and effortless high-performance parallelization with Rayon.

Prerequisites 

  • Understanding of fundamental programming concepts  
  • Proficiency in Python  

Course Objectives 

After successfully finishing the course, the students will be able to 

  • Develop highly efficient Rust ‘kernels’ that they can integrate into existing Python projects that provide extreme speed where needed and get out of the way otherwise.  
  • Explain the basics of work-stealing parallelism.  

Course Learning Outcomes  

At the end of this course, the students will have 

  • Written fast Rust code that can be used in Python.  
  • Parallelised iterator-centric Rust dataflows using Rayon.  

Textbook and Reference Materials

  • Klabnik, Steve, and Carol Nichols. The Rust programming language. No Starch Press, 2023. (and modern online iterations).  

Course Conduct

At the end of each chapter of the course, students will be given exercise problems that they will work to independently solve before they are evaluated at the start of the next chapter. The results of these evaluations will track each student’s progress, and this start-of-chapter session will be used to make sure that everyone understands the solution to these exercises before progressing.  

Each chapter will be preceded by assigned reading from the reference documentation. Then, at the start of the class period an overview of this material will be presented. This overview’s key purpose is to identify weaknesses in the student’s understanding of the material and to remedy these weaknesses. This is followed by a series of exercises that are partially done by the student themselves and partially demonstrated by the instructor.  

Instructors

Prof. Veljko Petrović, PhD, Assistant Professor

Branislav Ristić, MSc, Teaching Assistant

Nikola Vukić, MSc, Teaching Assistant

About Instructor

Not Enrolled

Course Includes

  • 3 Lessons
  • 15 Topics
  • 16 Quizzes