Rust Fundamentals (Coursera)

Offered by Duke University,
Rust Fundamentals (Coursera)

This comprehensive Rust programming course welcomes learners of all levels, including beginners and those with some programming experience. No prior knowledge of Rust is required, making it accessible to coding novices. Throughout the course, you will gain a solid foundation in Rust programming and develop proficiency in advanced concepts, enabling you to write efficient, reliable, and high-performance code.

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

You will understand the core concepts and syntax of Rust, learn effective code organization, error handling techniques, and explore Rust's package manager for efficient project management. By completing this course, you will have the skills to develop reliable and high-performance applications, regardless of your prior programming experience.

What you'll learn

  • Apply Rust's core concepts like ownership, borrowing, and lifetimes to write efficient, reliable, and safe code.
  • Use Rust's advanced features like enums, structs, traits, and generics to build robust applications.
  • Develop, document, test and debug Rust projects using Cargo, Rust Analyzer, and other tools in the Rust ecosystem.

Syllabus

Installing Rust and Setting Up Your Text Editor
This week, you will learn how to optimize your Rust development workflow using powerful tools such as programming suggestions, prompts with Copilot, and GitHub Codespaces. By diving into the lessons on programming with suggestions, using prompts with Copilot, and exploring the fundamentals of Codespaces, you will acquire the skills to streamline your coding process and collaborate more efficiently with others.

Rust Fundamentals
This week, you will dive into the essential concepts of control flow, error handling, and functions in Rust programming. By exploring the lessons on conditional statements, loops (including the while and for loops), break and continue statements, match control flow, and error handling, you will gain a solid understanding of how to effectively control the flow of your code and handle errors. Additionally, you will explore the fundamentals of functions in Rust, including unit functions, return values, using arguments, and the borrowing concept.

Using Structs, Types, and Enums
This week, you will learn about various data structures and types in Rust. We'll cover defining structs, creating instances, and associated functions. Additionally, you'll explore string manipulation using String and str types. The course will also touch upon vectors, covering value retrieval and element addition. You'll gain familiarity with enums, including the Option enum and its applications, as well as using vectors with enums. Lastly, we'll focus on exhaustive matches for handling enum cases. Practical assessments throughout the course will reinforce your understanding of Rust's data structures and types.

Applying Rust
This week you will explore advanced topics related to code organization, testing, documentation, and library development. By delving into the lessons on verifying code with doctest, working with public and private modules, managing public and private fields, organizing test files, writing tests for your code, testing private code, using test failure messages effectively, and documenting your code, you will acquire the necessary skills to create robust and well-structured Rust projects.

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

Related Courses

Case studies in business analytics with ACCENTURE (Coursera) Coursera
ESSEC Business School

Case studies in business analytics with ACCENTURE (Coursera)

This course is RESTRICTED TO LEARNERS ENROLLED IN Strategic Business Analytics SPECIALIZATION as a preparation to the capstone project. During the first two MOOCs, we focused on specific techniques for specific applications. Instead, with this third MOOC, we provide you with different examples to open your mind to different applications from different industries and sectors. The objective is to give you an helicopter overview on what's happening in this field. You will see how the tools presented in the two previous courses of the Specialization are used in real life projects.

Nov 16th 2026
3 Weeks
Automated Software Testing: Model and State-based Testing (edX) EdX
Delft University of Technology,DelftX

Automated Software Testing: Model and State-based Testing (edX)

Learn the advanced software testing techniques, tools, and best practices required to deliver high-quality software. Software testing gets a bad rap for being difficult, time-consuming, redundant, and above all - boring. But in fact, it is a proven way to ensure that your software will work flawlessly and can meet release schedules.

Self Paced
Self-Paced
Software Analysis & Testing (Udacity) Udacity
Georgia Institute of Technology,Udacity

Software Analysis & Testing (Udacity)

This course covers the theory and practice of software analysis, which lies at the heart of many software development processes such as diagnosing bugs, testing, debugging, and more. It presents diverse techniques, each with their own strengths and limitations, for automating tasks such as testing, debugging, and finding bugs in complex real-world programs. These techniques include dataflow analysis, constraint-based analysis, type systems, model checking, symbolic execution, and more. The course teaches the principles underlying these techniques as well as imparts hands-on experience with using and implementing tools based on these techniques.

Self Paced
Self-Paced
Learn Software Testing Certification course (Eduonix) Eduonix
Eduonix Learning Solutions Pvt. Ltd.

Learn Software Testing Certification course (Eduonix)

Software Testing is one of the most important and critical component of Software development life cycle. The testing team is ultimately responsible of Software quality and forms the bedrock before it goes out to actual users and to market place. Over the years with innovative development techniques the software testing and quality assurance field has undergone a sea change. With new techniques like TDD(Test driven development) taking hold in industry the software developers must understand the nuances of new approaches to software quality. This is a free course with a MOOC List coupon.

Self Paced
Self-Paced
Engineering Practices for Building Quality Software (Coursera) Coursera
University of Minnesota

Engineering Practices for Building Quality Software (Coursera)

Agile embraces change which means that team should be able to effectively make changes to the system as team learns about users and market. To be good at effectively making changes to the system, teams need to have engineering rigor and excellence else embracing change becomes very painful and expensive. In this course, you will learn about engineering practices and processes that agile and traditional teams use to make sure the team is prepared for change. In additional, you will also learn about practices, techniques and processes that can help team build high quality software. You will also learn how to calculate a variety of quantitative metrics related to software quality.

Oct 26th 2026
4 Weeks
Algorithmic Toolbox (Coursera) Coursera
University of California, San Diego,Higher School of Economics - HSE University

Algorithmic Toolbox (Coursera)

The course covers basic algorithmic techniques and ideas for computational problems arising frequently in practical applications: sorting and searching, divide and conquer, greedy algorithms, dynamic programming. We will learn a lot of theory: how to sort data and how it helps for searching; how to break a large problem into pieces and solve them recursively; when it makes sense to proceed greedily; how dynamic programming is used in genomic studies. You will practice solving computational problems, designing new algorithms, and implementing solutions efficiently (so that they run in less than a second).

Oct 26th 2026
5-12 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.

Oct 26th 2026
5-12 Weeks
Software Testing for Developers (Coursera) Coursera
Codio

Software Testing for Developers (Coursera)

Code and run software tests websites without installing anything! This course is designed for learners who have some experience with JavaScript but a novice to software testing. The modules in this course covers the fundamentals of testing with Jest; popular testing paradigms like test-driven development, behavior-driven development, user accepting testing, etc.; and commonly used tools like JMeter, Postman, and Cucumber.

Oct 26th 2026
3 Weeks