Aprender a programar em um curso superior de computação é indispensável para a formação do estudante, que muitas vezes passa por dificuldades no momento de resolver os exercícios. Mas, corrigir trabalhos de programação pode ser ainda mais difícil e demandar um árduo tempo. É para facilitar o trabalho dos professores que os alunos Felipe Duarte e Fábio Sikansi, do Instituto de Ciências Matemáticas e de Computação (ICMC) da USP, em São Carlos, criaram um sistema de submissão e correção automática chamado Run.codes.
A ferramenta possibilita que os estudantes cadastrem, de forma online, os trabalhos de programação realizados. Basta inseri-los no sistema e aguardar alguns segundos até que o resultado da correção apareça. A ideia surgiu a partir da análise de sistemas já existentes que possuíam algumas deficiências e não eram tão eficazes: “Nossa ideia foi fazer um sistema que conseguisse resolver todos os problemas que identificamos e que somasse algumas novas funcionalidades para que o professor pudesse gerir efetivamente o trabalho realizado em uma sala de aula”, explicou Duarte, doutorando do ICMC.
A velocidade de correção do sistema impressiona. Anteriormente, em uma situação na qual o professor teria que corrigir manualmente centenas de trabalhos, o aluno só receberia um feedback depois de dias ou até meses. Com o Run.codes, o tempo médio de correção para um trabalho considerado extenso gira em torno dos trinta segundos. Em um cenário com uma fila de centenas de usuários, que muitas vezes deixam para submeter o trabalho pouco antes do prazo final, o sistema consegue administrar facilmente a demanda e, em minutos, divulga os resultados.
“O aluno tem a oportunidade de realizar uma parte do trabalho a cada dia e verificar seu avanço. Por outro lado, antes, o professor costumava passar uma grande quantidade de matéria para só depois dar um trabalho prático, já que essa correção demandaria muito tempo. A correção automática permite que os professores solicitem muito mais trabalhos”, completou Duarte.
O professor do ICMC Moacir Ponti Júnior utilizou o sistema no semestre passado nas disciplinas Programação orientada a objetos eIntrodução à ciência da computação II. Cerca 150 alunos usaram a ferramenta: “O sistema contribui efetivamente para o planejamento da disciplina e o auxílio aos alunos. O tempo de correção é muito menor e ele ainda permite que o professor abra o código do estudante e verifique mais afundo o que ele errou. Assim, podemos dar mais atenção para aqueles que não foram tão bem”. O professor aprovou a ferramenta e recomenda que outros docentes a empreguem.
A interface e os diversos suportes de linguagem oferecidos são outros diferenciais do Run.codes. Nos demais sistemas, caso o trabalho solicitado pelo professor não se encaixasse no modelo disponibilizado pela plataforma, não havia a possibilidade de realizar qualquer alteração. Era o professor que precisava se adaptar à plataforma. Com o Run.codes, o sistema pode ser ajustado às necessidades de cada professor.
Já o doutorando Samuel Martins, da UNICAMP, utilizou o sistema de correção durante monitoria na disciplina Estrutura de Dados, que contou com cerca de 40 alunos no último semestre: “A correção foi facilitada porque os dados mostrados pelo sistema são muito mais claros. Ele exibe gráficos detalhados sobre o rendimento de cada aluno. Com certeza, é um sistema com grande potencial”, afirmou Martins.
Para evitar possíveis plágios de alunos durante a realização dos trabalhos, os criadores do sistema integraram às suas funções uma ferramenta chamada MOSS (disponível em http://theory.stanford.edu/~
As inovações não param por aí. Uma nova funcionalidade jamais utilizada em outro sistema foi integrada ao Run.codes. O mestrando explicou que essa nova funcionalidade possibilita corrigir trabalhos de disciplinas que envolvem cálculos numéricos, em que a resposta normalmente é aproximada. Assim, o sistema aceita uma certa margem de erro nas respostas que se enquadram em um intervalo específico: “Às vezes, a resolução da equação ou do problema tem uma inicialização aleatória. Isso faz com que a resposta final varie um pouco, não significando que esteja errada”.
Para uma ferramenta com apenas oito meses de existência, os números impressionam: 27 mil trabalhos corrigidos no último semestre, 22 turmas de usuários no universo de três universidades públicas (USP, UNICAMP e Universidade Federal de Viçosa). Neste semestre, a Universidade Federal da Bahia também passou a empregar o sistema. Quem desejar utilizar o Run.codes, que é disponibilizado gratuitamente apenas para universidades públicas, deve entrar em contato com os criadores da ferramenta por e-mail ([email protected]).
Mesmo com os expressivos resultados e a alta eficiência do sistema, os estudantes trabalham para melhorá-lo: “Atualmente estamos aprimorando a parte de compilação das informações para acelerar esse processo, além de torná-lo mais confiável contra invasões". A meta para o futuro é possibilitar que o Run.codes corrija trabalhos da área de banco de dados.