Sobre o Codebench
Um sistema Juiz Online para Cursos de Computação
O CodeBench é um sistema juiz online, desenvolvido pelo Instituto de Computação da Universidade Federal do Amazonas, que tem por objetivos: i) prover ao discente de disciplinas de programação um conjunto de ferramentas pedagógicas capazes de estimular e facilitar seu aprendizado; ii) prover o docente com informações úteis sobre a caminhada do aluno nas disciplinas de programação; iii) dispor um conjunto de ferramentas capazes de simplificar o trabalho docente; e iv) fomentar e apoiar professores no desenvolvimento e/ou implementação de práticas de ensino mais modernas e criativas.
Através do Codebench, os professores podem disponibilizar exercícios de programação para seus alunos, que por sua vez devem desenvolver soluções para tais exercícios e submetê-las através da interface do sistema. Uma vez que um aluno submete uma solução para um dado exercício, o sistema informa instantaneamente ao aluno se sua solução está correta ou errada. Além disso, o CodeBench permite a troca de mensagens entre alunos e professores de uma dada turma, bem como o compartilhamento de recursos didáticos por parte dos professores.
Lista de Artigos, Prêmios, Teses, Dissertações e PIBICs
Artigos publicados em conferências
FERNANDES, Jackson; CARVALHO, Leandro S. G.; OLIVEIRA, David B. F.; OLIVEIRA, Elaine H. T.; PEREIRA, Filipe Dwan; LAUSCHNER, Tanara . Correlação Entre Complexidade e Dificuldade de Questões de Programação em Juízes Online. In: Simpósio Brasileiro de Educação em Computação, 2023, Brasil. Anais do III Simpósio Brasileiro de Educação em Computação (EDUCOMP 2023). p. 97-107.
BIÉ, Erlon P.; SOUTO, Eduardo; Braga, David; OLIVEIRA, Elaine; CARVALHO, Leandro. Ensino de programação para alunos nos anos escolares entre Ensino Fundamental II e Ensino médio: Um Mapeamento Sistemático. In: Simpósio Brasileiro de Informática na Educação, 2023, Brasil. Anais do XXXIV Simpósio Brasileiro de Informática na Educação (SBIE 2023). p. 414.
RAMOS, Ilmara MONTEVERDE MARTINS; GADELHA, Bruno FREITAS; RAMOS, David BRITO; OLIVEIRA, David Braga Fernandes de; MELLO, Rafael Ferreira; OLIVEIRA, Elaine Harada Teixeira de. CodeGraph: Uma Ferramenta de Identificação e Visualização de Trilhas de Aprendizagem no Ensino de Programação. In: Simpósio Brasileiro de Informática na Educação, 2023, Brasil. Anais do XXXIV Simpósio Brasileiro de Informática na Educação (SBIE 2023). p. 451.
MELO, Rafaela; HAYDAR, Gabriel; PIRES, Fernanda; OLIVEIRA, Elaine; GALVÃO, Leandro; PESSOA, Marcela; FERNANDES, David. Classificação de tipos de jogador com base na utilização de elementos de uma gamificação baseada em jogos de RPG. In: Simpósio Brasileiro de Informática na Educação, 2023, Brasil. Anais do XXXIV Simpósio Brasileiro de Informática na Educação (SBIE 2023). p. 912.
SANTOS, Nathália R. M. Dos; OLIVEIRA, Elaine H. T.; OLIVEIRA, David B. F. de; CARVALHO, Leandro S. G.; LAUSCHNER, Tanara; LIMA, Marcos A. P. De; KAUTZMANN, Tiago R.; JAQUES, Patrícia A. Análise do nível de confusão de estudantes com base no grau de dificuldade de questões de programação. In: Simpósio Brasileiro de Informática na Educação, 2022, Brasil. Anais do XXXIII Simpósio Brasileiro de Informática na Educação (SBIE 2022), 2022. p. 1016.
SILVA, Élrik Souza; CARVALHO, Leandro S. G.; OLIVEIRA, David B. F. de; OLIVEIRA, Elaine H. T.; LAUSCHNER, Tanara; LIMA, Marcos A. P. De; PEREIRA, Filipe Dwan. Previsão de indicadores de dificuldade de questões de programação a partir de métricas do código de solução. In: Simpósio Brasileiro de Informática na Educação, 2022, Brasil. Anais do XXXIII Simpósio Brasileiro de Informática na Educação (SBIE 2022), 2022. p. 859.
LAVAREDA FILHO, Ronem Matos; COLONNA, Juan Gabriel; OLIVEIRA, David B. F. de; MONTEIRO, Edwin Juan L. B.; GONÇALVES, Paulo Henrique Nellessen. Autenticação de alunos utilizando Dinâmica de Digitação e Redes Neurais Profundas em sistemas Juiz On-line. In: Simpósio Brasileiro de Informática na Educação, 2022, Brasil. Anais do XXXIII Simpósio Brasileiro de Informática na Educação (SBIE 2022), 2022. p. 1222.
LIMA, Marcos; CARVALHO, Leandro S. G.; OLIVEIRA, Elaine H. T.; OLIVEIRA, David. B. F.; PEREIRA, Filipe D. Uso de atributos de código para classificação da facilidade de questões de codificação. In: Simpósio Brasileiro de Educação em Computação, 2021, Brasil. Anais do I Simpósio Brasileiro de Educação em Computação (EduComp 2021). p. 123.
ARAÚDO, Ada; FILHO, Daniel L. Z.; OLIVEIRA, Elaine H. T.; CARVALHO, Leandro S. G.; PEREIRA, Filipe D.; OLIVEIRA, David. B. F. Mapeamento e análise empírica de misconceptions comuns em avaliações de introdução à programação. In: Simpósio Brasileiro de Educação em Computação, 2021, Brasil. Anais do I Simpósio Brasileiro de Educação em Computação (EduComp 2021). p. 123.
PEREIRA, Filipe D.; PIRES, Francisco; FONSECA, Samuel; OLIVEIRA, Elaine H. T.; CARVALHO, Leandro S. G.; OLIVEIRA, David. B. F.; CRISTEA, Alexandra I. Towards a Human-AI Hybrid System for Categorising Programming Problems. In: SIGCSE '21: The 52nd ACM Technical Symposium on Computer Science Education, 2021, Virtual Event USA. Proceedings of the 52nd ACM Technical Symposium on Computer Science Education, 2021. p. 94.
PESSOA, Marcela; MELO, Rafaela; HAYDAR, Gabriel; OLIVEIRA, David. B. F.; CARVALHO, Leandro S. G.; OLIVEIRA, Elaine H. T.; CONTE, Tayana; PEREIRA, Filipe D; RODRIGUES, Luiz; ISOTANI, Seiji. Uma análise dos tipos de jogadores em uma plataforma de gamificação incorporada a um sistema juiz on-line . In: Simpósio Brasileiro de Informática na Educação, 2021, Brasil. Anais do XXXII Simpósio Brasileiro de Informática na Educação (SBIE 2021). p. 474.
OLIVEIRA, David. B. F.; LAVAREDA FILHO, Ronem M.; CARVALHO, Leandro S. G.; OLIVEIRA, Elaine H. T.; COLONNA, Juan G.; MENEZES, Adria. Um Método de Detecção de Plágio para Sistemas Juiz On-line baseado no Comportamento dos Alunos. In: Simpósio Brasileiro de Informática na Educação, 2021, Brasil. Anais do XXXII Simpósio Brasileiro de Informática na Educação (SBIE 2021). p. 836.
BRAZ, Ana Caroline R. ; CARVALHO, Leandro S. G. ; OLIVEIRA, Elaine H. T. ; OLIVEIRA, David B. F. ; BITTENCOURT, Roberto A. ; SANTANA, Bianca L. ; PEREIRA, Filipe D. Tradução e validação de um inventário de conceitos sobre programação introdutóriaIn: Simpósio Brasileiro de Informática na Educação, 2021, Brasil. Anais do XXXII Simpósio Brasileiro de Informática na Educação (SBIE 2021). p. 1253.
FONSECA, Samuel; PEREIRA, FILIPE ; OLIVEIRA, E. H.; OLIVEIRA, David. B. F.; CARVALHO, Leandro S. G.; CRISTEA, Alexandra I. Automatic Subject-based Contextualisation of Programming Assignment Lists. In: International Conference on Educational Data Mining, 2020, Morocco. EDM 2020), 2020.
FILHO, Daniel L. Zordan; OLIVEIRA, Elaine H. T.; CARVALHO, Leandro S. G.; PESSOA, Marcela ; PEREIRA, Filipe D.; OLIVEIRA, David. B. F. Uma análise orientada a dados para avaliar o impacto da gamificação de um juiz on-line no desempenho de estudantes. In: Simpósio Brasileiro de Informática na Educação, 2020, Brasil. Anais do XXXI Simpósio Brasileiro de Informática na Educação (SBIE 2020). p. 491.
JÚNIOR, HERMINO BARBOSA DE FREITAS ; PEREIRA, Filipe D.; OLIVEIRA, Elaine H. T.; OLIVEIRA, David. B. F.; CARVALHO, Leandro S. G. Recomendação Automática de Problemas em Juízes Online Usando Processamento de Linguagem Natural e Análise Dirigida aos Dados. In: Simpósio Brasileiro de Informática na Educação, 2020, Brasil. Anais do XXXI Simpósio Brasileiro de Informática na Educação (SBIE 2020). p. 1152.
SANTOS, INGRID LIMA DOS ; OLIVEIRA, David. B. F.; CARVALHO, Leandro S. G.; PEREIRA, Filipe D.; OLIVEIRA, Elaine H. T. Tempos de Transição em Estados de Corretude e Erro como Indicadores de Desempenho em Juízes Online. In: Simpósio Brasileiro de Informática na Educação, 2020, Brasil. Anais do XXXI Simpósio Brasileiro de Informática na Educação (SBIE 2020). p. 1283.
LIMA, MARCOS ; CARVALHO, Leandro S. G.; OLIVEIRA, Elaine H. T.; OLIVEIRA, David. B. F.; PEREIRA, Filipe D.. Classificação de dificuldade de questões de programação com base em métricas de código. In: Simpósio Brasileiro de Informática na Educação, 2020, Brasil. Anais do XXXI Simpósio Brasileiro de Informática na Educação (SBIE 2020). p. 1323.
SILVA, Dayvson dos Santos; TAMAYO, Sergio Cleger; PESSOA, Marcela ; PIRES, Fernanda; OLIVEIRA, David. B. F.; OLIVEIRA, Elaine H. T.; CARVALHO, Leandro S. G. Minerando dados de um juiz on-line para prever a evasão de estudantes em disciplinas introdutórias de programação. In: Simpósio Brasileiro de Informática na Educação, 2020, Brasil. Anais do XXXI Simpósio Brasileiro de Informática na Educação (SBIE 2020). p. 1343.
PEREIRA, Filipe D.; SOUZA, LINNIK MACIEL DE ; OLIVEIRA, Elaine H. T.; OLIVEIRA, David. B. F.; CARVALHO, Leandro S. G. Predição de desempenho em ambientes computacionais para turmas de programação: um Mapeamento Sistemático da Literatura. In: Simpósio Brasileiro de Informática na Educação, 2020, Brasil. Anais do XXXI Simpósio Brasileiro de Informática na Educação (SBIE 2020). p. 1673.
OLIVEIRA, Joseph; SALEM, Felipe; OLIVEIRA, Elaine H. T.; OLIVEIRA, David. B. F.; CARVALHO, Leandro S. G.; PEREIRA, Filipe D.. Os estudantes leem as mensagens de feedback estendido exibidas em juízes online?. In: Simpósio Brasileiro de Informática na Educação, 2020, Brasil. Anais do XXXI Simpósio Brasileiro de Informática na Educação (SBIE 2020). p. 1723.
FILHO, Ronem Matos Almeida; COLONNA, Juan Gabriel; OLIVEIRA, OLIVEIRA, David. B. F. Autenticação contínua de alunos utilizando biometria comportamental em ambiente Juiz On-line. In: XXXI Simpósio Brasileiro de Informática na Educação SBIE (Brazilian Symposium on Computers in Education), 2020, edição online, p. 1193.
OLIVEIRA, Joseph; OLIVEIRA, Elaine H. T.; CARVALHO, Leandro S. G.; OLIVEIRA, David. B. F. Mensagens estendidas de feedback em um juiz online para alunos de introdução à computação: resultados preliminares. In: XXX Simpósio Brasileiro de Informática na Educação SBIE (Brazilian Symposium on Computers in Education), 2019, Brasília. p. 329-338.
PESSOA, Marcela; OLIVEIRA, David. B. F.; CARVALHO, Leandro S. G.; OLIVEIRA, Elaine H. T.; NAKAMURA, Walter; CONTE, Tayana. CodePlay: Uma Plataforma de Gamificação baseada em Jogos de RPG Multiplayer. In: XXX Simpósio Brasileiro de Informática na Educação SBIE (Brazilian Symposium on Computers in Education), 2019, Brasília. p. 843-852.
PEREIRA, Filipe D.; OLIVEIRA, Elaine H. T.; OLIVEIRA, David. B. F.; CARVALHO, Leandro S. G.; JUNIOR, Hermínio. Otimização e automação da predição precoce do desempenho de alunos que utilizam juízes online: uma abordagem com algoritmo genético. In: XXX Simpósio Brasileiro de Informática na Educação SBIE (Brazilian Symposium on Computers in Education), 2019, Brasília. p. 1451-1460.
FONSECA, Samuel; OLIVEIRA, Elaine H. T.; PEREIRA, Filipe D.; OLIVEIRA, David. B. F.; CARVALHO, Leandro S. G. Adaptação de um método preditivo para inferir o desempenho de alunos de programação. In: XXX Simpósio Brasileiro de Informática na Educação SBIE (Brazilian Symposium on Computers in Education), 2019, Brasília. p. 1451-1460.
SANTOS, Pedro; CARVALHO, Leandro S. G.; OLIVEIRA, Elaine H. T.; OLIVEIRA, David. B. F. Classificação de dificuldade de questões de programação com base na inteligibilidade do enunciado. In: XXX Simpósio Brasileiro de Informática na Educação SBIE (Brazilian Symposium on Computers in Education), 2019, Brasília. p. 1886-1895.
ALVES, Arthur; CARVALHO, Leandro S. G.; OLIVEIRA, Elaine H. T.; OLIVEIRA, David. B. F. Análise comportamental em juízes online para predição do desempenho final de alunos em disciplinas de computação . In: XXX Simpósio Brasileiro de Informática na Educação SBIE (Brazilian Symposium on Computers in Education), 2019, Brasília. p. 1906-1915.
RIBEIRO; Ralph B; OLIVEIRA, David. B. F.; CARVALHO, Leandro S. G.; OLIVEIRA, Elaine H. T. Gamificação de um Sistema de Juiz Online para Motivar Alunos em Disciplina de Programação Introdutória. In: XXIX Simpósio Brasileiro de Informática na Educação SBIE (Brazilian Symposium on Computers in Education), 2018, Fortaleza. p. 805-814.
PEREIRA, Filipe D.; OLIVEIRA, Elaine H. T.; OLIVEIRA, David. B. F. Predição de Zona de Aprendizagem de Alunos de Introdução à Programação em Ambientes de Correção Automática de Código. In: XXVIII Simpósio Brasileiro de Informática na Educação SBIE (Brazilian Symposium on Computers in Education), 2017, Recife, 2017. p. 1507-1516.
CARVALHO, Leandro S. G.; GADELHA, Bruno F.; NAKAMURA, Fabíola. G. ; OLIVEIRA, David. B. F.; OLIVEIRA, Elaine. Ensino de programação para futuros não-programadores: contextualizando os exercícios com as demais disciplinas de mesmo período letivo. In: 24º Workshop sobre Educação em Computação (WEI), 2016, Porto Alegre. Anais do XXXVI Congresso da Sociedade Brasileira de Computação, 2016. v. 1. p. 2116-2125.
CARVALHO, Leandro S. G.; OLIVEIRA, David. B. F.; GADELHA, Bruno. Juiz online como ferramenta de apoio a uma metodologia de ensino híbrido em programação. In: Simpósio Brasileiro de Informática na Educação (SBIE), 2016, Uberlândia. Congresso Brasileiro de Informática na Educação (CBIE), 2016.
Artigos publicados em periódicos
FERNANDES, J. C.; CARVALHO, L. S. G.; OLIVEIRA, David B. F.; OLIVEIRA, E. H. T.; PEREIRA, F. D.; LAUSCHNER, T. Complexidade versus dificuldade: Uma análise da sua correlação em questões de programação em juízes on-line. Revista Brasileira de Informática na Educação (RBIE), v. 32, p. 22-49, 2024.
PESSOA, Marcela; LIMA, Márcia; PIRES, Fernanda; HAYDAR, Gabriel; MELO, Rafaela; RODRIGUES, Luiz; OLIVEIRA, David; OLIVEIRA, Elaine; GALVÃO, Leandro; GADELHA, Bruno; ISOTANI, Seiji; GASPARINI, Isabela; CONTE, Tayana. A Journey to Identify Users' Classification Strategies to Customize Game-Based and Gamified Learning Environments. IEEE Transactions on Learning Technologies, v. 17, p. 527-541, 2024.
RODRIGUES, Luiz; PALOMINO, Paula T.; TODA, Armando M.; KLOCK, Ana C. T.; PESSOA, Marcela; PEREIRA, Filipe D.; OLIVEIRA, Elaine H. T.; Oliveira, David F.; CRISTEA, Alexandra I.; GASPARINI, Isabela; ISOTANI, Seiji . How Personalization Affects Motivation in Gamified Review Assessments. INTERNATIONAL JOURNAL OF ARTIFICIAL INTELLIGENCE IN EDUCATION (PRINT), v. 1, p. 1-38, 2023.
PEREIRA, Filipe Dwan; FONSECA, Samuel C.; WIKTOR, Sandra; OLIVEIRA, David B. F.; CRISTEA, Alexandra I.; BENEDICT, Aileen; FALLAHIAN, Mohammadali; DORODCHI, Mohsen; CARVALHO, Leandro S. G.; MELLO, Rafael Ferreira; OLIVEIRA, Elaine H. T. Toward Supporting CS1 Instructors and Learners With Fine-Grained Topic Detection in Online Judges. IEEE Access, v. 11, p. 22513-22525, 2023.
COELHO, F. J. M.; OLIVEIRA, E. H. T.; PEREIRA, F. D.; OLIVEIRA, David B. F.; CARVALHO, L. S. G.; SOUTO, E. J. P.; PESSOA, M. S. P.; MELO, R. F.; LIMA, Marcos A. P. DE; NAKAMURA, F. G. Learning Analytics em Cursos de Introdução à Programação: Uma Mostra da Universidade Federal do Amazonas. Revista Brasileira de Informática na Educação (RBIE), v. 31, p. 1089-1127, 2023.
RODRIGUES, Luiz; PEREIRA, Filipe D.; TODA, Armando M.; PALOMINO, Paula T.; PESSOA, Marcela; CARVALHO, Leandro SILVA GALVÃO; FERNANDES, David; OLIVEIRA, Elaine H. T.; CRISTEA, Alexandra I.; ISOTANI, Seiji . Gamification suffers from the novelty effect but benefits from the familiarization effect: Findings from a longitudinal study. International Journal of Educational Technology in Higher Education, v. 19, p. 13, 2022.
RODRIGUES, Luiz; PEREIRA, Filipe; TODA, Armando; PALOMINO, Paula; OLIVEIRA, WILK; PESSOA, Marcela; CARVALHO, Leandro; OLIVEIRA, David; OLIVEIRA, Elaine; Cristea, Alexandra; ISOTANI, Seiji. Are they learning or playing? Moderator conditions of gamification?s success in programming classrooms. ACM Transactions on Computing Education, v. 1, p. 1, 2022.
PEREIRA, Filipe D.; FONSECA, Samuel C.; OLIVEIRA, Elaine H. T.; CRISTEA, Alexandra I.; BELLHAUSER, Henrik ; RODRIGUES, Luiz; OLIVEIRA, David B. F.; ISOTANI, Seiji ; CARVALHO, Leandro S. G. Explaining Individual and Collective Programming Students? Behavior by Interpreting a Black-Box Predictive Model. IEEE Access, v. 9, p. 117097-117119, 2021.
LIMA, Marcos A. P. ; CARVALHO, Leandro S. G. ; OLIVEIRA, Elaine H. T.; OLIVEIRA, David B. F.; PEREIRA, Filipe D. Uso de atributos de código para classificar a dificuldade de questões de programação em juízes online. Revista Brasileira de Informática na Educação (RBIE), v. 29, p. 1137-1157, 2021.
RIBEIRO; Ralph B.; CARVALHO, Leandro S. G.; OLIVEIRA, Elaine H. T.; OLIVEIRA, David. B. F.; PESSOA, Marcela. Investigação Empírica sobre os Efeitos da Gamificação de um Juiz Online em uma Disciplina de Introdução à Programação. Revista Brasileira de Informática na Educação (RBIE), v. 28, p. 461-490, 2020.
Pereira, Filipe D. ; OLIVEIRA, Elaine H. T.; OLIVEIRA, David. B. F.; CRISTEA, Alexandra I. ; CARVALHO, Leandro S. G.; FONSECA, Samuel C. ; TODA, Armando ; ISOTANI, Seiji . Using learning analytics in the Amazonas: understanding students? behaviour in introductory programming. British Journal of Educational Technology, v. 51, p. 955-972, 2020.
PEREIRA, Filipe D.; FONSECA, Samuel C. ; OLIVEIRA, Elaine H. T.; OLIVEIRA, David. B. F.; CRISTEA, Alexandra I. ; CARVALHO, Leandro S. G. Deep learning for early performance prediction of introductory programming students: a comparative and explanatory study. REVISTA BRASILEIRA DE INFORMÁTICA NA EDUCAÇÃO, v. 28, p. 723-748, 2020.
Prêmios
LIMA, Marcos; CARVALHO, Leandro S. G.; OLIVEIRA, Elaine H. T.; OLIVEIRA, David. B. F.; PEREIRA, Filipe D. Uso de atributos de código para classificação da facilidade de questões de codificação. Best Paper do I Simpósio Brasileiro de Educação em Computação (EduComp)
SANTOS, Pedro H. C; CARVALHO, Leandro S. G. Predição automática de dificuldade de questões em ambientes de programação. Projeto de Iniciação Científica (PIBIC) – IComp/UFAM. Manaus/AM. 2019. Premiado como melhor trabalho em Ciências exatas no XXVIII CONIC.
RIBEIRO; Ralph B; OLIVEIRA, David. B. F.; CARVALHO, Leandro S. G.; OLIVEIRA, Elaine H. T. Gamificação de um Sistema de Juiz Online para Motivar Alunos em Disciplina de Programação Introdutória. Best Paper da trilha 2 do XXIX Simpósio Brasileiro de Informática na Educação (SBIE)
PEREIRA, Filipe D.; OLIVEIRA, Elaine H. T.; OLIVEIRA, David. B. F.; CARVALHO, Leandro S. G.; JUNIOR, Hermínio. Otimização e automação da predição precoce do desempenho de alunos que utilizam juízes online: uma abordagem com algoritmo genético. Best Paper da trilha 4 do XXX Simpósio Brasileiro de Informática na Educação (SBIE)
Teses de Doutorado
COELHO, F. J. M.; OLIVEIRA, David. B. F.; PESSOA, MarcelaMétricas de avaliação discente em sistemas juízes online. Doutorado em Informática – PPGI/UFAM. Manaus/AM. Em andamento.
MELO, Rafaela; OLIVEIRA, David. B. F.; PESSOA, MarcelaIdentificando estratégias para solucionar exercícios de programação em juízes online. Doutorado em Informática – PPGI/UFAM. Manaus/AM. Em andamento.
PEREIRA, Filipe D.; OLIVEIRA, Elaine H. T.; OLIVEIRA, David. B. F.Uso de um método preditivo para inferir a zona de aprendizagem de alunos de programação em um ambiente de correção automática de código. Doutorado em Informática – PPGI/UFAM. Manaus/AM. 2022.
PESSOA, Marcela; OLIVEIRA, David. B. F. CodePlay: Uma Plataforma de Gamificação baseada em Jogos de RPG Multiplayer. Doutorado em Informática – PPGI/UFAM. Manaus/AM. 2022.
Dissertações de Mestrado
USSOSSO, Francisco Maurício. Uso de códigos-solução para classificar a dificuldade de exercícios de programação em sistemas juízes online. Dissertação (Mestrado em Informática) – PPGI/UFAM. Manaus/AM. Em andamento.
MELO, Rafaela; OLIVEIRA, David. B. F. Personalização de elementos de jogos em plataformas de gamificação baseadas em RPG. Dissertação (Mestrado em Informática) – PPGI/UFAM. Manaus/AM. 2022.
MATOS, Ronem L. F.; OLIVEIRA, David. B. F. Autenticação contínua de alunos utilizando biometria comportamental em ambiente de Juiz On-line. Dissertação (Mestrado em Informática) – PPGI/UFAM. Manaus/AM. 2022.
DE OLIVEIRA, Adria M.; OLIVEIRA, David. B. F. Um Método de Detecção de Plágio em Códigos-Fonte para Disciplinas Iniciais de Programação. Dissertação (Mestrado em Informática) – PPGI/UFAM. Manaus/AM. 2016.
FEITOSA, Marília M. B. A. C; OLIVEIRA, David. B. F. Mineração de Dados Educacionais: Previsão de Notas Parciais Utilizando Classificação. Dissertação (Mestrado em Informática) – PPGI/UFAM. Manaus/AM. 2017.
PEREIRA, Filipe D.; OLIVEIRA, Elaine H. T. Uso de um método preditivo para inferir a zona de aprendizagem de alunos de programação em um ambiente de correção automática de código. Dissertação (Mestrado em Informática) – PPGI/UFAM. Manaus/AM. 2018.
LARANJEIRA, Dion R. OLIVEIRA, Elaine H. T. Recomendação de Exercícios em um Ambiente de Correção Automática de Códigos. Mestrado em Informática – PPGI/UFAM. Manaus/AM.
Projetos de Iniciação Científica — PIBICs
SILVA, Élrik S.; CARVALHO, Leandro S. G. Dificuldade em Programação: Predição Automática com Base em Métricas de Código. Projeto SUPER de Pesquisa e Educação. UFAM, Manaus/AM. 2022.
LIMA, Marcos A. P.; CARVALHO, Leandro S. G. Predição de dificuldade de questões em ambientes de correção automática por meio da análise conjugada do enunciado e do código de resposta. Projeto de Iniciação Científica (PIBIC) – IComp/UFAM. Manaus/AM. 2020.
LIMA, Marcos A. P. CARVALHO, Leandro S. G. Predição automática de dificuldade de questões em ambientes de correção automática de código Projeto de Iniciação Científica (PIBIC) – IComp/UFAM. Manaus/AM. 2019.
HAYDAR, Gabriel I. G.; OLIVEIRA, David. B. F. Uso de Enredos Altamente Imersivos em Sistemas Gamificados para Maximizar o Engajamento de Alunos de Introdução à Programação. Projeto de Iniciação Científica (PIBIC) – IComp/UFAM. Manaus/AM. Em Andamento. 2021.
LIMA, Oscar O. W. S.; OLIVEIRA, David. B. F. Uso de Elementos de Jogos Personalizados para Maximizar o Engajamento de Empreendedores, Jogadores e Disruptores no Sistema CodePlay. Projeto de Iniciação Científica (PIBIC) – IComp/UFAM. Manaus/AM. 2020.
HAYDAR, Gabriel I. G.; OLIVEIRA, David. B. F. Uso de Elementos de Jogos Personalizados para Maximizar o Engajamento de Espíritos Livres, Filantropos e Socializadores no Sistema CodePlay. Projeto de Iniciação Científica (PIBIC) – IComp/UFAM. Manaus/AM. 2020.
AFONSO, Thiago C. A.; OLIVEIRA, David. B. F. Colaboração e Competição em Sistemas Educacionais Gamificados: Uma Revisão Sistemática da Literatura. Projeto de Iniciação Científica (PIBIC) – IComp/UFAM. Manaus/AM. 2019.
OLIVEIRA, Joseph V. L; CARVALHO, Leandro S. G. Uma análise comportamental dos erros de estudantes de programação em um ambiente de correção automática de códigos. Projeto de Iniciação Científica (PIBIC) – IComp/UFAM. Manaus/AM. 2019.
ALMEIDA, Lucas M.; OLIVEIRA, David. B. F. Estudo de Eficácia de Elementos de Jogos em Sistemas Educacionais Gamificados: Uma Revisão Sistemática da Literatura. Projeto de Iniciação Científica (PIBIC) – IComp/UFAM. Manaus/AM. 2019.
SARAIVA, Gabriel A.; OLIVEIRA, Elaine H. T. Adaptação de Conteúdo em Ambientes de Correção Automática de Código. Projeto de Iniciação Científica (PIBIC) – IComp/UFAM. Manaus/AM. 2019.
FONSECA, SamuelC.; OLIVEIRA, Elaine H. T. Adaptação de um método preditivo para inferir a zona de aprendizagem de alunos de programação. Projeto de Iniciação Científica (PIBIC) – IComp/UFAM. Manaus/AM. 2019.
SOUZA, Andrey de O; OLIVEIRA, Elaine H. T. Estudo e aplicação de frameworks de avaliação e desenvolvimento de sistemas gamificados. Projeto de Iniciação Científica (PIBIC) – IComp/UFAM. Manaus/AM. 2019.
OLIVEIRA, Joseph V. L; CARVALHO, Leandro S. G. Geração de ajuda personalizada para estudantes de programação em um ambiente de correção automática de códigos. Projeto de Iniciação Científica (PIBIC) – IComp/UFAM. Manaus/AM. 2019.
ALVES, Arthur B; CARVALHO, Leandro S. G. Identificação comportamental do aprendizado em computação a partir de dados coletados em sistema de correção automática de código. Projeto de Iniciação Científica (PIBIC) – IComp/UFAM. Manaus/AM. 2019.
SANTOS, Pedro H. C; CARVALHO, Leandro S. G. Predição automática de dificuldade de questões em ambientes de programação. Projeto de Iniciação Científica (PIBIC) – IComp/UFAM. Manaus/AM. 2019. (premiado como melhor trabalho em Ciências exatas no XXVIII CONIC)
BELÉM, Rúben J. S; OLIVEIRA, David. B. F. Uso de Perfis de Programação para Detecção do Nível de Dificuldade dos Alunos. Projeto de Iniciação Científica (PIBIC) – IComp/UFAM. Manaus/AM. 2017.
ATHAIDE, Bruno Q; OLIVEIRA, David. B. F. Uso de Perfis de Programação para Detecção de Plágio no Sistema CodeBench. Projeto de Iniciação Científica (PIBIC) – IComp/UFAM. Manaus/AM. 2017.
BELÉM, Rúben J. S; OLIVEIRA, David. B. F. Desenvolvimento de um ambiente de programação para o sistema CodeBench. Projeto de Iniciação Científica (PIBIC) – IComp/UFAM. Manaus/AM. 2016.
Funcionalidades do Sistema
-
Suporte a diversas linguagens
Atualmente, o CodeBench suporta as seguintes linguagens de programação: C, C++, Java, Python, Haskell e Lua. Além dessas linguagens, o ambiente também suporta a linguagem SQL, para exercícios envolvendo consultas a bancos de dados. Ao criar um dado trabalho, o professor ou monitor deverá informar qual linguagem será usada pelos alunos para desenvolver as soluções dos exercícios de programação desse trabalho.
-
IDE Integrada
O CodeBench possui um Ambiente de Desenvolvimento Integrado, ou Integrated Development Environment (IDE), que poderá ser usado pelos alunos para desenvolver as soluções dos exercícios propostos. Atualmente, esse ambiente suporta as principais funcionalidades de um IDE típico, tais como: Autocompletion, Autosave, Syntax Highlighting, busca e substituição de strings, etc.
-
Casos de Testes
Ao cadastrar um dado exercício no sistema, o professor ou monitor deverá informar um ou mais casos de testes que serão usados para julgar a corretude dos códigos submetidos pelos alunos. Um caso de teste é formado por um par
<E, S>
, ondeE
é a entrada passada ao código do aluno, eS
é a saída correta para a entrada fornecida. Por exemplo, considerando um exercício em que o aluno deverá imprimir o quadrado de um valor fornecido, os casos de teste deste exercícios poderiam ser:<1, 1>
,<6, 36>
e<12, 144>
. -
Bancos de Exercícios, Trabalhos e Materiais Didáticos
Quando um professor ou monitor cria um dado exercício para um determinado trabalho, esse exercício passa a ficar disponível para uso de todos os demais professores e monitores do sistema. Atualmente, nosso Banco conta com XX exercícios dos mais variados graus de dificuldades e tópicos de programação. Da mesma forma, todos os trabalhos e materiais didáticos criados ficam disponíveis para uso de todos os professores.
-
Testes e submissões
Ao desenvolver um código para um determinado exercício, o aluno pode executar seu código e testá-lo com suas próprias entradas. O aluno pode fazer tantos testes quanto desejar à medida que seu trabalho de codificação avança, e esse procedimento é exatamente igual à execução de seu programa em um shell Linux. Após a conclusão de seu código, o aluno poderá fazer a submissão desse código para avaliação de corretude, onde serão usados os casos de testes definidos pelo professor ou monitor durante a criação do exercício. No momento da submissão, o aluno será informado se seu código está correto ou errado.
-
Docker Containers
Os códigos dos alunos são executados dentro de ambientes virtualizados chamados de docker containers. Um novo container é criado para um determinado aluno no momento de seu login no sistema, e esse container não pode ser acessado pelos demais usuários do sistema. Cada container roda sistemas Linux altamente seguro e não é afetado pelo que ocorre nos nos containers dos demais usuários.
-
Gamificação
No momento de criação de uma determinada turma, o professor pode optar ou não pelo recurso de gamificação. Neste recurso, os alunos se vêem como participantes de um jogo onde deverão caminhar pelas estradas de um antigo reino, indo na direção de um monstro que deverá ser vencido até o encerramento da turma. Após solucionar um dado exercício proposto por um professor, uma carta é sorteada indicando se o aluno irá andar nas estradas do jogo ou se vai ganhar força que será usada para vencer o monstro.
-
Detecção de plágio
O CodeBench possui um detector de plágio que identifica códigos semelhantes submetidos por alunos de uma mesma turma. O algoritmo de detecção de plágio adotado foi inspirado em um trabalho de mestrado defendido no Instituto de Computação da UFAM. Esse sistema está disponível apenas para professores e monitores da turma, no ambiente de administração do sistema.
-
Acesso aos códigos dos alunos
No ambiente de administração do sistema, os professores e monitores de uma dada turma podem visualizar ou abaixar os códigos desenvolvidos pelos alunos de suas turmas. Além disso, podem mudar a corretude de um código, independentemente da corretude atribuída ao código no momento de submissão do aluno.