Pular para conteúdo

Plano de Ensino: Programação de Sistemas com Rust 🦀

📖 Ementa

O curso aborda os fundamentos da linguagem Rust, o sistema de gerenciamento de memória (Ownership), abstrações de alto nível (Traits e Generics) e a construção de sistemas reais, incluindo ferramentas de linha de comando (CLI) e serviços Backend.

🎯 Objetivos

  • Compreender a segurança de memória sem Garbage Collector.
  • Desenvolver algoritmos eficientes e seguros com Rust.
  • Implementar concorrência segura (Fearless Concurrency).
  • Construir aplicações Backend modernas e escaláveis.

📅 Cronograma

Semana Tópico Atividade
01 Intro e Setup Instalação e Hello World
02 Fundamentos Variáveis e Tipos
03 Controle de Fluxo if, match, loops
04 Funções e Módulos Organização de código
05 Ownership Parte 1 Stack vs Heap
06 Borrowing e Refs Empréstimos seguros
07 Strings e Coleções Vec, HashMap
08 Structs e Enums Modelagem de dados
09 Erros Result e panic!
10 Generics/Traits Abstração
11 Funcional Closures e Iteradores
12 Qualidade Testes e Docs
13 Concorrência Threads e Canais
14 CLI Projeto prático
15 Web APIs com Actix
16 Final Projeto Integrador

🧪 Metodologia

  • Aulas teóricas com suporte de slides em RevealJS.
  • Exercícios práticos semanais (Básico, Intermediário e Desafio).
  • Quizzes síncronos e assíncronos.
  • Atividades de laboratório focadas em mini-projetos reais.

📚 Bibliografia Recomendada

  • The Rust Programming Language (Klabnik & Nichols)
  • Programming Rust (Blandy & Orendorff)
  • Rust in Action (Tim McNamara)