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. 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.
Overview
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.
Taught by
Noah Gift and Alfredo Deza