When you enroll in this course, you'll also be enrolled in this Specialization.
Learn new concepts from industry experts
Gain a foundational understanding of a subject or tool
Develop job-relevant skills with hands-on projects
Earn a shareable career certificate
There are 3 modules in this course
Build production-quality command-line tools in Rust for data engineering. You move from a first hello-world CLI through real argument parsing with `clap`, ergonomic error handling with `anyhow`, and structured logging with `env_logger`. From there you learn subcommand design patterns suited to data pipelines (`ingest`, `transform`, `filter`, `export`), input validation that fails fast with a helpful message, and the data-specific flags (`--format`, `--output`, `--delimiter`, `--column`, `--limit`) every CSV and JSON tool needs. The course closes with packaging: Cargo metadata, publishing to crates.io, and a multi-stage Docker container. Along the way you learn the Rust toolchain — rustup, cargo, rust-analyzer — modules and the crates.io ecosystem, the difference between `Result` and `panic!`, and the discipline of `stderr` versus `stdout`. The capstone is `datactl`, a Rust CLI you build from scratch that reads, summarizes, filters, and exports CSV and JSON files. By the end you will have shipped a small, fast, statically-linked binary you can run anywhere.
From a first hello-world CLI to a well-structured Rust crate. You set up the toolchain, parse arguments, organize code across modules, and replace panics with Result-based error handling.
What's included
12 videos7 readings1 assignment
Show info about module content
12 videos•Total 88 minutes
Course Introduction•2 minutes
Module 1 Introduction•2 minutes
Setting Up Your Rust Development Environment•11 minutes
Your First CLI in Rust•13 minutes
Working with User Input, Arguments, and Options•10 minutes
Expanding with Modules and Libraries•8 minutes
Managing Errors and Panics•12 minutes
Rust CLI Best Practices•10 minutes
Creating and Using Modules in Rust•5 minutes
Advanced Modules in Rust•4 minutes
Libraries and Dependencies in Rust•6 minutes
Using the Crates Website•5 minutes
7 readings•Total 65 minutes
About This Course•5 minutes
Key Terms: Course Introduction•10 minutes
Reflection: Course Introduction•10 minutes
Key Terms: Your First CLI in Rust•10 minutes
Reflection: Your First CLI in Rust•10 minutes
Key Terms: Modules and Dependencies•10 minutes
Reflection: Modules and Dependencies•10 minutes
1 assignment•Total 5 minutes
CLI Foundations•5 minutes
Week 2: Production CLIs
Module 2•2 hours to complete
Module details
Building Production CLIs in Rust
What's included
9 videos7 readings1 assignment
Show info about module content
9 videos•Total 57 minutes
Creating CLI Subcommands in Rust•12 minutes
Sub-command Design Patterns for Data Workflows•3 minutes
Parsing Complex CLI Arguments in Rust•10 minutes
Validating CLI Input for Data Engineering•4 minutes
Data-Specific CLI Flags and Options•4 minutes
Adding Environment Variables to a Rust CLI•5 minutes
Create a Package for a Rust CLI•8 minutes
Implementing Basic Logging in Rust•7 minutes
Different Types of Logs in Rust•7 minutes
7 readings•Total 75 minutes
Key Terms: Subcommands and Advanced Arguments•10 minutes
Reflection: Subcommands and Advanced Arguments•10 minutes
Key Terms: Packaging and Distribution•10 minutes
Reflection: Packaging and Distribution•10 minutes
Key Terms: Logging and Error Handling•10 minutes
Reflection: Logging and Error Handling•10 minutes
Role Play: Building Production-Ready CLIs•15 minutes
1 assignment•Total 5 minutes
Production CLIs•5 minutes
Week 3: Course Conclusion
Module 3•1 hour to complete
Module details
Critical Thinking, Capstone Exercise and Final Steps
What's included
1 video5 readings1 assignment
Show info about module content
1 video•Total 2 minutes
Course Conclusion•2 minutes
5 readings•Total 50 minutes
Key Terms: Course Conclusion and Next Steps•10 minutes
Capstone•10 minutes
Reflection: Course Conclusion and Next Steps•10 minutes
Before You Go•10 minutes
Next Steps•10 minutes
1 assignment•Total 15 minutes
Final Graded Quiz•15 minutes
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
When will I have access to the lectures and assignments?
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
What will I get if I subscribe to this Specialization?
When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Is financial aid available?
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.