|
Acadêmico(a): Rafael Adriano |
Título: Webide 2.0 : um ambiente web usando GWT-EXT para acompanhamento e desenvolvimento de exercícios de programação |
|
Introdução: |
A disciplina de programação é uma das disciplinas chaves na formação do profissional da computação. No entanto ela apresenta grande nível de dificuldade no processo de ensino/aprendizagem. Consequentemente a comunidade acadêmica tem se mostrado preocupada com o desempenho dos alunos nas disciplinas introdutórias de programação (XAVIER, 2004).
Para o sucesso no aprendizado de algoritmos exige-se um forte comprometimento por parte dos alunos em praticar os exercícios fornecidos pelo professor, assim como outras tarefas extras. É requerida também do professor uma atenção personalizada ao aluno para respeitar seu ritmo individual de aprendizado, seja corrigindo vários exercícios como complementando com seus comentários (VAHLDICK; LOHN, 2008).
Para acompanhar os alunos na sua desenvoltura nas disciplinas de programação, hoje se veem necessários softwares para auxiliar professores no progresso individual do aluno, pois segundo Branco e Schuvartz (2007), acadêmicos iniciantes, ao se depararem com a disciplina, sentem-se incapazes de programar, devido ao conjunto de habilidades que a programação exige como capacidade para solucionar problemas, raciocínio lógico, habilidade matemática, capacidade de abstração, entre outras.
Os Sistemas Tutores Inteligentes (STI) podem ajudar os professores neste processo, pois, segundo Moreira (2007), eles conseguem proporcionar o ensino individualizado criando caminhos para o aprendizado de acordo com as necessidades do estudante. Este tipo de sistema consegue automatizar a tarefa do professor ao corrigir as atividades dos alunos e indicar o próximo passo que o aluno deve seguir. O aluno desenvolve o algoritmo, que pode devolver a resposta desejada, mas a sua estrutura pode não ser a melhor para alcançar o resultado. Por consequência, tal tipo de avaliação ainda precisa ser efetuada por pessoas experientes.
Decorrente dos fatos acima expostos, e com intuito de melhorar o processo, foi proposto em Lohn (2008) um ambiente web, onde o aluno pode desenvolver os exercícios, acessando os enunciados no próprio ambiente, e o professor (ou monitor) acompanhar e comentar a resolução neste mesmo ambiente. Além de editar os programas, o professor, monitor e aluno também podem compilá-los, executá-los e depurá-los. Com esta possibilidade, o professor avalia o programa e devolve o resultado da avaliação para o aluno e este ciclo se repete até o aluno alcançar o objetivo do exercício.
O ambiente foi disponibilizado como aplicação web, por facilitar a interação com o usuário através de navegadores, dispensando a instalação do software e deixando mais flexível o local onde o aluno desenvolverá os exercícios.
O trabalho aqui apresentado é uma reimplementação baseando-se nos requisitos funcionais do trabalho de Lohn (2008), com intuito de desenvolver um ambiente com melhor usabilidade e robustez. Para isso a nova implementação usou o framework GWT (GOOGLE, 2010a), junto com a biblioteca Ext JS (EXTJS, 2010) para a interface com o usuário e a arquitetura JPDA (SUN MICROSYSTEMS, 2010a) para depuração.
GWT é um framework AJAX, com o objetivo de facilitar o desenvolvimento de telas web em JavaScript, onde, através de código Java o compilador do GWT traduz para JavaScript (GOOGLE, 2010a). Além desta facilidade, a biblioteca do Ext JS deixa as telas com estilo de aplicação desktop. A interface atual do ambiente não era intuitiva. Além disso, faltavam alguns recursos básicos para um ambiente de programação, como número de linhas, content assist e syntax highlighting.
JPDA é uma arquitetura de depuração multicamadas que permite aos desenvolvedores de ferramentas criarem facilmente aplicações de depuração, portáveis em várias plataformas e implementações de máquina virtual (SUN MICROSYSTEMS, 2010a). A tecnologia de depuração utilizada pelo trabalho de Lohn (2008) é bastante precária, pois a comunicação era através de Strings, onde era preciso implementar um parser para obter as informações da depuração, deixando o recurso muito vulnerável a erros e a perda de performance, resultando em falhas neste processo por parte do usuário e limitando as informações apresentadas.
|
|
|