URI ONLINE JUDGE E A INTERNACIONALIZAÇÃO DA ...vivencias/Numero_018/artigos/pdf/...Conforme...

13
Vivências: Revista Eletrônica de Extensão da URI ISSN 1809-1636 Vivências. Vol. 10, N.18: p. 237-249, Maio/2014 237 URI ONLINE JUDGE E A INTERNACIONALIZAÇÃO DA UNIVERSIDADE URI Online Judge and the University Internationalization Jean Luca BEZ 1 , Neilor A. TONIN 2 RESUMO A proposta do portal URI Online Judge é servir como uma importante ferramenta de apoio e complemento de estudo a estudantes em nível de graduação em Engenharias e Ciência da Computação, tanto na sala de aula quanto fora dela. Nesse sentido, o portal foi desenvolvido para ser uma ferramenta de EAD completa, interativa, com design atraente e que promovesse o aprendizado e a competição saudável entre estudantes de diferentes instituições de ensino superior. Adicionalmente, propicia alta disponibilidade (24 x 7) e correção automática das soluções a ele submetidas em tempo real. A disponibilização de todo o ambiente do portal em inglês está possibilitando a sua utilização em mais de 50 países estrangeiros, promovendo de forma abrangente a internacionalização do mesmo e consequentemente, da Universidade. Palavras–chave: URI Online Judge, Ferramenta Web Educacional, Algoritmos, Programação, Internacionalização. ABSTRACT The initial propose of the URI Online Judge portal is to act as an important tool to support and complement the study of undergraduates in Engineering and Computer Science, both in class and at home. To achieve this goal, the portal was developed to be a complete E-Learning tool, interactive, with an attractive design and to promote healthy competition among students from different higher education institutions. Additionally the tool is available 24x7 and it corrects the solutions submitted to it in real time. The fact that the entire environment is in English enabled its use in more than 50 foreign countries, comprehensively promoting the internationalization of the tool and of the University. Keywords: URI Online Judge, Educational Web Tool, Algorithms, Programming, Internationalization. 1 Estudante de Ciência da Computação, URI Campus de Erechim, [email protected] 2 Mestre em Ciência da Computação, URI Campus de Erechim, [email protected]

