Cronograma de Aulas

Confira abaixo o cronograma completo das aulas e eventos da disciplina MDS 2026/2.

01 Aula

Aula 01 - Apresentação e contrato pedagógico

Como a disciplina funciona e como se é avaliado. Política de uso de IA lida em voz alta e discutida. Formação de equipes e escolha de temas.

Aula
02 Aula

Aula 02 - O que mudou na engenharia de software

Panorama 2026: adoção quase universal de assistentes de IA com confiança baixa, a IA como amplificador de forças e disfunções, e por que o vibe coding falha fora do protótipo.

Aula
03 Aula

Aula 03 - Modelos de ciclo de vida e de processo

Cascata, incremental, espiral e evolutivo: o que cada modelo assume sobre incerteza e quando o modelo pesado ainda é a escolha certa.

Aula
04 Aula

Aula 04 - Processo Unificado e o Manifesto Ágil

RUP (fases, disciplinas, artefatos) frente aos quatro valores ágeis. O que do Scrum permanece quando parte do time é um agente.

Aula
05 Aula

Aula 05 - Git como artefato de engenharia

Controle de versão como registro auditável de autoria e raciocínio. O histórico legível será lido na sua arguição.

Aula
06 Aula

Aula 06 - Requisitos ágeis: da conversa ao critério

Elicitação com o parceiro do projeto; épico → história → tarefa; por que 'eu quero um sistema bom' não é requisito. INVEST, persona, critério de aceitação e Gherkin.

Aula
07 Aula

Aula 07 - Spec-driven development I: por que a spec voltou

O ciclo specify → plan → tasks → implement e a constituição do projeto. A spec, e não o histórico de conversa, é a fonte de verdade.

Aula
08 Aula

Aula 08 - Spec-driven development II: oficina de spec

Cada equipe converte a visão do produto em uma spec real. Caça coletiva à ambiguidade: trocamos specs entre times e cada um lista o que não conseguiria implementar sozinho.

Aula
09 Aula

Aula 09 - Do spec ao plano: arquitetura e ADR

Decomposição em componentes, escolha de stack como decisão com consequência e o registro dessa decisão em ADR. Modelo C4, acoplamento e coesão.

Aula
10 Aula

Aula 10 - Backlog, visão de produto e priorização

Do plan para o tasks e para as issues no GitHub Projects. Priorizar é decidir o que não será feito agora. MoSCoW, story mapping, valor × esforço e MVP.

Aula
11 Aula

Aula 11 - Planejamento de sprint e estimativa

Planning poker na prática. Discussão franca: o que acontece com a estimativa quando gerar código fica barato e verificar fica caro?

Aula
12 Aula

Aula 12 - Kanban, WIP e fluxo

Limitar trabalho em progresso, visualizar o gargalo e entender por que o time 'produz muito' e entrega pouco. Lead time, cycle time e teoria das restrições.

Aula
28 Sep

Aula 13 - Release 1: apresentação e arguição

Demonstração do software implantado, pipeline verde, e arguição individual sobre o próprio trabalho.

Release
13 Aula

Aula 14 - Scrum Master, rituais e gestão de risco

Facilitação, timeboxing e o que uma daily precisa produzir. Riscos novos: dependência fantasma e decisão arquitetural feita pelo agente sem ninguém perceber. Arguição individual 1 ao fim da semana.

Aula
14 Aula

Aula 15 - Como funciona um agente de código

Abrimos a caixa: o laço planejar–agir–observar, chamada de ferramenta, janela de contexto e custo. Níveis de autonomia e onde parar.

Aula
15 Aula

Aula 16 - Context engineering: AGENTS.md

O que entra e, sobretudo, o que não entra no arquivo de contexto. Evidência empírica de que arquivo verboso piora o resultado e encarece.

Aula
16 Aula

Aula 17 - MCP e integração de ferramentas

Como um agente acessa o mundo: arquitetura do Model Context Protocol, desenho de ferramenta e superfície de risco. Cliente/servidor, transporte e menor privilégio.

Aula
17 Aula

Aula 18 - Pareamento humano–agente e revisão

Programação em pares redefinida. Checklist de revisão de código gerado: o que a IA sistematicamente erra e o revisor humano precisa procurar.

