Data Engineering with Rust (Coursera)

Offered by Duke University,
Data Engineering with Rust (Coursera)

Are you a data engineer, software developer, or a tech enthusiast with a basic understanding of Rust, seeking to enhance your skills and dive deep into the realm of data engineering with Rust? Or are you a professional from another programming language background, aiming to explore the efficiency, safety, and concurrency features of Rust for data engineering tasks? If so, this course is designed for you.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

While a fundamental knowledge of Rust is expected, you should ideally be comfortable with the basics of data structures and algorithms, and have a working understanding of databases and data processing. Familiarity with SQL, the command line, and version control with git is advantageous.
This four-week course focuses on leveraging Rust to create efficient, safe, and concurrent data processing systems. The journey begins with a deep dive into Rust's data structures and collections, followed by exploring Rust's safety and security features in the context of data engineering. In the subsequent week, you'll explore libraries and tools specific to data engineering like Diesel, async, Polars, and Apache Arrow, and learn to interface with data processing systems, REST, gRPC protocols, and AWS SDK for cloud-based data operations. The final week focuses on designing and implementing full-fledged data processing systems using Rust.
By the end of this course, you will be well-equipped to use Rust for handling large-scale data engineering tasks, solving real-world problems with efficiency and speed. The hands-on labs and projects throughout this course will ensure you gain practical experience, putting your knowledge into action. This course is your gateway to mastering data engineering with Rust, preparing you for the next level in your data engineering journey.
This course is part of the Rust Programming Specialization.

Syllabus

Rust Data Structures: Collections
In this first week, we will delve into Rust's powerful and flexible data structures. You'll gain insights into different types of sequences, maps, and sets, discovering their distinctive characteristics and potential use cases. Through hands-on exercises and projects, you'll apply these concepts in practical scenarios. This includes creating a Fruit Salad CLI with a variety of sequences, comparing languages using both HashMap and BTreeMap, managing unique fruits with HashSet and BTreeSet, and prioritizing data using a Binary Heap. These experiences will equip you with a robust understanding of how to use Rust data structures effectively for data organization and manipulation, forming a vital foundation for the weeks ahead.

Safety, Security and Concurrency with Rust
This week, you will delve deep into the safety features and security principles that make Rust a powerful and reliable language for systems programming. You'll learn how to prevent data races, manage memory effectively to avoid leaks, safely interoperate with C libraries using Rust's Foreign Function Interface (FFI), and build robust concurrent applications leveraging Rust's unique mechanisms for handling mutable and immutable data. Through exploring automatic bounds checking and safe transmutes, you will learn to avoid common errors and undefined behaviors that are prevalent in other languages. To apply what you've learned, you will be tasked with a series of hands-on exercises that demonstrate these principles in real-world scenarios. You'll create a multi-threaded web server, a command-line application that processes diverse types of user input, and systems that would typically be vulnerable to bugs in other languages but remain secure due to Rust's inherent safety mechanisms. Through these exercises, you will gain a concrete understanding of how Rust's safety features lead to more secure, robust, and efficient code.

Rust Data Engineering Libraries and Tools
This week, you will delve deeper into the Rust ecosystem by exploring various libraries and tools specific to data engineering. You will learn how to process CSV and Parquet files, and make use of Rust's async capabilities to build efficient web scrapers and API consumers. Also, you'll get acquainted with popular data processing libraries like Polars and Apache Arrow. Furthermore, you'll discover how Rust interfaces with data processing systems for message passing, how it deals with REST and gRPC protocols, and the methods of integrating with AWS SDK for cloud-based data operations. Each project is designed to highlight the efficiency, safety, and concurrent processing capabilities of Rust in handling large-scale data engineering tasks. With a focus on hands-on practice, this week aims to equip you with the skills to solve real-world data engineering problems using Rust.

Designing Data Processing Systems in Rust
This week, you will learn how to design and implement data storage solutions and pipelines using Rust, focusing on leveraging Rust's unique capabilities to manage storage technologies effectively. You'll explore strategies for constructing robust data processing solutions and migrating existing warehousing and processing systems to more efficient Rust-oriented solutions. A significant emphasis will be placed on understanding and utilizing key Rust libraries for data processing and mastering best practices for error handling in Rust to enhance system resilience and reliability. You will apply your knowledge by working on a series of practical assignments that involve creating a Rust-based data pipeline, migrating a simple data processing system to Rust, and utilizing Rust libraries to improve a sample data processing scenario. You'll also handle simulated errors in a Rust-based data processing environment, which will help solidify your understanding and application of Rust's error handling mechanisms.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

The Total Data Quality Framework (Coursera) Coursera
University of Michigan

The Total Data Quality Framework (Coursera)

