UnB - Universidade de Brasília

Turma 2026/2

Sistemas de Machine Learning — 3ª edição. Disciplina conduzida integralmente por Challenge-Based Learning: dois desafios práticos, desenvolvidos em grupos, do problema de negócio ao sistema em produção.

Profs. Isaque Alves e Guilherme Fernandes
10/08 a 14/12/2026 · segundas e quartas
Livro-base: Chip Huyen — Projetando Sistemas de Machine Learning
33 Aulas
2 Desafios
11 Frentes do livro-base
5 Estudantes por grupo

Ementa

Projeto, construção, implantação, monitoramento e manutenção de sistemas de software baseados em machine learning. Enquadramento de problemas de negócio como problemas de ML; engenharia de dados, dados de treinamento e engenharia de features; desenvolvimento de modelos e avaliação offline; serviço de predição e deploy; mudanças de distribuição, monitoramento, teste em produção e aprendizado contínuo; infraestrutura de MLOps; o lado humano do machine learning (experiência do usuário, equipe e IA responsável).

A disciplina é conduzida integralmente por Challenge-Based Learning (CBL), com dois desafios práticos desenvolvidos em grupos ao longo do semestre. Não há aulas expositivas: os grupos recebem desafios reais, abertos e significativos, e os resolvem com mentoria dos professores em todas as aulas, percorrendo as três fases do CBL — Engage (da Big Idea à Essential Question até o challenge statement), Investigate (guiding questions, activities e resources) e Act (implementação, teste com evidências e apresentação a uma audiência real).

Objetivo geral: capacitar o estudante a construir sistemas de software com IA — não apenas treinar modelos. O código de ML é uma fração pequena de um sistema real (Sculley et al., 2015), e a disciplina cobre o sistema inteiro, pelas 11 frentes do livro-base.

Conteúdo programático — as 11 frentes do livro-base

  1. Visão geral dos sistemas de machine learning
  2. Introdução ao design de sistemas de machine learning
  3. Fundamentos de engenharia de dados
  4. Treinando os dados (amostragem, rotulagem, classes desbalanceadas, data augmentation)
  5. Engenharia de features (incl. data leakage)
  6. Desenvolvimento de modelo e avaliação offline
  7. Serviço de predição e deploy de modelo
  8. Mudanças na distribuição de dados e monitoramento
  9. Aprendizado contínuo e teste em produção
  10. Infraestrutura e ferramentas para MLOps
  11. O lado humano do machine learning (UX, equipe, IA responsável)

Tópicos complementares: aplicações com LLMs e agentes de IA (prompts, integração de APIs, RAG, orquestração de agentes com ferramentas e guardrails) e Spec-Driven Development — desenvolvimento de software guiado por especificações, com agentes de codificação e revisão crítica de código gerado por IA.

Avaliação

Coerente com o CBL, a avaliação considera processo e resultado, com base em evidências:

Componente Descrição
Participação nas aulas Presença ativa, engajamento no grupo, evolução no desafio e contribuição individual, observadas aula a aula pelos professores/mentores.
Projeto desenvolvido A solução de cada desafio: funcionando, testada, documentada e apresentada a uma audiência real, incluindo o registro do processo (documentar–refletir–compartilhar).

Os critérios detalhados (rubrica) de cada desafio serão publicados junto com o seu lançamento.

Calendário

O semestre é organizado em dois ciclos, um por desafio, com uma semana de descompressão entre eles:

Período Bloco Marcos
10/08 a 07/10 (17 aulas) Desafio 1 — Verdade ou Fake?
Sistema de ML de ponta a ponta: detecção de fake news
Engage: 12–17/08 · Investigate: 19–26/08 · Act: 31/08–05/10 · Apresentação final: 07/10
12/10 a 16/10 Semana de descompressão 12/10 feriado; 14/10 retrospectiva do Desafio 1, sem entregas
19/10 a 14/12 (15 aulas) Desafio 2 — Operação em produção
Serving, monitoramento, drift, aprendizado contínuo e governança
Engage: 19–21/10 · Investigate: 26/10–04/11 · Act: 09/11–09/12 · Apresentação final: 14/12

Feriados sem aula: 07/09 (Independência), 12/10 (Nossa Senhora Aparecida), 28/10 (Servidor Público) e 02/11 (Finados).

Calendário aula a aula