Aula
18 Aula

Aula 19 - Fluxo no repositório com múltiplos agentes

Gitflow, trunk-based e GitLab Flow comparados. PRs pequenos como mecanismo de controle e worktrees para paralelizar sem conflito.

Aula
19 Aula

Aula 20 - Rastreabilidade spec → PR → teste

Amarrar o fio: issue, spec, commit, teste e nota de release referenciando-se mutuamente. Como o AI-USAGE.md é preenchido sem virar burocracia.

Aula
20 Aula

Aula 21 - XP: as práticas que sobreviveram

Revisitamos XP com olhos de 2026: quais práticas ficaram mais importantes e quais perderam sentido. Design simples, refatoração, integração contínua e ritmo sustentável.

Aula
21 Aula

Aula 22 - TDD e BDD

O ciclo vermelho–verde–refatorar na prática. Cenário Gherkin como especificação que executa: o elo direto entre a spec (módulo 1) e o teste.

Aula
22 Aula

Aula 23 - Testes gerados por IA e falsa confiança

Aula-oficina: recebemos uma suíte gerada, com boa cobertura, e provamos que ela não testa nada. Cada equipe encontra os testes vazios.

Aula
23 Aula

Aula 24 - Qualidade de teste: mutação e propriedades

Como medir se o teste detecta defeito. Introdução a teste de mutação, escore de mutação e testes baseados em propriedade. O teste de sabotagem.

Aula
24 Aula

Aula 25 - Clean code, análise estática e legibilidade

Código gerado é sintaticamente correto e frequentemente ilegível. Linters, complexidade e padronização como defesa.

Aula
25 Aula

Aula 26 - Segurança de código gerado por IA

Padrões de vulnerabilidade que os modelos reproduzem, riscos específicos de agentes e varredura estática (SAST) na prática. Injeção de prompt, slopsquatting e STRIDE.

Aula
26 Aula

Aula 27 - Preparação de release: versão e comunicação

Fechar escopo, versionar e escrever notas de release que uma pessoa de fora entenda. SemVer, changelog e ensaio da apresentação.

Aula
27 Aula

Aula 28 - Métricas de entrega e antipadrões

As quatro métricas DORA e por que métrica de esforço mede a coisa errada. Estudo de caso: placar de consumo de tokens (tokenmaxxing) como incentivo perverso.

Aula
28 Aula

Aula 29 - A mudança de requisitos

O parceiro do projeto altera o escopo. As equipes precisam medir o impacto, atualizar a spec e os ADRs e replanejar. Aqui os limites dos agentes aparecem.

Aula
25 Nov

Aula 30 - Release 2: apresentação final e arguição

Demonstração do produto final implantado, com a mudança de requisitos absorvida, e arguição individual final.

Release
29 Aula

Aula 31 - Containers e ambientes reprodutíveis

Docker, Dockerfile e composição de serviços. Paridade entre desenvolvimento e produção. Imagem, container, camada, volume e variável de ambiente.

Aula
30 Aula

Aula 32 - Integração contínua na prática

Montar o pipeline: build, teste, lint e SAST. Portas de qualidade que bloqueiam o merge e por que isso é um favor ao time.

Aula
31 Aula

Aula 33 - Entrega contínua, deploy e observabilidade

Levar ao ar de forma repetível e saber o que fazer quando quebra. CD, rollback, log, métrica, alerta, SLO e post-mortem sem culpa.

Aula
32 Aula

Aula 34 - Licenças, open source e ética do software com IA

Licenças e compatibilidade; autoria e propriedade de código gerado; impacto ambiental e trabalhista; quando recusar construir. GPL/MIT/Apache e copyleft.

Aula
33 Aula

Aula 35 - Dívida técnica e refatoração assistida

Nomear a dívida contraída, decidir o que pagar e refatorar com agente sem quebrar comportamento — e como saber que não quebrou. Teste de caracterização.

Aula
34 Aula

Aula 36 - Retrospectiva do semestre e reflexão

Retrospectiva estruturada do semestre, entrega do ensaio de reflexão crítica e discussão aberta sobre o que a turma aprendeu que a ferramenta não sabe.

Aula