By the end of this first course in the Total Data Quality specialization, learners will be able to: identify the essential differences between designed and gathered data and summarize the key dimensions of the Total Data Quality (TDQ) Framework; define the three measurement dimensions of the Total Data Quality framework, and describe potential threats to data quality along each of these dimensions for both gathered and designed data; define the three representation dimensions of the Total Data Quality framework, and describe potential threats to data quality along each of these dimensions for both gathered and designed data; and ; describe why data analysis defines an important dimension of the Total Data Quality framework, and summarize potential threats to the overall quality of an analysis plan for designed and/or gathered data.

Nov 9th 2026
4 Weeks
Introduction to Python Programming (Coursera) Coursera
University of Pennsylvania

Introduction to Python Programming (Coursera)

This course provides an introduction to programming and the Python language. Students are introduced to core programming concepts like data structures, conditionals, loops, variables, and functions. This course includes an overview of the various tools available for writing and running Python, and gets students coding quickly. It also provides hands-on coding exercises using commonly used data structures, writing custom functions, and reading and writing to files.

Nov 9th 2026
4 Weeks
Algorithms, Part I (Coursera) Coursera
Princeton University

Algorithms, Part I (Coursera)

This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Part I covers elementary data structures, sorting, and searching algorithms. Part II focuses on graph- and string-processing algorithms.

Nov 16th 2026
5-12 Weeks
Data Processing Using Python (Coursera) Coursera
Nanjing University

Data Processing Using Python (Coursera)

This course is mainly for non-computer majors. It starts with the basic syntax of Python, to how to acquire data in Python locally and from network, to how to present data, then to how to conduct basic and advanced statistic analysis and visualization of data, and finally to how to design a simple GUI to present and process data, advancing level by level.

Nov 23rd 2026
5-12 Weeks
Securing Digital Democracy (Coursera) Coursera
University of Michigan

Securing Digital Democracy (Coursera)

In this course, you'll learn what every citizen should know about the security risks--and future potential — of electronic voting and Internet voting. We'll take a look at the past, present, and future of election technologies and explore the various spaces intersected by voting, including computer security, human factors, public policy, and more.

Nov 16th 2026
5-12 Weeks
Preparing for the Google Cloud Professional Data Engineer Exam (Coursera) Coursera
Google Cloud

Preparing for the Google Cloud Professional Data Engineer Exam (Coursera)

From the course: "The best way to prepare for the exam is to be competent in the skills required of the job." This course uses a top-down approach to recognize knowledge and skills already known, and to surface information and skill areas for additional preparation. You can use this course to help create your own custom preparation plan. It helps you distinguish what you know from what you don't know. And it helps you develop and practice skills required of practitioners who perform this job.

Nov 16th 2026
5-12 Weeks
Computational Thinking with JavaScript 2: Model & Analyse (Coursera) Coursera
University of Glasgow

Computational Thinking with JavaScript 2: Model & Analyse (Coursera)

This is the second course in a sequence of four courses that develops essential 21st century computational thinking (CT) skills using the popular JavaScript programming language. At the end of this second course you will: know a framework for CT to help you model the real world using abstract data structures; have developing CT skills so that you can perform common data analytics tasks; be able to read and write programs in JavaScript that involve processing, analysing and visualizing data, using a specialised library; and post your creations on the web to share your code with others.

Nov 9th 2026
4 Weeks
Serverless Data Processing with Dataflow:Foundations Español (Coursera) Coursera
Google Cloud

Serverless Data Processing with Dataflow:Foundations Español (Coursera)

Este curso corresponde a la 1ª parte de una serie de 3 cursos llamada Serverless Data Processing with Dataflow. Para comenzar, en el primer curso haremos un repaso de qué es Apache Beam y cómo se relaciona con Dataflow. Luego, hablaremos sobre la visión de Apache Beam y los beneficios que ofrece su framework de portabilidad. Dicho framework hace posible que un desarrollador pueda usar su lenguaje de programación favorito con su backend de ejecución preferido.

Nov 16th 2026
2 Weeks
Software Engineering: Implementation and Testing (Coursera) Coursera
The Hong Kong University of Science and Technology - HKUST

Software Engineering: Implementation and Testing (Coursera)

Software Development Life Cycle (SDLC) is the process of developing software through planning, requirement analysis, design, implementation, testing, and maintenance. This course focuses on the implementation and testing phases of SDLC, and you will examine different software development processes for large software systems development, and understand the strengths (pros) and weaknesses (cons) of different software development processes.

Nov 9th 2026
5-12 Weeks
Dynamic Programming, Greedy Algorithms (Coursera) Coursera
University of Colorado Boulder

Dynamic Programming, Greedy Algorithms (Coursera)

This course covers basic algorithm design techniques such as divide and conquer, dynamic programming, and greedy algorithms. It concludes with a brief introduction to intractability (NP-completeness) and using linear/integer programming solvers for solving optimization problems. We will also cover some advanced topics in data structures.

Nov 9th 2026
4 Weeks