Projetos
Para o ano de 2026, estes são os principais projetos de pesquisa. Alguns encontram-se em andamento enquanto outros serão completamente novos. Veja detalhes na descrição do projeto e entre em contato para maiores informações.
1 - Ensino de Programação na Era da Inteligência Artificial Generativa
Conforme a aula magna apresentada no IFB em março, estou reimaginando os cursos introdutórios de programação em um mundo onde a IA Generativa não apenas existe, mas é pervasiva e relativamente correta em produzir os tipos de sistemas solicitados dos estudantes em níveis introdutórios.
Entretanto, essa integração deve seguir um framework educacional para que haja intencionalidade pedagógica e, principalmente, autonomia do estudante. Neste projeto vamos utilizar o 4C/ID, pois ele amarra muito bem vários aspectos deste novo modelo de curso introdutório de programação:
As atividades do curso devem ser holísticas, apresentando o todo em uma tarefa complexa e autêntica. Sem fragmentação. Ao invés de pequenos programas utilizando o console para calcular médias de números, os estudantes agora vivenciam todas as etapas do desenvolvimento de um sistema: design, prototipação, verificação e validação.
Algumas destas etapas serão realizadas autonomamente pela IA, outras orquestradas por humanos. A ideia é que com a aquisição de expertise as atividades orquestradas por humanos possam ser realizadas com mais senso crítico e supervisão.
O nosso sistema guiará o estudante durante estas etapas (vide figura acima) e será encarregado do processo de avaliação do conhecimento durante cada uma delas.
Atualmente, o sistema encontra-se em fase do mínimo protótipo viável. O estudante parte do deverá ser capaz de:
Desenvolver e polir o sistema.
Desenhar e testar as atividades de avaliação dentro do sistema.
Desenhar e executar experimentos empíricos para avaliar o aprendizado dos estudantes neste sistema, tanto qualitativamente quanto quantitativamente.
Participar da escrita de artigos científicos.
Habilidades e competências necessárias:
Conhecimento básico de algum framework de desenvolvimento web (Django, Meteor, etc.).
Inglês básico para leitura de artigos científicos.


2 - Evasão nos Cursos de Computação do Brasil e no Exterior


Uma questão central para a sociedade em geral, mas de particular importância para a Sociedade Brasileira de Computação,é entender onde e por que os estudantes evadem dos cursos de Computação no Brasil. Pesquisas anteriores nos mostraram algumas coisas:
A evasão tem diferentes características de gênero, raça/etnia e perfil socioeconômico. Leia nosso artigo na ACM TOCE de 2023.
A evasão tem mais ligação com o turno do curso do que o curso em si, como mostrou nosso artigo no EduComp de 2024.
Embora estes artigos tenham trazido diversas lições, eles possuíam algumas lacunas:
Os estudantes eram majoritariamente homens, de universidades públicas e de Ciência da Computação.
Eles ainda estavam matriculados nos cursos.
Os dados do censo da educação superior do INEP agora não permitem mais investigar em detalhes os estudantes.
Este projeto de evasão, que é um guarda-chuva para várias iniciativas com dezenas de universidades no Brasil e no exterior, possui vários objetivos:
Produzir um mapa das instituições brasileiras com cursos de Computação e seus contatos.
Analisar anualmente os dados do INEP para produzir um relatório confiável da evasão nos cursos de computação. Idealmente, possuiremos uma API de consulta a uma base de dados atualizada anualmente onde pesquisadores brasileiros podem extrair dados e fazer suas próprias análises. Também gostaríamos de ter um BI onde as estatísticas descritivas e mapas mais simples fossem apresentados para a comunidade da SBC.
Investigar qualitativamente as razões da evasão nos cursos de Computação através de entrevistas e painéis com estudantes realmente evadidos.
Desenvolver um instrumento quantitativo a partir dos dados qualitativos e aplicar e analisar seus resultados anualmente para um grande grupo de estudantes dos cursos de Computação no Brasil.
Criar métricas de comparação e publicar relatórios comparativos entre a evasão no Brasil e outros países do mundo.
Comparativo de evasão de disciplinas (programação) ou modelos preditivos de evasão utilizando técnicas de Ciências de Dados também são de interesse do projeto.
Habilidades e competências necessárias:
Conhecimento básico de estatística é um diferencial. Geralmente eu utilizo o R para as análises, mas podemos utilizar outros sistemas.
Inglês básico para leitura de artigos científicos.
3 - Rules of Program Behavior (aka Notional Machines)


Segundo Benedict du Boulay, em comunicação informal durante um Dagstuhl Seminar, uma notional machine é "uma mentira com intuito pedagógico para explicar o comportamento de um programa de computador."
No fundo, nosso papel como professores de programação é sermos bons mentirosos e contarmos mentiras úteis, fáceis de serem compreendidas e as mais próximas possíveis da realidade. Obviamente, são três objetivos antagônicos: quanto mais detalhes, mais complexa é uma explicação e (potencialmente) mais próxima da realidade, mas mais difícil de compreender. Então estamos sempre em uma balança tentando escolher como contar estas mentiras.
No nosso artigo da ACM TOCE de 2021, nós criamos as bases de como sistematizar as mentiras que contamos nos cursos de programação: as Rules of Program Behavior. Na imagem acima, vemos explicações que poderiam ser utilizadas por um professor da graduação ao explicar tópicos de programação em Python. Você usaria as mesmas explicações para JavaScript? E se você fosse ensinar os mesmos tópicos no ensino médio? Como avaliar qual a melhor mentira? Estas e outras perguntas são objetivo deste projeto.
Recentemente, Hoobertgs et al. (2026) publicaram uma extensão ao nosso artigo, colocando mais parâmetros no modelo e realizando pela primeira vez uma avaliação empírica de RPBs. Com base nestes artigos, gostaríamos de testar várias coisas:
Como se parecem RPBs para ensinar Python para o ensino médio? E para o ensino básico? Que nível de detalhe estas RPBs terão? Que terminologia possuem? Veja que já tentamos extrair Notional Machines do TikTok e elas não foram muito boas, mas pelo menos nos deram alguma ideia de novos formatos de comunicação.
Como mensurar se uma RPB é melhor do que a outra? Usando uma linguagem que ninguém conhece, ensinando esta linguagem através de RPBs diferentes criadas previamente e avaliando a compreensão de programas escritos nesta linguagem fictícia! Mas ainda não fizemos isto :(
Habilidades e competências necessárias:
Alguma vivência de ensino de programação é um diferencial.
Inglês básico para leitura de artigos científicos
4 - Fatores Emocionais nos Cursos de Computação
5 - Visualização de Programas Utilizando Substituição
6 - Automação de Tarefas Utilizando IA Generativa (Reitoria do IFB)
7 - O Que Se Ensina (E o Que Se Aprende) nas Licenciaturas do Brasil?
Fale conosco
Quer saber mais ou participar de um projeto? Entre em contato!
Telefone
+55 43 988160208
rodrigo.duran@ifb.edu.br
Contato
Envie suas dúvidas ou interesse nos projetos
Telefone
rodrigo.duran@ifb.edu.br
+55 43 988160208
© 2026. All rights reserved.