Desenvolvimento de Software Apoiado por IA — 2026.4

Aula 1
Apresentação da Disciplina

👨‍🏫 Prof. Gustavo Pinto 🏛️ UFPA 📅 1 de setembro de 2026 🕐 20h

A tese da disciplina

Se o agente escreve o código, o que sobra para o engenheiro de software?

O que esta disciplina não é

O agente é o instrumento. O produto é o sistema de software que você entrega.

Três estudos, três respostas diferentes

Peng et al. 2023

Copilot acelerou uma tarefa controlada de forma significativa.

arxiv.org/abs/2302.06590

METR 2025

Devs experientes ficaram 19% mais lentos em bases que conheciam bem.

metr.org

Anthropic 2026

400 mil sessões reais de Claude Code, com taxas de sucesso que variam com a expertise.

anthropic.com/research

Por que os três podem estar certos ao mesmo tempo?

Quem decide o quê

Compreensão do domínio pesa mais que anos de código. O agente trabalha melhor quando bem dirigido.

O que é Forward Deployed Engineer?

Engenheiro que se instala dentro do time do cliente: participa da daily, commita no repositório dele, e responde pela solução até ela estar em produção.

Por que o FDE importa para vocês

O projeto desta disciplina é um exercício de FDE: achar um usuário real, entender o problema dele, e publicar algo que funcione.

O critério que organiza o semestre

Toda dupla termina com um sistema funcionando, publicado, em uma URL que qualquer pessoa abre.

Estrutura da disciplina

Parte I · Fundamentos

01/09 a 15/10
  • 10 aulas e 2 laboratórios
  • Especificar, dirigir, revisar
  • Testar e publicar

Parte II · Projeto

20/10 a 10/12
  • 3 portões de entrega
  • Clínicas e seminários
  • Aplicação no ar

Fechamento

10/12 a 22/12
  • Demo Day
  • Defesa oral
  • Buffer

Revisão e teste vêm antes de o projeto começar. Quem só aprende a gerar código, e não a julgar o código gerado, acumula dívida sem perceber.

Cronograma · Parte I

#DataDiaConteúdo
101/09TerApresentação. Quem decide o quê
203/09QuiComo um assistente de código funciona por dentro
08/09TerCBSoft 2026, sem aula
10/09QuiCBSoft 2026, sem aula
L115/09TerLab: dirigindo o agente numa funcionalidade real
317/09QuiDecomposição de tarefas e engenharia de contexto
L222/09TerLab: AGENTS.md e smells de configuração. Entrega AP1
424/09QuiSpec-Driven Development, e a evidência contrária
529/09TerTestes como contrato
601/10QuiRevisão de código gerado
706/10TerCódigo legado
808/10QuiQualidade e segurança do código gerado
913/10TerMedição e entrega. Entrega AP2
1015/10QuiCusto, limites e o que continua humano

Cronograma · Parte II

#DataDiaConteúdo
KO20/10TerKickoff do projeto: duplas e escolha do problema
22/10QuiOficina: SPEC.md e primeira publicação
G127/10TerPortão 1: SPEC.md, testes em CI e aplicação no ar
29/10QuiClínica de código: revisão coletiva de PRs
S103/11TerSeminário crítico de artigos
S205/11QuiSeminário crítico de artigos
10 e 12/11Acompanhamento dos projetos
G217/11TerPortão 2: sistema completo, legado e revisão
19/11QuiAcompanhamento dos projetos
24/11TerClínica de segurança: auditoria cruzada
26/11QuiAcompanhamento dos projetos
DO01 e 03/12Defesa oral individual
08/12TerNossa Senhora da Conceição, sem aula
G310/12QuiPortão 3: Demo Day
15, 17 e 22/12Buffer, fechamento e notas

Avaliação

💻 Atividades PráticasAP1 em 22/09, AP2 em 13/1030 pts
🏗️ ProjetoTrês portões: 27/10, 17/11, 10/1250 pts
📝 Diário de usoUma entrada por aula, no repositório10 pts
🎤 Defesa oralIndividual, em 01/12 e 03/1210 pts

As duas atividades práticas

AP1 · do spec ao deploy

Escrever o SPEC.md antes do código, conduzir o agente até funcionar, e publicar.

Entrega em 22/09

AP2 · brownfield e revisão

Receber o repositório de outra dupla, adicionar funcionalidade e entregar uma revisão crítica.

Entrega em 13/10

Na AP2, a nota vem do rigor da revisão, não do tamanho da funcionalidade.

O projeto e os três portões

Portão 1 · 27/10

10 pontos
  • SPEC.md versionado
  • Testes em CI
  • Aplicação no ar
  • Sem URL, não passa

Portão 2 · 17/11

15 pontos
  • Sistema completo
  • Marco em código legado
  • Relatório de revisão
  • Custo medido

Portão 3 · 10/12

25 pontos
  • Demo ao vivo, 12 min
  • Na URL pública
  • Relatório final
  • Defesa das decisões

Tema livre, desde que exista um usuário identificável que não seja a própria dupla.

Diário de uso

Uma entrada por aula, em diario/AAAA-MM-DD.md, enviada por commit no dia. O histórico do git carimba a data de cada entrada.

# Aula 07 (06/10)
Objetivo. Adicionar filtro por data na listagem de eventos.
Ferramenta. Claude Code, ~40 min, 3 iterações.
O que o agente entregou. Filtro funcionando, mas consultando o
   banco a cada tecla.
O que mudamos à mão. Debounce de 300ms e índice em evento(data).
O que aprendemos. Ele não considera custo de consulta se a
   spec não menciona.

Registro honesto de falha vale mais nota do que registro que só relata sucesso.

Ferramentas

Agente

Claude Code como referência nas aulas. Cursor, Copilot, Codex e Gemini CLI são aceitos no projeto.

documente a escolha

Repositório

GitHub público, com código, SPEC.md, AGENTS.md, testes e diário.

um por dupla

Hospedagem

Vercel, Render, Fly.io, Supabase ou GitHub Pages.

livre, desde que gratuita

A stack é escolha da dupla. Não há linguagem obrigatória.

Regras de convivência com a ferramenta

Na apresentação final: se você vier apenas para ler o que o agente escreveu, por favor, nem venha.

Exercício: refazer um PR que já existe

Comecem agora, aqui. Terminem no computador, até a próxima aula.

Entrega: essa comparação, como primeira entrada do diário de uso.

Até a próxima aula

Na semana de 08 a 11/09 não haverá aula, por conta do CBSoft 2026. As atividades assíncronas vencem em 15/09.

Dúvidas?

Próxima aula: como um assistente de código funciona por dentro

📧 gpinto@ufpa.br