Introdução
Compiladores e Linguagens Formais e Autômatos: mapa de consulta
Feita para ser aberta durante o preparo e durante a própria aula, nunca para leitura linear.
Esta é a versão docente em formato de consulta: feita para ser aberta durante o preparo e durante a própria aula, não para leitura linear. O que segue diz o que existe em cada módulo, o que rende mais ler antes do encontro e quais sinais no ritmo dos grupos pedem intervenção.
O Que Existe em Cada Módulo
Dois lados do mesmo módulo, e o enunciado das tarefas existe em cópia única para os dois.
Do lado do estudante, cada módulo traz o capítulo completo, uma versão reduzida do mesmo conteúdo, um resumo de revisão, três exercícios de teoria em níveis crescentes e um banco de questões conceituais. Os três primeiros cobrem o mesmo terreno em profundidades diferentes, e a escolha entre eles é do estudante conforme o momento; os exercícios cobram só a teoria do módulo, sem depender do artefato que o grupo constrói. Há ainda duas questões de treino formativo, sem peso na nota, no tom e no nível de exigência das avaliações de larga escala que alcançam o curso.
Do lado docente, cada módulo traz a solução de referência do Projeto Integrador — que é a fonte única de código do material —, o enunciado das tarefas daquele módulo, o plano de condução das aulas teóricas e das sessões de tutoria, o deck de projeção correspondente e a resolução comentada dos exercícios. O enunciado das tarefas é o mesmo texto que o estudante lê no fecho do material do módulo: uma cópia só, para que o que se pede e o que se resolve nunca contem histórias diferentes.
O Que Ler Antes do Encontro
Dois verbos decidem o proveito da véspera: executar a solução de referência e conferir o plano de condução.
Duas leituras rendem desproporcionalmente mais que as outras, e nas duas o verbo importa.
Execute a solução de referência do módulo — não a leia. A construção conduzida ao vivo acontece contra código que compila, e o ponto em que ela emperra é invariavelmente aquele que não foi rodado na véspera. Vale especialmente nos módulos em que a peça nova reaproveita uma peça antiga: é ali que uma mudança feita no módulo anterior se manifesta.
Confira o plano de condução do módulo pela lista de peças que cada grupo deveria ter pronta ao chegar à tutoria. Entrar na sessão sabendo o que perguntar economiza a maior parte do tempo que, de outro modo, se gasta descobrindo o estado de cada grupo — e é esse tempo que faz a diferença entre uma tutoria de diagnóstico e uma de intervenção.
O Princípio Que Orienta a Condução
Conduza pelo que se aprende, e deixe a tarefa do projeto vir depois, como uso daquilo.
Em uma frase operacional: conduza pelo que se aprende, e deixe a tarefa do projeto vir como uso disso. Na prática, isso significa abrir a aula teórica pelo problema que o módulo anterior deixou em aberto, e não pela peça que o grupo precisa entregar. Quando a turma começa a perguntar o que implementar antes de perguntar o que entender, a relação inverteu — e o retorno é imediato: retome pelo limite ou pela pergunta que motiva o conteúdo do módulo.
Sinais de Alerta e o Que Fazer
O sinal confiável está no relato de progresso: intenção no lugar de resultado, ao final do módulo.
O sinal mais confiável de grupo em dificuldade não é o grupo que pergunta muito — é o que não tem nada rodando ao final do módulo e cujo relato de progresso fala do que pretende fazer, e não do que fez. Neste desenho o atraso não é linear: sem a peça do módulo, falta o insumo do módulo seguinte, e a dívida cresce sozinha. Intervenha no mesmo módulo, reduzindo o escopo da peça em vez de conceder prazo.
Dois outros sinais valem vigilância. O primeiro é o grupo que escreve um segundo reconhecedor em paralelo ao que já construiu, em vez de reaproveitar o componente existente: além de custar o dobro, destrói a economia estrutural que dá coerência ao percurso, e quanto mais tarde for corrigido, mais caro sai. O segundo é a concentração da implementação em um único integrante — visível quando só uma pessoa consegue explicar qualquer parte do código. É o que a arguição individual vai revelar no fim, quando já não há o que fazer; na tutoria, ainda há.
Nas apresentações, peça a execução completa do sistema sobre uma entrada que o grupo não preparou, e depois peça que quebrem o próprio sistema de propósito. Demonstrar o que ele recusa, e recusa bem, distingue mais do que demonstrar o que ele aceita. Reserve o centro da conversa para uma decisão técnica, com a alternativa descartada e um número que a sustente: é a pergunta que separa quem construiu entendendo de quem transcreveu.