segunda-feira, 23 de março de 2015

Programação: sistema criado por alunos do ICMC corrige exercícios em poucos segundos e agiliza trabalho de professores

Ferramenta inovadora simplifica correção de exercícios de programação e já é usada em quatro universidades

Fábio (à esquerda) e Felipe desenvolveram sistema que corrige rapidamente trabalhos de programação
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. 

Aluno pode submeter o trabalho (anexar arquivo) e, em poucos segundos, ele será corrigido pelo sistema

O professor do ICMC Moacir Ponti Júnior utilizou o sistema no semestre passado nas disciplinas Programação orientada a objetos e Introduçã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. 

“Achei muito fácil de usar, antes havia um sistema de correção no ICMC, mas era muito amarrado, possuía apenas uma linguagem, era muito burocrático. A gente precisa de ferramentas desse tipo, é mais fácil quando o sistema faz uma análise prévia, ele elimina 70% do trabalho do professor”, disse Rodrigo Mello, docente do ICMC que também fez uso do sistema no último semestre e continuará o empregando para a correção dos trabalhos dos alunos.

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.

Os professores têm acesso a gráficos detalhados sobre o rendimento de cada aluno

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/~aiken/moss/), que foi desenvolvida pela Universidade de Stanford, dos Estados Unidos. Ela é capaz de indicar o grau de similaridade entre dois trabalhos por meio de porcentagem e consegue alertar o docente: “Ela fornece indícios de que houve o plágio, mas a palavra final ainda é do professor", explicou Sikansi, aluno de mestrado do ICMC.

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 (felipelageduarte@run.codes ou fabio@run.codes).

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.

Texto: Henrique Fontes - Assessoria de Comunicação ICMC/USP

Foto: Reinaldo Mizutani - Assessoria de Comunicação ICMC/USP

Mais informações

Link do vídeo institucional da ferramenta: icmc.usp.br/e/af883 
E-mails dos criadores: felipelageduarte@run.codes ou fabio@run.codes
Assessoria de Comunicação do ICMC: (16) 3373-9666