Quando uma ferramenta consegue produzir a implementação de um programa, o que demonstra que alguém realmente aprendeu computação? A resposta não pode se limitar à entrega de um código que executa. Precisamos perguntar também se a pessoa compreende o problema, consegue justificar suas decisões e sabe reconhecer quando a solução está errada.
Esse é o debate proposto pelo artigo da Communications of the ACM: deslocar a ênfase da produção de código para a definição dos problemas e a avaliação das soluções.
Aprender Computação Continua Sendo Necessário
Essa mudança não significa que estudar programação perdeu o sentido. Em um esclarecimento sobre o artigo, o coautor Kevin Lin reforça que os fundamentos continuam essenciais. O estudante precisa de conhecimento para reconhecer erros, formular boas perguntas e intervir quando a automação falha. A questão é como desenvolver essas capacidades, sem presumir que a sequência tradicional de exercícios de escrita de código seja o único caminho possível.
Portanto, vale distinguir dois objetivos: aprender a produzir instruções em uma linguagem e aprender a construir soluções computacionais. Eles se relacionam, mas não são equivalentes. Uma atividade pode exigir muitas linhas de código e poucas decisões relevantes. Outra pode exigir pouca implementação manual, mas demandar uma compreensão profunda do problema.
Os autores organizam a mudança em três competências: projetar, especificando o resultado desejado; orquestrar, decompondo o problema e organizando o trabalho; e avaliar, verificando a qualidade e a adequação da solução.
Um Exemplo: Além de Gerar Um Relatório de Vendas
Considere uma atividade hipotética em que o estudante precisa construir um relatório de vendas com apoio de IA. Pedir um programa que leia uma planilha e calcule o faturamento seria apenas o começo.
Antes da implementação, seria necessário esclarecer o significado de “faturamento”. O cálculo considera pedidos realizados ou pagamentos recebidos? Como tratar cancelamentos, devoluções e descontos? Qual data determina o período de uma venda? O que fazer quando existem registros duplicados?
Depois, seria preciso demonstrar que o resultado está correto. Uma forma seria construir uma pequena base de teste, calcular manualmente os valores esperados e comparar os resultados. Outra seria alterar intencionalmente os dados para observar como o programa responde a situações excepcionais.
Nesse exercício, a pergunta mais importante deixa de ser apenas “quem escreveu o código?”. Passa a ser: “quem consegue explicar por que devemos confiar nesse resultado?”
Avaliar Aprendizagem, Não Apenas Entregas
O artigo recomenda distinguir competências demonstradas sem IA daquelas exercidas com IA. Também propõe avaliar o processo de desenvolvimento, incluindo especificações, registros de interação, qualidade do código e testes.
Aplicando essa proposta ao exemplo anterior, o professor poderia pedir que o estudante defendesse sua definição de faturamento, explicasse um teste e previsse o efeito de uma mudança nos requisitos. A entrega do programa continuaria importante, mas não seria a única evidência de aprendizagem.
Há, porém, uma questão ainda em aberto. Kevin Lin observa que, com sistemas mais autônomos, revisar manualmente cada linha gerada pode deixar de ser viável. Isso amplia o desafio educacional: ensinar a julgar sistemas que ninguém escreveu integralmente, preservando compreensão, independência de pensamento e capacidade de supervisão.
O Currículo Precisa Acompanhar Essa Mudança
Os autores propõem três níveis de transformação: ajustes imediatos nas disciplinas, renovação coordenada dos cursos e uma revisão mais ampla do currículo, articulando objetivos, avaliações e atividades de aprendizagem.
Em comentário complementar, Titus Winters apresenta esse momento como uma oportunidade para reconsiderar o que os cursos procuram desenvolver. Sua defesa não se resume a acrescentar uma ferramenta às aulas: é preciso revisar prioridades e mostrar como ensinar com IA, em vez de apenas tentar preservar práticas anteriores à sua chegada.
Isso nos leva a uma pergunta útil para qualquer atividade educacional: se a implementação fosse fornecida ao estudante, ainda haveria algo importante para ele investigar, decidir, explicar ou validar? Quando a resposta é sim, encontramos um caminho para ensinar além da produção do código.
O objetivo não deve ser formar pessoas que apenas obtenham respostas de uma IA, mas profissionais capazes de compreender problemas, orientar soluções e sustentar suas decisões com evidências.
David Matos
Referência:
Computing Education When Writing Code Is No Longer the Challenge
