Jornada
Aprenda Rust
Aprenda Rust do zero com um curso online grátis e interativo. Domine variáveis, condicionais, loops, funções, estruturas de dados e organização de projetos com desafios práticos, projetos reais, dicas de IA e um certificado ao concluir.
16,009+ codders inscritos
Esta jornada inclui
Ajuda de codificação com IA
Lições interativas e práticas
Narração em áudio em todas as lições
Questionários para testar seu conhecimento
Certificado grátis de conclusão
Programa
3 seções202 lições174 desafios1,120 perguntas de quiz01Seção 1
Fundamentals
Build a strong foundation with essential concepts and basic skillsCOMEÇAR A APRENDERIntrodução
4 lições324- 01RustDesafio
- 02Olá, Mundo!DesafioQuizÁudio
- 03ComentáriosQuizÁudio
- 04Estrutura Básica de um ProgramaDesafioQuizÁudio
Variáveis Parte 1
5 lições539- 01NúmerosDesafioQuizÁudio
- 02CharDesafioQuizÁudio
- 03StringDesafioQuizÁudio
- 04BooleanoDesafioQuizÁudio
- 05Variáveis MutáveisDesafioQuizÁudio
Variáveis Parte 2
5 lições433- 01Declaração de TipoDesafioQuizÁudio
- 02Convenções de NomenclaturaQuizÁudio
- 03Inferência de TipoDesafioQuizÁudio
- 04Recapitulação - Inicializar VariáveisDesafio
- 05Conversão de TipoDesafioQuizÁudio
Operadores Parte 1
5 lições438- 01Operadores AritméticosDesafioQuizÁudio
- 02Operador de MóduloDesafioQuizÁudio
- 03Atalhos AritméticosDesafioQuizÁudio
- 04Operadores de ComparaçãoDesafioQuizÁudio
- 05Comparação de StringsQuizÁudio
Operadores Parte 2
4 lições424- 01Operadores Lógicos Parte 1DesafioQuizÁudio
- 02Operadores Lógicos Parte 2DesafioQuizÁudio
- 03Recapitulação - Lógica SimplesDesafio
- 04Operadores Lógicos Parte 3DesafioQuizÁudio
Tomada de Decisão
5 lições532- 01Expressões IfDesafioQuizÁudio
- 02If-ElseDesafioQuizÁudio
- 03Instrução MatchDesafioQuizÁudio
- 04Recapitulação - If ElseDesafio
- 05If - Else AninhadosDesafioQuizÁudio
Entrada e Saída Básica
4 lições417- 01Exibindo no ConsoleDesafioQuizÁudio
- 02Lendo a Entrada do UsuárioDesafioQuizÁudio
- 03Revisão - Até 120Desafio
- 04Revisão - Verdadeiro ou FalsoDesafio
Aplicativo de Calculadora
Projeto4 lições1- 01Mensagem de Boas-vindasDesafio
- 02Obtendo NúmerosProjeto
- 03Operações BásicasProjeto
- 04Saída FormatadaProjeto
Laços
8 lições851- 01For sobre SériesDesafioQuizÁudio
- 02Laço WhileDesafioQuizÁudio
- 03BreakDesafioQuizÁudio
- 04ContinueDesafioQuizÁudio
- 05Laços AninhadosDesafioQuizÁudio
- 06Rótulos de LoopDesafioQuizÁudio
- 07Loop InfinitoDesafioQuizÁudio
- 08Recapitulação - Entrada DinâmicaDesafio
Vinculação de Variáveis
4 lições230- 01EscopoQuizÁudio
- 02Shadowing Parte 1DesafioQuizÁudio
- 03Vinculação de VariávelQuizÁudio
- 04Shadowing Parte 2DesafioQuizÁudio
Funções
6 lições634- 01Declarando FunçõesDesafioQuizÁudio
- 02Parâmetros e ArgumentosDesafioQuizÁudio
- 03Valores de RetornoDesafioQuizÁudio
- 04Múltiplos Valores de RetornoDesafioQuizÁudio
- 05Recapitulação - Função SigmaDesafio
- 06Recapitulação - Função de ValidaçãoDesafio
Fundamentos de Arrays
5 lições430- 01Declarando ArraysDesafioQuizÁudio
- 02Array como ParâmetroQuizÁudio
- 03Acessando ElementosDesafioQuizÁudio
- 04Modificando ArraysDesafioQuizÁudio
- 05Recapitulação - Pretty Print de ArrayDesafio
Arrays: Continuação
5 lições423- 01Arrays de Referência MutáveisDesafioQuizÁudio
- 02Métodos de ArrayDesafioQuizÁudio
- 03Recapitulação - Array de ProdutoDesafio
- 04Recapitulação - Array InvertidoDesafio
- 05Print MelhoradoQuizÁudio
Iterando sobre Arrays
4 lições333- 01Guia de RangeDesafioQuizÁudio
- 02Loop For AprimoradoDesafioQuizÁudio
- 03Borrow no LoopQuizÁudio
- 04Operações Comuns com ArraysDesafioQuizÁudio
Operações com Strings
4 lições424- 01Métodos de StringDesafioQuizÁudio
- 02Macro format!DesafioQuizÁudio
- 03Conversão de StringsDesafioQuizÁudio
- 04Recapitulação - FormatDesafio
Projetos Finais
3 lições37- 01Padrão NuméricoDesafioQuizÁudio
- 02Localizador de PadrõesDesafio
- 03Calculadora de Notas de AlunosDesafio
02Seção 2
Logic & Flow
Develop problem-solving skills and create dynamic, interactive programsCOMEÇAR A APRENDERFluxo de Controle Avançado
6 lições640- 01A Expressão 'match'DesafioQuizÁudio
- 02Correspondência de Múltiplos ValoresDesafioQuizÁudio
- 03Correspondência de IntervalosDesafioQuizÁudio
- 04A Expressão 'if let'DesafioQuizÁudio
- 05Loops como ExpressõesDesafioQuizÁudio
- 06Recapitulação - Parser de Comandos SimplesDesafio
Introdução a Vetores
8 lições756- 01O que é um Vetor?QuizÁudio
- 02Criando um VetorDesafioQuizÁudio
- 03Adicionando Elementos com pushDesafioQuizÁudio
- 04Acessando Elementos do VetorDesafioQuizÁudio
- 05Iterando sobre um VetorDesafioQuizÁudio
- 06Iteração MutávelDesafioQuizÁudio
- 07Removendo ElementosDesafioQuizÁudio
- 08Recapitulação - Rastreador de Pontuação BásicoDesafio
Lista de Tarefas via Linha de Comando
5 lições5- 01Configuração do ProjetoDesafio
- 02Adicionando uma TarefaDesafio
- 03Visualizando Todas as TarefasDesafio
- 04Removendo uma TarefaDesafio
- 05Código FinalDesafio
Agrupando Dados com Structs
7 lições650- 01O que é uma Struct?QuizÁudio
- 02Visão Geral de StructsDesafioQuizÁudio
- 03Acessando Campos de uma StructDesafioQuizÁudio
- 04Structs MutáveisDesafioQuizÁudio
- 05Structs como Parâmetros de FunçãoDesafioQuizÁudio
- 06Tuple StructsDesafioQuizÁudio
- 07Recapitulação - Criando uma Struct BookDesafio
Pares Chave-Valor com Hash Maps
8 lições653- 01O que é um Hash Map?QuizÁudio
- 02Criando um Hash MapQuizÁudio
- 03Inserindo Pares Chave-ValorDesafioQuizÁudio
- 04Acessando ValoresDesafioQuizÁudio
- 05Iterando sobre um Hash MapDesafioQuizÁudio
- 06Atualizando um ValorDesafioQuizÁudio
- 07Removendo um ParDesafioQuizÁudio
- 08Recapitulação - Contador de PalavrasDesafio
Lidando com a Ausência com 'Option'
7 lições645- 01O que é um 'Option'?QuizÁudio
- 02Usando 'match' com 'Option'DesafioQuizÁudio
- 03is_some() e is_none()DesafioQuizÁudio
- 04Fazendo o unwrap de um 'Option'DesafioQuizÁudio
- 05O método expectDesafioQuizÁudio
- 06Fornecendo um valor padrão: unwrap_orDesafioQuizÁudio
- 07Recapitulação - Encontrar um ElementoDesafio
Tratando Erros com 'Result'
7 lições648- 01O que é um 'Result'?QuizÁudio
- 02Usando 'match' com 'Result'DesafioQuizÁudio
- 03is_ok() e is_err()DesafioQuizÁudio
- 04Atalhos: unwrap e expectDesafioQuizÁudio
- 05O Operador de Interrogação '?'DesafioQuizÁudio
- 06Parsing de Strings para NúmerosDesafioQuizÁudio
- 07Recapitulação - Função de Divisão SeguraDesafio
Projeto: Inventário Simples de Itens
5 lições5- 01Configuração do ProjetoDesafio
- 02Adicionando um ItemDesafio
- 03Verificando o EstoqueDesafio
- 04Vendendo um ItemDesafio
- 05Juntando tudoDesafio
Slices de String e Mais
5 lições432- 01String vs. &strQuizÁudio
- 02Criando Slices de StringDesafioQuizÁudio
- 03Slices como Parâmetros de FunçãoDesafioQuizÁudio
- 04Outros SlicesDesafioQuizÁudio
- 05Recapitulação - Encontrar a Primeira PalavraDesafio
Closures & Funções Anônimas
5 lições431- 01O que é uma Closure?QuizÁudio
- 02Definindo uma Closure SimplesDesafioQuizÁudio
- 03Closures com ParâmetrosDesafioQuizÁudio
- 04Capturando o AmbienteDesafioQuizÁudio
- 05Recapitulação - Closure de Soma SimplesDesafio
Desafios Finais
3 lições3- 01Revisão - Itens ÚnicosDesafio
- 02Revisão - Validador de Perfil de UsuárioDesafio
- 03Revisão - Sumarizador de NotasDesafio
03Seção 3
Object Oriented Programming
Discover how to organize code with classes, objects, and reusable structuresCOMEÇAR A APRENDERMétodos e Comportamento
7 lições748- 01Introdução a Blocos de ImplementaçãoDesafioQuiz
- 02O Parâmetro SelfDesafioQuiz
- 03Métodos MutáveisDesafioQuiz
- 04Funções AssociadasDesafioQuiz
- 05Múltiplos Blocos de ImplementaçãoDesafioQuiz
- 06Encadeamento de MétodosDesafioQuiz
- 07Recapitulação - Ações de RetânguloDesafio
Encapsulamento e Módulos
6 lições543- 01Fundamentos de MódulosQuiz
- 02A Palavra-chave PublicDesafioQuiz
- 03Campos PrivadosDesafioQuiz
- 04GettersDesafioQuiz
- 05SettersDesafioQuiz
- 06Recapitulação - Cofre SeguroDesafio
Enums Avançados
5 lições535- 01Enums com DadosDesafioQuiz
- 02Métodos em EnumsDesafioQuiz
- 03Correspondência de Variantes de DadosDesafioQuiz
- 04O Enum Option RevisitadoDesafioQuiz
- 05Recapitulação - Enum ShapeDesafio
Projeto: Pet Virtual
Projeto5 lições1- 01Definindo o PetDesafio
- 02Alimentando o PetProjeto
- 03Brincando com o PetProjeto
- 04Relatório de StatusProjeto
- 05Interação FinalProjeto
Genéricos
5 lições533- 01Structs GenéricasDesafioQuiz
- 02Métodos GenéricosDesafioQuiz
- 03Múltiplos Tipos GenéricosDesafioQuiz
- 04Funções GenéricasDesafioQuiz
- 05Recapitulação - Ponto de CoordenadaDesafio
Definição de Traits
6 lições641- 01O que é uma Trait?DesafioQuiz
- 02Implementando TraitsDesafioQuiz
- 03Implementações PadrãoDesafioQuiz
- 04Sobrescrevendo PadrõesDesafioQuiz
- 05Traits com ParâmetrosDesafioQuiz
- 06Recapitulação - Media PlayerDesafio
Traits Padrão
5 lições536- 01A Trait DebugDesafioQuiz
- 02A Trait DisplayDesafioQuiz
- 03Clone e CopyDesafioQuiz
- 04Traits de IgualdadeDesafioQuiz
- 05Recapitulação - Ponto ImprimívelDesafio
Traits como Restrições
5 lições534- 01Sintaxe de Restrições de TraitDesafioQuiz
- 02Restrições MúltiplasDesafioQuiz
- 03A Cláusula WhereDesafioQuiz
- 04Retornando Tipos com TraitsDesafioQuiz
- 05Recapitulação - Impressora GenéricaDesafio
Objetos Trait
4 lições425- 01Despacho DinâmicoDesafioQuiz
- 02Vetores de TraitsDesafioQuiz
- 03Iterando Objetos TraitDesafioQuiz
- 04Recapitulação - Gerenciador de ZoológicoDesafio
Projeto: Sistema de Documentos
Projeto5 lições1- 01A Trait DrawDesafio
- 02Componente de TextoProjeto
- 03Componente de BotãoProjeto
- 04A Struct ScreenProjeto
- 05Executando a TelaProjeto
Padrões de Projeto em Rust
5 lições531- 01Padrão NewtypeDesafioQuiz
- 02ComposiçãoDesafioQuiz
- 03A Trait DropDesafioQuiz
- 04From e IntoDesafioQuiz
- 05Recapitulação - Mock de Smart PointerDesafio
Desafios Finais
3 lições3- 01Pilha GenéricaDesafio
- 02Catálogo de BibliotecaDesafio
- 03Calculadora de Área de FormasDesafio
Por que aprender Rust com a Coddy
- Curso de Rust online e grátis: sem instalação, sem configurar ferramentas e sem barreiras para começar. Abra o navegador e pratique desde a primeira aula.
- Aulas práticas de Rust que vão além de um tutorial: cada conceito vem com um desafio para escrever código real e aprender fazendo.
- As dicas de IA ajudam quando você trava em um exercício de Rust, mostrando o próximo passo sem entregar a resposta completa.
- Certificado grátis de conclusão para compartilhar no LinkedIn ou adicionar ao currículo como prova de que você completou um curso interativo de Rust.
Perguntas frequentes sobre aprender Rust
Rust é fácil de aprender?
Sim, você pode começar com Rust mesmo sem experiência. A Coddy divide os conceitos em exercícios curtos para você entender a sintaxe, praticar variáveis, condicionais, loops, funções, estruturas de dados e organização de projetos e ganhar confiança aos poucos.
Quanto tempo leva para aprender Rust?
Os fundamentos de Rust geralmente podem ser aprendidos em uma ou duas semanas de prática diária. Para criar projetos reais com segurança, reserve de um a três meses, dependendo do seu ritmo.
Onde posso aprender Rust online grátis?
A Coddy oferece um curso online grátis de Rust com aulas, desafios de código, quizzes e projetos. Não é preciso instalar nada: tudo funciona no navegador.
Como aprender Rust rápido?
A forma mais rápida é praticar todos os dias. Na Coddy você alterna explicação curta, exercício imediato e feedback com dicas de IA, passando mais tempo escrevendo Rust do que assistindo a vídeos longos.
Recebo um certificado de Rust ao terminar?
Sim. Ao concluir o curso de Rust na Coddy, você recebe um certificado grátis de conclusão para compartilhar no LinkedIn ou incluir no currículo.
O que posso criar depois de aprender Rust?
Depois do curso, você poderá criar scripts úteis, pequenos apps, automações, jogos simples e projetos para mostrar no portfólio. Também terá uma base sólida para avançar para tópicos mais profissionais.