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)1Apresentaçã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)18Retrospectiva 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.