Data Aula Fase CBL Pauta Slides
Desafio 1 — Verdade ou Fake? (sistema de ML de ponta a ponta)
10/08 (seg)1—Apresentação da disciplina + formação dos grupos (5 estudantes) PDF
12/08 (qua)2EngageLançamento do Desafio 1 · Big Idea → Essential Question PDF
17/08 (seg)3EngageChallenge statement por grupo: quando usar ML e o que é ML em produção PDF
19/08 (qua)4InvestigateGuiding questions · objetivos de negócio → objetivos de ML, requisitos—
24/08 (seg)5InvestigateFontes e formatos de dados · batch × streaming · plano de ingestão—
26/08 (qua)6InvestigateIngestão e preparação de dados + análise exploratória—
31/08 (seg)7ActAmostragem e rotulagem dos dados do desafio—
02/09 (qua)8ActClasses desbalanceadas e data augmentation—
07/09 (seg)Feriado — Independência do Brasil
09/09 (qua)9ActEngenharia de features + prevenção de data leakage—
14/09 (seg)10ActBaselines e seleção de modelos candidatos—
16/09 (qua)11ActTreinamento, depuração e iteração de modelos—
21/09 (seg)12ActMétricas e avaliação offline + documentação de experimentos—
23/09 (qua)13ActServindo o modelo como API (deploy simples, mitos de deploy)—
28/09 (seg)14ActIntegração da solução + versionamento de código, dados e modelos—
30/09 (qua)15ActViés, limitações e IA responsável na solução do grupo—
05/10 (seg)16ActDemo interna + feedback entre grupos + preparação da entrega—
07/10 (qua)17ActApresentação final do Desafio 1 (audiência real)—
Semana de descompressão
12/10 (seg)Feriado — Nossa Senhora Aparecida
14/10 (qua)18—Retrospectiva do Desafio 1, sem entregas—
Desafio 2 — Operação em produção
19/10 (seg)19EngageLançamento do Desafio 2 · Big Idea → Essential Question—
21/10 (qua)20EngageChallenge statement por grupo + requisitos de produção—
26/10 (seg)21InvestigatePredição batch × online · nuvem × borda · compressão de modelo—
28/10 (qua)Feriado — Dia do Servidor Público
02/11 (seg)Feriado — Finados
04/11 (qua)22InvestigatePor que sistemas de ML falham? Falhas e mudanças de distribuição—
09/11 (seg)23ActServing em produção: containers e automação do pipeline (CI/CD)—
11/11 (qua)24ActMonitoramento e observabilidade: logs, métricas e alertas—
16/11 (seg)25ActDetecção de drift no sistema do grupo—
18/11 (qua)26ActTeste em produção: A/B, canário e shadow—
23/11 (seg)27ActAprendizado contínuo e estratégia de retreino—
25/11 (qua)28ActPlataformas de ML: construir × comprar e custo total—
30/11 (seg)29ActExperiência do usuário com predições + IA responsável—
02/12 (qua)30ActDemo interna + feedback entre grupos—
07/12 (seg)31ActRefinamento final da solução—
09/12 (qua)32ActEnsaio da apresentação + documentação final—
14/12 (seg)33ActApresentação final do Desafio 2 + encerramento do semestre—

Referências

Básica:
HUYEN, Chip. Projetando Sistemas de Machine Learning. O'Reilly / Novatec, edição brasileira. (Livro-base — 11 capítulos.)
SCULLEY, D. et al. Hidden Technical Debt in Machine Learning Systems. NeurIPS, 2015.
Complementar — sistemas de ML:
CS329S: Machine Learning Systems Design — Stanford (Chip Huyen)
SERBAN, A. et al. Adoption and Effects of Software Engineering Best Practices in Machine Learning. ESEM, 2020.
KÄSTNER, C.; KANG, E. Teaching Software Engineering for AI-Enabled Systems. ICSE-SEET, 2020.
GitHub Spec Kit — toolkit para Spec-Driven Development
Complementar — Challenge-Based Learning:
NICHOLS, M.; CATOR, K. Challenge Based Learning. Apple — ACOT², 2008.
GALLAGHER, S.; SAVAGE, T. Challenge-based learning in higher education: an exploratory literature review. Teaching in Higher Education, 2020.
DOULOUGERI, K. et al. Challenge-based learning implementation in engineering education: a systematic literature review. Journal of Engineering Education, 2024.