In this bootcamp, you will learn the fundamentals of Rust to produce a production-ready application to demonstrate real-world expertise. You will use hands-on and practical material to go beyond just theory. By the end of this bootcamp, you will be able to develop applications in Rust with best practices, creating a solid foundation to expand your knowledge.
Teachers
Table of Contents
By the end of the bootcamp, you will be able to:
- Master Core Rust Concepts: Demonstrate proficiency in Rust's fundamental programming concepts including variables, control flow, and ownership
- Apply Safety Principles: Write safe, concurrent, and high-performance Rust code using the language's unique safety guarantees
- Utilize Modern Development Tools: Effectively use Rust Analyzer, Cargo, GitHub Copilot, and dev containers in professional workflows
- Implement Best Practices: Apply test-driven development principles and create well-documented, maintainable Rust libraries
- Build Real Applications: Construct practical CLI applications and libraries using Rust's ecosystem and standard library
This bootcamp is based on a single and individual class project. You will start work on this project from Week 1 and will deliver the completed project with final presentation on Week 6
This course requires basic Linux and programming skills. You can complete all coursework with an editor of your choice. Use the following recommendations to get up to speed on these skills.
Linux If learners lack basic Linux skills it is recommended to go through this course:
GitHub Platform
Being able to work around and in GitHub is essential. Use these courses to get a refresher on automation, AI, and development environments:
This bootcamp requires you to build your own project based on our Rust Starter Project template repository. You will have to copy this into your own GitHub account.
Use the following template and go through its instructions when ready
This bootcamp is covered with the following courses:
You will see references to the weeks of each course so you know exactly what relevant part is needed for this Bootcamp.
These are all the resources you need for this course.
Important
You are not required to watch and read every single resource. You aren't graded on consumption of content or memorization of facts. Use the content as support for your project.
Go through the content on these courses and make sure you understand concepts like CI/CD, Codespaces, and general repository management.
This week you will start by forking or copying the template repository. This repository is the foundational step for creating your Rust application by the end of this bootcamp. You will also focus on setting up your development environment.
This course uses Visual Studio Code, but you are free to change to use anything else.
Weekly Discussion prompt: Discuss your text editor choice and setting up the debugger. There are different debuggers available for Rust. Explain your choice.
This week you will think about your project of choice. What will you build? You will start creating the necessary files and structure for your project.
Weekly Discussion prompt: Discuss your project idea. What will you build and why?
This week you will dive into Rust's powerful data structures including structs, strings, vectors, and enums. You'll learn how to define custom types, manipulate collections, and work with Rust's unique approach to data organization. Focus on implementing these concepts in your project by creating the core data structures you'll need.
I recommend this video for dealing with exhaustive matches:
Weekly Demo video prompt: Share the structs and enums you've designed for your project. How do they model your problem domain, and what challenges did you encounter with ownership and borrowing?
This week focuses on professional Rust development practices. You'll learn to create libraries with Cargo, write comprehensive documentation, organize your code with modules, and implement thorough testing strategies. Apply test-driven development principles to your project and ensure your code is well-documented and maintainable.
Organiznig test files can be challenging if you are not used to how this happens in Rust. This is my recommended video for this week:
Weekly Demo video prompt: Discuss your testing strategy for your project. What types of tests are you writing (unit, integration, doc tests) and how are you organizing your test files? Share any interesting edge cases you discovered.
In the final week, you'll complete your Rust project by building a command-line interface. You'll learn to handle user input, manage command-line arguments, implement proper error handling, and follow Rust CLI best practices. This is where you bring everything together into a polished, working application.
Important
You will have an extra buffer week to extend or complete your project. The extra week will have no video attached to it.
Weekly Demo video prompt: Present your completed project! Share your CLI application, discuss the challenges you overcame, and reflect on your Rust learning journey. What would you build next with Rust?
This week is a buffer week. Use it for adding and completing final details on your project and come into the Discord channel with any last questions.
Also, congratulations! Completing this bootcamp is something to celebrate, and we are happy you made it to the end. Good job!
- Turn in Final Project
This repository contains links to comprehensive courses covering various aspects of modern software development, cloud computing, and artificial intelligence. The courses are organized by topic area to help you find the most relevant learning materials for your needs.
- Rust Fundamentals
- Rust For Devops
- Rust-Powered AWS Serverless
- Rust for Machine Learning Operations (LLMOps)
- Rust Data Engineering
- WebSockets Foundations with Rust
- AWS Certified Cloud Practitioner Preparation
- AWS AI Analytics: Enhancing Analytics Pipelines with AI
- Building AI Applications with Amazon Bedrock
- Enterprise AI Operations with AWS
- AWS Generative AI Services
- Natural Language Processing with Amazon Bedrock
- Responsible AI and Security on AWS: Building Secure and Ethical AI Systems
- CLI Automation with AWS Cloud Shell and Amazon Q: Building Modern DevOps Workflows
- 52 Weeks of AWS: Complete Cloud Certification Journey
- AWS Advanced AI Engineering
- Generative AI and LLMs on AWS
- LLMOps with Azure
- Azure Fundamentals
- Azure AI Fundamentals
- End to End LLM with Azure
- MLOps Platforms: Amazon SageMaker and Azure ML
- Google Cloud Professional Machine Learning Engineer
- Google Cloud Platform Certified Data Engineer
- Authoritative GCP Professional Cloud Architect
- Generative AI with AWS
- Natural Language AI with Bedrock
- Introduction to Generative AI
- Small Language Models
- Using GenAI to Automate Software Development Tasks
- AI Orchestration: Running Local LLMs at Scale
- Applied Local Large Language Models
- AI Orchestration with Local Models: From Development to Production
- Introduction to LLM Vulnerabilities
- Data Engineering with Databricks
- Databricks Engineering Mastery
- Scripting with Python and SQL for Data Engineering
- Advanced Data Engineering
- Linux and Bash for Data Engineering
- Cloud Machine Learning Engineering and MLOps
- Agile with AI
- Cloud Virtualization, Containers and APIs
- DevOps, DataOps, and MLOps
- MLOps Tools: MLflow and Hugging Face
- GitHub Enterprise Administration
- GitHub Models
- GitHub Fundamentals
- Applied GitHub Platform
- Introduction to Codespaces
- Coding a Review Bot with AI
- Python and Rust with Linux Command Line Tools
- Python Essentials for MLOps
- Zig Systems Programming Foundations
- Deno TypeScript Development
- Rust GUI Development for Linux
Choose courses based on your current skill level and learning objectives:
- Beginners: Start with foundational courses like "Cloud Computing Foundations" or "Rust Fundamentals"
- Intermediate: Focus on specific technologies like AWS or Azure courses
- Advanced: Explore specialized topics like MLOps, AI Engineering, or advanced cloud architectures
- Pragmatic AI Labs
- mlflow-project-best-practices
- databricks-zero-to-mlops
- Python MLOps Cookbook
- Edge Computer Vision
- Github Codespaces
- AWS Academy
- Azure for learners
- Google Qwiklabs
- Practical MLOps
- AWS Bootcamp
- Gift, N (2020) Python for DevOps Sebastopol, CA: O'Reilly.
- Gift, N (2021) Practical MLOps, Sebastopol, CA: O'Reilly
- Gift, N (2021) Cloud Computing for Data Analysis
- Gift, N (2020) Pragmatic AI: An Introduction to Cloud-Based Machine Learning
- AWS Training & Certification
- AWS Educate
- AWS Academy
- Google Qwiklabs - Hands-On Cloud Training
- Coursera
- Microsoft Learn
- edX
- Applied Computer Vision with Python Lectures: https://learning.oreilly.com/videos/applied-computer-vision/60652VIDEOPAIMLL/
- Learn Python in One Hour: https://learning.oreilly.com/videos/learn-python-in/60645VIDEOPAIML/
- Cloud Computing with Python: https://learning.oreilly.com/videos/cloud-computing-with/60650VIDEOPAIML/
- Python for Data Science with Colab and Pandas in One Hour: https://learning.oreilly.com/videos/python-for-data/62062021VIDEOPAIML/
- GCP Cloud Functions:
https://learning.oreilly.com/videos/learn-gcp-cloud/50101VIDEOPAIML/ - Azure AutoML
https://learning.oreilly.com/videos/learn-azure-ml/50104VIDEOPAIML/
- AWS Cloud Practitioner
- AWS ML
- AWS SA
-
Building AI Applications with GCP: https://learning.oreilly.com/videos/building-ai-applications/9780135973462/
-
Build GCP Cloud Functions:
https://learning.oreilly.com/videos/learn-gcp-cloud/50101VIDEOPAIML/
- Data Science, Pandas, and Colab
https://learning.oreilly.com/videos/python-for-data/62062021VIDEOPAIML/
- Python and DevOps
https://learning.oreilly.com/videos/python-devops-in/61272021VIDEOPAIML/ - Python Command-line Tools
https://learning.oreilly.com/videos/learn-python-command-line/50102VIDEOPAIML/
-
Docker containers:
https://learning.oreilly.com/videos/learn-docker-containers/50103VIDEOPAIML/ -
Learn the Vim Text Editor:
https://learning.oreilly.com/videos/learn-vim-in/50100VIDEOPAIML/
Grading and feedback turnaround will be one week from the due date. You will be notified if the turnaround will be longer than one week.
The discussion forums, written assignments, demo videos, and final project will be graded based on specific criteria or a rubric. The criteria or rubric for each type of assessment will be available in the course.
This bootcamp is meant for learners to be fully accountable and responsible for their work. At the end of the bootcamp, your project is your accomplishment. There is no specific grading or tests. The artifact you produce is the validation of completion of this bootcamp and its contents.
The purpose of the discussion boards is to allow learners to freely exchange ideas. It is imperative to remain respectful of all viewpoints and positions and, when necessary, agree to respectfully disagree. While active and frequent participation is encouraged, cluttering a discussion board with inappropriate, irrelevant, or insignificant material will not earn additional points and may result in receiving less than full credit. Frequency matters, but contributing content that adds value is paramount. Please remember to cite all sources—when relevant—in order to avoid plagiarism. Please post your viewpoints first and then discuss others’ viewpoints.
The quality of your posts and how others view and respond to them are the most valued. A single statement mostly implying “I agree” or “I do not agree” is not counted as a post. Explain, clarify, politely ask for details, provide details, persuade, and enrich communications for a great discussion experience. Please note, there is a requirement to respond to at least two fellow class members’ posts. Also, remember to cite all sources—when relevant—in order to avoid plagiarism.
Important
Failure to meet minimum standards of online communication might get your access revoked
Beyond interacting with your instructor and peers in discussions, you will be expected to communicate primarily by Discords messages, and in the weekly sync sessions.
Just as you expect a response when you send a message to your instructor, please respond promptly when your instructor contacts you. Your instructor will expect a response within two business days. This will require that you log into the course site regularly and set up your notifications to inform you when the instructor posts an announcement, provides feedback on work or sends you a message.
Important
Failure to meet minimum standards of online communication might get your access revoked
This bootcamp will meet at a particular day and time each week. Attendance is not mandatory and is meant to discuss project progress, prodivde feedback, and do general Q&A. Your attendance does not affect your bootcamp completion.
This course will involve a number of different types of interactions. These interactions will take place primarily through Discord and Zoom for weekly check-ins and willl use the Pragmatic AI Labs platform for video content. Please take the time to navigate through the course and become familiar with the course syllabus, structure, and content and review the list of resources.
For questions about specific courses or technical support, please visit the course platform at ds500.paiml.com.