Transcript of URI ONLINE JUDGE E A INTERNACIONALIZAÇÃO DA ...vivencias/Numero_018/artigos/pdf/...Conforme...

  • Vivências: Revista Eletrônica de Extensão da URI ISSN 1809-1636

    Vivências. Vol. 10, N.18: p. 237-249, Maio/2014 237

    URI ONLINE JUDGE E A INTERNACIONALIZAÇÃO DA UNIVERS IDADE

    URI Online Judge and the University Internationalization

    Jean Luca BEZ 1, Neilor A. TONIN 2

    RESUMO A proposta do portal URI Online Judge é servir como uma importante ferramenta de apoio e complemento de estudo a estudantes em nível de graduação em Engenharias e Ciência da Computação, tanto na sala de aula quanto fora dela. Nesse sentido, o portal foi desenvolvido para ser uma ferramenta de EAD completa, interativa, com design atraente e que promovesse o aprendizado e a competição saudável entre estudantes de diferentes instituições de ensino superior. Adicionalmente, propicia alta disponibilidade (24 x 7) e correção automática das soluções a ele submetidas em tempo real. A disponibilização de todo o ambiente do portal em inglês está possibilitando a sua utilização em mais de 50 países estrangeiros, promovendo de forma abrangente a internacionalização do mesmo e consequentemente, da Universidade. Palavras–chave: URI Online Judge, Ferramenta Web Educacional, Algoritmos, Programação, Internacionalização. ABSTRACT The initial propose of the URI Online Judge portal is to act as an important tool to support and complement the study of undergraduates in Engineering and Computer Science, both in class and at home. To achieve this goal, the portal was developed to be a complete E-Learning tool, interactive, with an attractive design and to promote healthy competition among students from different higher education institutions. Additionally the tool is available 24x7 and it corrects the solutions submitted to it in real time. The fact that the entire environment is in English enabled its use in more than 50 foreign countries, comprehensively promoting the internationalization of the tool and of the University. Keywords: URI Online Judge, Educational Web Tool, Algorithms, Programming, Internationalization.

    1 Estudante de Ciência da Computação, URI Campus de Erechim, [email protected] 2 Mestre em Ciência da Computação, URI Campus de Erechim, [email protected]

  • Vivências: Revista Eletrônica de Extensão da URI ISSN 1809-1636

    Vivências. Vol. 10, N.18: p. 237-249, Maio/2014 238

    1. INTRODUÇÃO

    Um dos maiores problemas no ensino de algoritmos e linguagens de programação para alunos dos cursos de Ciência da Computação e Engenharia da Computação está relacionado ao fato de que cada estudante tem um tempo e uma forma diferente de aprendizado, característica esta observada nas turmas de graduação da URI Erechim. Atender cada aluno de forma eficiente é uma árdua tarefa para o professor, que necessita de uma metodologia ativa na gestão do ensino–aprendizagem.

    Ferramentas online podem e ser utilizadas para complementar e enriquecer o aprendizado do estudante, tanto na sala de aula, com acompanhamento do professor, quanto fora dela, em seus estudos e pesquisas. O uso destas ferramentas de auto aprendizado possibilita que cada aluno desenvolva as suas habilidades com confiança e segurança, de acordo com sua velocidade de aprendizado.

    Uma destas ferramentas é o URI Online Judge, um portal focado nas necessidades dos professores e dos alunos dos cursos de graduação acima mencionados.

    2. REVISÃO DA LITERATURA E FUNDAMENTOS TEÓRICOS

    Conforme apresentado por Tonin e Bez (2012, p.242-246), para criar uma ferramenta completa e inovadora, que pudesse atender as necessidades de estudantes de Computação e áreas afins, os autores analisaram as características, pontos fortes e deficiências de algumas ferramentas existentes:

    � UVa Online Judge3:

    O UVa Online Judge é um site disponível em inglês, para treinamentos e competições, criado pela Universidade de Valadolid na Espanha. Ele contém um grande acervo de problemas, estes organizados somente em volumes;

    � uHunt4: O uHunt é uma ferramenta criada de forma independente para complementar o UVa. Nela o usuário consegue obter mais estatísticas, visualizar os problemas separados por assuntos e também sugestões de problemas a serem resolvidos;

    � SPOJ5: O SPOJ é outro site com foco em competições entre usuários, conta com problemas da Maratona de Programação e suporte para várias linguagens de programação;

    � BOCA Online Contest Administrator6: O BOCA é uma ferramenta brasileira, para competições, utilizada nas seletivas da Maratona de Programação.

    3 Uva Online Judge - http://uva.onlinejudge.org/ 4 uHunt - http://uhunt.felix-halim.net/ 5 SPOJ - http://www.spoj.pl/ 6 BOCA Online Contest Administrator - http://www.ime.usp.br/~cassio/boca/

  • Vivências: Revista Eletrônica de Extensão da URI ISSN 1809-1636

    Vivências. Vol. 10, N.18: p. 237-249, Maio/2014 239

    3. OBJETIVOS As características encontradas nos sistemas existentes e a falta de recursos nestes ambientes, consideradas como importantes pelos autores os motivaram a construir um portal novo de programação. Nesse sentido, o UVA, por exemplo, embora tenha um grande número de exercícios para resolução, entra em manutenção frequente no período noturno, ficando indisponível aos usuários de graduação do turno da noite, período no qual ocorriam as aulas. Outra dificuldade encontrada era o fato do ambiente e os problemas estarem disponíveis apenas em Inglês, o que tornava a utilização ainda mais difícil por brasileiros. Além disso, todos os problemas se encontram em um único repositório, sem separação por nível de dificuldade ou assunto, o que acabava desestimulando os estudantes que estão iniciando, característica esta também do portal SPOJ. O uHunt é apenas uma ferramenta complementar ao UVA e não contém problemas em português. Já o BOCA é um ambiente destinado a competições de programação, não sendo recomendado para a utilização na forma pretendida.

    A construção do portal URI Online Judge foi completamente centrada nas necessidades dos professores e, principalmente, nas necessidades dos alunos. Esta união guiou o desenvolvimento do projeto e permitiu definir os objetivos centrais, entre eles:

    � Oferecer um ambiente agradável, didaticamente organizado e com acesso 24 horas por dia, que corrigisse automaticamente todos os programas a ele submetidos em tempo real;

    � Oferecer uma ferramenta que corrigisse as soluções dos alunos em tempo real, indicando visualmente possíveis erros;

    � Disponibilizar o ambiente em Português e Inglês; � Disponibilizar recursos para que professores possam criar disciplinas com alunos e listas

    de exercícios e acompanhar a sua evolução; � Disponibilizar problemas categorizados por assunto e nível de dificuldade, evitando

    assim que estudantes que estão iniciando se frustrem ao tentar resolver problemas que exigem mais conhecimento, prática e técnicas;

    � Oferecer um ambiente onde os estudantes possam interagir trocando experiências relacionadas às técnicas usadas para solucionar problemas;

    � Possibilitar aos iniciantes em programação obter o auxílio de estudantes mais experientes;

    Os objetivos de criação do portal, acima apresentados, resultaram na criação de uma

    ferramenta com recursos importantes, interessantes e muitos deles inovadores. Nesse sentido, o portal URI Online Judge consegue agregar os recursos dos melhores portais de programação do mundo e, além disso, oferecer recursos não encontrados em nenhum outro, como, por exemplo, um nível de problemas para iniciantes, sistema de recompensa por badges, um módulo acadêmico completo para acompanhamento de listas de exercícios pelos alunos, ranking dos alunos por Universidade, entre outros.

    Em termos didáticos ou pedagógicos, fica muito mais fácil para o aluno compreender os assuntos abordados em sala de aula quando está resolvendo um problema prático que aborda estes temas de forma gradual e interativa. Além disso, o professor pode utilizar o módulo acadêmico do portal e disponibilizar listas de exercícios, acompanhando o desempenho de cada um dos seus alunos. O professor pode separar estas listas por assunto, delimitar prazos para resolução, conferir cada uma das soluções enviadas por cada um de seus alunos e acompanhar o seu progresso, podendo auxiliar os alunos que estão tendo mais dificuldades. Os alunos, por sua vez, podem resolver os exercícios tanto no período de aula quanto fora dele. Se precisar de ajuda, o aluno ainda pode contar com o Fórum onde cada problema tem dicas e usuários que podem lhe ajudar.

  • Vivências: Revista Eletrônica de Extensão da URI ISSN 1809-1636

    Vivências. Vol. 10, N.18: p. 237-249, Maio/2014 240

    4. MATERIAL E MÉTODOS

    O URI Online Judge apresenta 3 ambientes diferentes, totalmente integrados. São eles: o site principal para acesso pelos estudantes, um ambiente para uso exclusivo para professores e o fórum.

    A primeira etapa no desenvolvimento do projeto foi a criação da área principal, voltada ao estudante (Figura 1). Esta deveria atingir os objetivos apresentados acima, isto é, estar disponível em dois idiomas, apresentar uma interface atrativa, intuitiva, clara, bem organizada e completa além de conter um juiz automático para correção de soluções. O resultado pode ser conferido acessando os endereços:

    � http://www.urionlinejudge.com.br; � http://www.urionlinejudge.edu.br.

    Figura 1 – URI Online Judge

    A disponibilização do portal em língua inglesa possibilita a sua internacionalização, permitindo a sua utilização tanto por estudantes de países estrangeiros ao mesmo tempo em que incentiva os usuários brasileiros a praticarem o idioma que é fundamental na formação de estudantes de Computação.

    Segundo Yang (2002) internacionalização é a “Interação entre culturas através do ensino, investigação e serviços, com o objetivo último de atingir a compreensão mútua ultrapassando fronteiras culturais.”. Seguindo a mesma linha de pensamento Knight&DeWit (1999) afirmou que internacionalização é o “Processo de integração de uma dimensão internacional – competências interculturais, linguísticas, ou outras no ensino, investigação e serviços.”, não sendo somente um objetivo em si, mas sim um instrumento indispensável para cumprir os objetivos estratégicos da

  • Vivências: Revista Eletrônica de Extensão da URI ISSN 1809-1636

    Vivências. Vol. 10, N.18: p. 237-249, Maio/2014 241

    missão de cada universidade. A categorização de problemas permite ao usuário focar em um determinado assunto ao qual

    esteja com maior dificuldade em entender ou simplesmente queira praticar. Nesse sentido, optou–se em dividir todos os problemas do portal em oito grandes categorias (Figura 2). Figura 2 – Categorias

  • Vivências: Revista Eletrônica de Extensão da URI ISSN 1809-1636

    Vivências. Vol. 10, N.18: p. 237-249, Maio/2014 242

    Além da divisão de categorias, principalmente para novos usuários, é importante apresentar

    o assunto do problema, para que os estudantes possam visualizar aplicações práticas da teoria apresentada em aula. Para usuários mais avançados é interessante que essa opção possa ser desabilitada (através das configurações de conta do usuário) para que não atrapalhe no processo de interpretação do problema.

    O nível de dificuldade de cada problema (Figura 3) é representado por cores e varia de 1 a 10. O objetivo é possibilitar ao estudante resolver problemas que o seu nível de conhecimento e experiência permitam, sem a frustração resultante da tentativa de resolução de um problema de complexidade superior à qual ele teria condições de resolver.

    Figura 3 – Problema 1124: Elevador

    Conforme apresentado por Tonin e Bez (2013, p.34-38) cada problema tem uma opção denominada “Toolkit” , que permite que o estudante teste seu código fonte. Para isso ele insere um conjunto de entradas, que são processadas com o código fonte correto previamente cadastrado no portal, gerando as saídas.

    O URI Online Judge apresenta dois sistemas diferentes de ranking: � O ranking por problema, que apresenta os 20 usuários que resolveram um determinado

    problema de forma mais eficiente, ou seja, com o menor tempo de execução considerando as entradas cadastradas.

  • Vivências: Revista Eletrônica de Extensão da URI ISSN 1809-1636

    Vivências. Vol. 10, N.18: p. 237-249, Maio/2014 243

    � O ranking geral relaciona todos os usuários que submeteram ao menos um código fonte no portal. Quanto aos critérios de classificação são utilizados a quantidade de problemas resolvidos, a quantidade de problemas tentados e a quantidades de submissões.

    Existe uma página específica que apresenta todas as estatísticas do usuário, como por exemplo, o percentual de respostas recebidas, a quantidade de códigos enviados em cada linguagem aceita pelo portal e o progresso em cada uma das categorias.

    Cada estudante tem um perfil, o que possibilita uma maior integração entre eles. Este perfil apresenta alguns dados do usuário, como a lista de problemas resolvidos por ele com a sua respectiva posição no rank e as suas conquistas, que são representadas por Bagdes.

    Figura 4 – Perfil do Usuário

    A segunda etapa do desenvolvimento do projeto foi a criação da área do professor, denominada URI Online Judge Academic (Figura 5). Neste ambiente o professor pode criar disciplinas ou grupos e convidar os seus alunos que utilizam o portal para participarem. Ele também pode criar diversas listas de exercícios selecionando qualquer problema disponível no repositório. Uma lista permite a definição de uma data limite (deadline), a partir do qual ela não mais computa se o aluno resolveu ou não os problemas propostos.

  • Vivências: Revista Eletrônica de Extensão da URI ISSN 1809-1636

    Vivências. Vol. 10, N.18: p. 237-249, Maio/2014 244

    Figura 5 – URI Online Judge Academic

    Esse segundo ambiente permite a melhor utilização da ferramenta em sala de aula, dando mais controle ao professor e também facilitando o acompanhamento do progresso dos alunos (Figura 6). Assim, ele pode ajudar os que estão com mais dificuldades, ao mesmo tempo que permite que os outros alunos explorem problemas adicionais. O URI Online Judge Academic pode ser conferido acessando os endereços:

    � http://www.urionlinejudge.com.br/academic; � http://www.urionlinejudge.edu.br/academic.

    Figura 6 – Progresso dos Alunos

    A última etapa do desenvolvimento do projeto foi a criação do URI Online Judge Forum (Figura 7). Neste ambiente os alunos podem buscar dicas sobre a resolução dos problemas e principalmente, conseguir ajuda de outros usuários, permitindo também uma maior interação e troca de experiências.

  • Vivências: Revista Eletrônica de Extensão da URI ISSN 1809-1636

    Vivências. Vol. 10, N.18: p. 237-249, Maio/2014 245

    Figura 7 – URI Online Judge Forum

    Seguindo o mesmo modelo da ferramenta principal, o Forum também tem todos os problemas separados em oito categorias e em cada uma delas existe um tópico exclusivo para cada problema pertencente àquela categoria. Além disso, o fórum possui cerca de 20 moderadores voluntários de diversas localidades do Brasil que o acompanham diariamente respondendo dúvidas e ajudando a deixa-lo organizado. O resultado desta etapa pode ser conferido acessando os endereços:

    � http://www.urionlinejudge.com.br/forum; � http://www.urionlinejudge.edu.br/forum.

    5. RESULTADOS

    Desde que foi disponibilizado para o uso do público em geral, em 01 de fevereiro de 2012, o portal URI Online Judge apresentou resultados interessantes. Apresentamos abaixo a compilação destes resultados, até 14 de agosto de 2013, coletados através do Google Analytics (uma ferramenta para monitoramento de websites) e do módulo administrativo da ferramenta.

  • Vivências: Revista Eletrônica de Extensão da URI ISSN 1809-1636

    Vivências. Vol. 10, N.18: p. 237-249, Maio/2014 246

    Figura 8 – Crescimento da ferramenta em número de visitas

    Visitas: 160.384 Visitantes únicos: 39.497 Visualizações de página: 3.038.022 Páginas/visita: 18,94 Duração média da visita: 00:18:46 Porcentagem de novas visitas: 24,62% Google Analytics Problemas: 453 Submissões: 228.296 Média de submissões/dia: 427.52 Usuários: 6.624 Média de novos usuários/dia: 13.60 Professores: 73 Disciplinas/grupos: 83 Listas de exercícios: 192 URI Online Judge – Módulo Administrativo Além de possuir usuários de várias universidades do Brasil, o portal também é utilizado por

    alunos de instituições estrangeiras. A Figura 9 apresenta os países a partir dos quais a ferramenta é acessada. Os 10 primeiros, com mais acessos, são: Brasil, Indonésia, Bolívia, Estados Unidos, Vietnã, Índia, Polônia, República Dominicana, Malásia e Peru.

  • Vivências: Revista Eletrônica de Extensão da URI ISSN 1809-1636

    Vivências. Vol. 10, N.18: p. 237-249, Maio/2014 247

    Figura 9 – Visitantes por Países

    A Figura 10 apresenta os estados Brasileiros com maiores taxas de acesso. Os dois estados com o maior número de visitas são o Rio Grande do Sul (33.021) e Minas Gerais (29.219).

    Figura 10 – Visitantes por Estados do Brasil

    Os usuários do portal URI Online Judge podem opcionalmente identificar qual universidade

    pertencem. A Figura 11 lista algumas das instituições citadas.

  • Vivências: Revista Eletrônica de Extensão da URI ISSN 1809-1636

    Vivências. Vol. 10, N.18: p. 237-249, Maio/2014 248

    Figura 11 – Universidades Citadas Universidade Tecnológica Federal do Paraná (UTFPR – Brasil) Universidade Regional Integrada (URI – Brasil) Universidade do Oeste de Santa Catarina (UNOESC – Brasil) University of Indonesia (Indonesia) Universidad Privada de Santa Cruz de La Sierra (UPSA – Bolívia) Shahjalal University Of Science & Technology (SUST – Bangladesh) Pontificia Universidad Católica Madre y Maestra (PUCMM – República Dominicana) Politeknik Informatika Del (Indonesia) Karangturi Senior High School (KRTR – Indonesia) Intituto Nacional de Telecomunicações (INATEL – Brasil) Instituto Tecnológico de Aeronáutica (ITA – Brasil) Facultad Nacional de Ingenieria (FNI – Bolívia) Faculdade Politécnica de Uberlândia (FPU – Brasil) Universidade Federal do Ceará (UFC – Brasil) Centro Universitário do Triângulo (UNITRI – Brasil)

    Durante todo o período do projeto também foram coletadas muitas sugestões (feedbacks)

    que possibilitaram correções, aprimoramentos e implementação de novos recursos.

    6. ANÁLISE CRÍTICA DOS RESULTADOS

    Uma semana após estar online, estudantes da área de Computação de todo o país já estavam acessando o portal. Em menos de um mês de funcionamento, foi possível verificar através do Google Analytics que havia usuários regulares espalhados em todos os estados brasileiros e alguns de fora do Brasil.

    Com cerca de um ano e meio de funcionamento, é possível observar que o portal URI Online Judge está tendo uma aceitação excelente tanto nacionalmente quanto internacionalmente, sendo utilizado regularmente por estudantes do mundo inteiro, com uma excelente taxa de crescimento de usuários.

    7. CONCLUSÃO

    O portal é uma ferramenta inédita que foi construída para possibilitar a prática de algoritmos

    e programação por estudantes de Ciência da Computação e Engenharias. O objetivo inicial foi criar um portal para ser utilizado pela URI Campus de Erechim e

    posteriormente pelos outros Campi da Universidade. A grande aceitação acabou fazendo com que ele fosse utilizado rapidamente em todo o país e no exterior, promovendo a internacionalização do mesmo, divulgando o curso de Ciência da Computação e principalmente, o nome da Universidade.

    Acreditamos que a construção do URI Online Judge é uma grande contribuição para o aprendizado de algoritmos para todos os estudantes de ensino superior. A forma como ele é disponibilizado atualmente proporciona um ambiente moderno e agradável de educação à distância, onde as atividades desenvolvidas pelos professores em sala de aula podem ser complementadas na

  • Vivências: Revista Eletrônica de Extensão da URI ISSN 1809-1636

    Vivências. Vol. 10, N.18: p. 237-249, Maio/2014 249

    prática de forma dinâmica e interativa. 8. BIBLIOGRAFIA CAMPOS, Cassio P. de; FERREIRA, Carlos E. BOCA: um sistema de apoio a competições de programação, 2004. REVILLA, Miguel A.; MANZOOR, Shahriar; LIU, Rujia; Competitive Learning in Informatics: The UVa Online Judge Experience. International Olympiad in Informatics (IOI) Conference. El Cairo, Egypt. 2008. TONIN, Neilor A.; BEZ, Jean Luca; URI Online Judge: A New Classroom Tool for Interactive Learning, in: procedings of FECS’12 at WORLDCOMP’2012, págs. 242 a 246. TONIN, Neilor A.; BEZ, Jean Luca; URI Online Judge: A New Interactive Learning Approach, Computer Technology and Application, David Publishing, USA, Volume 4, Number 1, January 2013, págs. 34-38.