Introdução à Engenharia de Software
Caminho completo de aprendizado desde conceitos fundamentais até práticas avançadas de desenvolvimento de software. Domine processos, algoritmos, paradigmas de programação, arquitetura e desenvolvimento assistido por IA.
120 horas
10
beginner
0%
Processos
Fundamentos teóricos de processos e fluxogramas. Aprenda a pensar sistematicamente sobre fluxos de trabalho, pontos de decisão e otimização de processos.
Comentário
Entender processos é fundamental para toda engenharia de software. Antes de escrever código, você deve entender o problema e como dividi-lo em etapas.
Ideias para Praticar
- Crie um fluxograma para sua rotina matinal
- Mapeie o processo de pedir comida em um restaurante
- Documente um processo de trabalho usando símbolos de fluxograma
Pré-requisitos
Próximos Passos
Fundamentos de Algoritmos
Fundamentos de algoritmos e princípios de qualidade sem código. Aprenda a pensar algoritmicamente através de exemplos conceituais, pseudocódigo e analogias do mundo real.
Algoritmo Imperativo Computacional
Como os computadores funcionam, estruturas de dados básicas e algoritmos imperativos em Python. Aprenda variáveis, fluxo de controle, loops, funções e estruturas de dados básicas.
Código Limpo & Padrões de Projeto
Escrevendo código mantível e legível e entendendo padrões de projeto comuns. Aprenda convenções de nomenclatura, organização de código, técnicas de refatoração e padrões clássicos.
Princípios SOLID & POO
Princípios SOLID e paradigma de Programação Orientada a Objetos. Domine Responsabilidade Única, Aberto-Fechado, Substituição de Liskov, Segregação de Interfaces e Inversão de Dependência.
Arquitetura Limpa
Padrões arquiteturais e separação de preocupações. Aprenda sobre camadas, limites, regras de dependência e como estruturar aplicações para testabilidade e manutenibilidade.
Programação Funcional & Declarativa
Conceitos de programação funcional e paradigmas declarativos. Aprenda imutabilidade, funções puras, funções de ordem superior, map/filter/reduce.
DDD & Arquitetura de Software
Domain-Driven Design e arquitetura de software avançada. Aprenda linguagem ubíqua, contextos delimitados, entidades, objetos de valor e agregados.
TDD & Ferramentas de Qualidade de Código
Desenvolvimento Orientado por Testes e ecossistema de qualidade de código. Domine o ciclo Red-Green-Refactor, testes unitários, ganchos pre-commit, linting, formatação e análise estática.
Desenvolvimento de Software com IA Agêntica
Desenvolvimento de software assistido por IA com agentes. Aprenda sobre agentes de IA, habilidades, gerenciamento de contexto, pipelines, melhores práticas e como usar OpenCode.