uri online judge e a internacionalização da universidade

Transcrição

uri online judge e a internacionalização da universidade
Vivências: Revista Eletrônica de Extensão da URI
ISSN 1809-1636
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
Internationalization.
1
2
Judge,
Educational
Web
Tool,
Algorithms,
Programming,
Estudante de Ciência da Computação, URI Campus de Erechim, [email protected]
Mestre em Ciência da Computação, URI Campus de Erechim, [email protected]
Vivências. Vol. 10, N.18: p. 237-249, Maio/2014
237
Vivências: Revista Eletrônica de Extensão da URI
ISSN 1809-1636
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/
uHunt - http://uhunt.felix-halim.net/
5
SPOJ - http://www.spoj.pl/
6
BOCA Online Contest Administrator - http://www.ime.usp.br/~cassio/boca/
4
Vivências. Vol. 10, N.18: p. 237-249, Maio/2014
238
Vivências: Revista Eletrônica de Extensão da URI
ISSN 1809-1636
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. Vol. 10, N.18: p. 237-249, Maio/2014
239
Vivências: Revista Eletrônica de Extensão da URI
ISSN 1809-1636
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. Vol. 10, N.18: p. 237-249, Maio/2014
240
Vivências: Revista Eletrônica de Extensão da URI
ISSN 1809-1636
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. Vol. 10, N.18: p. 237-249, Maio/2014
241
Vivências: Revista Eletrônica de Extensão da URI
ISSN 1809-1636
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. Vol. 10, N.18: p. 237-249, Maio/2014
242
Vivências: Revista Eletrônica de Extensão da URI
ISSN 1809-1636
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. Vol. 10, N.18: p. 237-249, Maio/2014
243
Vivências: Revista Eletrônica de Extensão da URI
ISSN 1809-1636
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. Vol. 10, N.18: p. 237-249, Maio/2014
244
Vivências: Revista Eletrônica de Extensão da URI
ISSN 1809-1636
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. Vol. 10, N.18: p. 237-249, Maio/2014
245
Vivências: Revista Eletrônica de Extensão da URI
ISSN 1809-1636
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 <http://www.google.com/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. Vol. 10, N.18: p. 237-249, Maio/2014
246
Vivências: Revista Eletrônica de Extensão da URI
ISSN 1809-1636
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. Vol. 10, N.18: p. 237-249, Maio/2014
247
Vivências: Revista Eletrônica de Extensão da URI
ISSN 1809-1636
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. Vol. 10, N.18: p. 237-249, Maio/2014
248
Vivências: Revista Eletrônica de Extensão da URI
ISSN 1809-1636
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.
Vivências. Vol. 10, N.18: p. 237-249, Maio/2014
249

Documentos relacionados

o uso das tecnologias nas aulas de biologia

o uso das tecnologias nas aulas de biologia entre o sujeito e a máquina. Também defende três mudanças nas escolas para que possa ter melhor acesso à informação: tomada de decisão no acesso à informação, integração dos meios e multiplicidade ...

Leia mais