Experimento sobre o Uso de Tecnologias para o Aprendizado de Algoritmos e Estruturas de Dados Raquel Oliveira Prates, Luiz Chaimowicz, Jussara M. Almeida Departamento de Ciência da Computação Universidade Federal de Minas Gerais (UFMG) {rprates, chaimo, jussara}@dcc.ufmg.br Resumo. Este artigo descreve uma iniciativa de se investigar o impacto do uso de diferentes tecnologias, a saber Tablets PC e computadores Desktop, no ensino e aprendizado de Algoritmos e Estruturas de Dados. Embora o experimento ainda esteja em andamento, apresentamos aqui os resultados parciais já obtidos, destacando alguns desafios vivenciadas pelos professores para adoção da tecnologia, realização do experimento em si bem como aspectos relacionados à sua validação. Além disto, discutimos também o projeto e uso de quatro sistemas de apoio ao aprendizado específicos para algoritmos e estruturas de dados. 1. Introdução À medida em que a tecnologia vem cada vez mais se tornando parte do cotidiano das pessoas, ela tem se tornado mais presente também na educação. Pode-se notar um grande crescimento do uso de cursos ou disciplinas a distância, assim como uma tentativa de incorporar à sala de aula o uso de computadores. No entanto, o uso da tecnologia em sala de aula na maior parte das vezes é bastante limitada e restrita a algumas atividades, tais como a visualização de algoritmos [Lafore, 2002; JAC]. Existem vários fatores que contribuem para isto, incluindo aspectos práticos de acesso aos computadores bem como a resistência ou dificuldade por parte dos educadores de identificar como inovar seus métodos de ensino. Apesar dos desafios, indústria e academia têm investido em tecnologia de hardware e software para possibilitar a efetiva incorporação da tecnologia em sala de aula [CP, DyKnow, HP, Microsoft, UP]. Neste artigo, apresentamos alguns resultados preliminares de uma iniciativa para se investigar o uso de tecnologia em salas de aula, organizada pelo Departamento de Ciência da Computação (DCC) da Universidade Federal de Minas Gerais (UFMG) em parceria com a Hewlett-Packard (HP). Recentemente, o DCC/UFMG se tornou parte de um projeto da HP de apoio à educação superior [HP]. Neste projeto, a HP doou 21 Tablet PCs para o DCC, com o objetivo de que fossem utilizados no ensino de uma disciplina básica da área de Ciência da Computação. Iniciou-se então um experimento de uso dos Tablets PC na disciplina de Algoritmos e Estruturas de Dados II (AEDS II), além de uma comparação entre o uso de diferentes tecnologias em sala de aula e, na medida do possível, do uso ou não de alguma tecnologia. Embora o experimento ainda esteja em andamento, apresentamos aqui os resultados parciais já obtidos. Estes resultados são relevantes para a comunidade uma vez que abordam alguns desafios vivenciadas pelos professores para adoção da tecnologia, realização do experimento em si bem como aspectos relacionados à sua validação. Além disto, o desenvolvimento e uso de quatro sistemas de apoio ao aprendizado específicos para algoritmos e estruturas de dados são apresentados. O restante deste artigo é organizado da seguinte forma. A Seção 2 descreve o experimento sendo realizado, explicitando os passos adotados bem como os desafios enfrentados até então. Os sistemas de apoio ao aprendizado já desenvolvidos são apresentados na Seção 3. As conclusões sobre os resultados obtidos até então bem como próximos passos são sumarizados na Seção 4. 2. O Experimento – Desafios e Proposta Em 2006, o DCC/UFMG firmou uma parceria com a HP com o objetivo de investigar o uso da tecnologia de Tablet PC na modernização de disciplinas básicas do curso de Ciência da Computação. Para isso a HP doou ao DCC vinte Tablet PCs para alunos e mais um para o professor, além de projetor, impressora e outros recursos para iniciar a manutenção do equipamento para sala de aula. O Tablet PC nada mais é do que um laptop com suporte para uma maior interatividade do usuário. Além da comunicação via rede sem fio, o que facilita a mobilidade dos usuários, ele permite um estilo de interação com uma caneta digital, possibilitando o reconhecimento de manuscritos. Enfim, ele pode ser visto como um caderno eletrônico com acesso à Internet. Logo, o Tablet PC é uma tecnologia móvel que facilita a interação entre alunos e com o professor, oferecendo formas simples de fazer anotações e troca entre os participantes [Anderson et al., 2006; Willis e Miertschin, 2004]. É, portanto, uma tecnologia que tem um grande potencial para uso em sala de aula. A disciplina selecionada para o estudo foi Algoritmos e Estruturas de Dados II, uma disciplina básica que consta do currículo de vários cursos oferecidos na UFMG. O seu conteúdo pode ser dividido em 3 grandes módulos: (a) Conceitos de Tipos Abstratos de Dados, Análise de Complexidade, Recursividade e Listas, Pilhas e Filas (b) Algoritmos de Ordenação e (c) Algoritmos de Pesquisa. O experimento com os Tablet PCs tem por objetivo identificar os benefícios de se usar mais tecnologia em sala de aula. Para isso, o objetivo era comparar não apenas o uso do Tablet PC em relação aos recursos normalmente utilizados (transparências ou canhão de projeção), mas também em relação a outras tecnologias, especificamente computadores Desktop. Assim, o experimento previa o ensino e posterior avaliação de 3 turmas de Algoritmos e Estruturas de Dados II, cada uma fazendo uso de uma tecnologia distinta. Para que a comparação fosse possível, cada um dos 3 módulos da disciplina foi ministrado pelo mesmo professor às 3 turmas. O material a ser utilizado pelo professor deveria ser, senão o mesmo, tão próximo quanto possível nas 3 turmas. Um dos desafios previstos seria a reformulação da maneira como a disciplina era ministrada, até então simplesmente através de aulas expositivas, listas de exercícios e trabalhos feitos em horário extra-classe. Em preparação para o experimento, em 2006-2 (antes dos Tablets PC serem recebidos) tentamos ministrar a disciplina utilizando laboratórios de computadores, fazendo o revezamento de professores. No entanto, a tentativa foi frustrada em alguns pontos, permitindo a identificação de problemas a serem resolvidos. Embora tenha sido reservado um laboratório de ensino da graduação do Instituto de Ciências Exatas (ICEx) da UFMG, os atrasos causados pela configuração inicial dos equipamentos além de eventuais problemas que afetavam e/ou inviabilizavam temporariamente o seu uso resultou na desistência do uso do laboratório e o retorno para o uso de transparências em sala de aula. Claramente, a disponibilidade da tecnologia por si só não foi suficiente para que seu uso fosse efetivo. Além disto, foi verificado que o material disponível (transparências) para a disciplina era bastante direcionado à aula expositiva, e, logo, não tirava proveito do uso da tecnologia. Ainda assim, tentou-se tornar o curso mais interativo com maior participação dos alunos, o que também se mostrou um desafio. Em 2007-1, mesmo já estando os Tablet PCs disponíveis para o experimento, optou-se por adiar o seu início efetivo, usando o semestre para uma melhor preparação das limitações identificadas visando fazer melhor uso da tecnologia. Assim, neste semestre investiu-se em: • Geração de sistemas específicos ao conteúdo de Algoritmos e Estruturas de Dados II que pudessem ser utilizados dentro e fora de sala de aula pelos alunos. • Contínua alteração do curso para torná-lo mas interativo. Para isso, cada professor tentou em suas turmas de AEDS II incorporar mais atividades a serem feitas pelos alunos, como exercícios e discussões. • Preparação dos professores para a nova tecnologia, através do uso do Tablet PC (pelo professor) para ensino de AEDS II e do oferecimento de uma disciplina optativa para avaliação e desenvolvimento de sistemas para o Tablet PC. • Realização de uma pesquisa sobre os sistemas de apoio ao ensino em sala de aulas com uso de computadores, mais especificamente Tablet PCs. • Definição da logística para uso e manutenção dos Tablet PCs. Foram identificados três sistemas de apoio ao uso de computadores, particularmente Tablet PCs, em sala de aula, a saber o Classroom Presenter [CP, Anderson et al., 2006], o Ubiquitous Presenter [UP] e o DyKnow [DyKnow]. Estes sistemas permitem ao professor escrever direto sobre a apresentação (utilizando a caneta do Tablet PC) e imediatamente suas anotações são disponibilizadas a todos os alunos , e ao aluno fazer suas próprias antoações e também enviar trabalho sendo feito em aula para discussão ou correção em sala. Os trabalhos podem ser corrigidos anonimamente, o que permite a ilustração de problemas vivenciados por alguns alunos, sem criar constrangimentos para estes alunos. Isto permite também ao professor ter um melhor conhecimento das dúvidas que os alunos têm tido. Os três sistemas identificados foram avaliados localmente. Escolhemos o Classroom Presenter por ser gratuito e poder ser instalado e gerenciado localmente. Finalmente, iniciamos o experimento em 2007-2. Duas turmas de AEDS II foram selecionadas para serem ministradas com uso de tecnologia, uma com os Tablets PCs e a outra com desktops. Devido ao número restrito de Tablet PCs e ao tamanho dos laboratórios limitou-se cada turma a 20 alunos. Infelizmente, devido ao grande número de turmas de AEDS II, não foi possível ministrar também uma turma sem uso de tecnologia com o mesmo número de alunos (turmas regulares têm entre 40 e 55 alunos). De todo jeito, cada um dos três professores está responsável também por uma turma regular. O sistema Classroom Presenter está sendo utilizado para acompanhamento e anotações dos alunos sobre as aulas tanto no Tablet PC, quanto no laboratório. Um dos pontos relevantes sobre o experimento é como ele será avaliado para se obter os indicadores desejados. Assim, apresentamos o que pretendemos observar com o experimento, e como pretendemos coletar os dados que gerem indicadores sobre os pontos desejados. 1. O uso de tecnologias permite um melhor desempenho do aluno? Alguma tecnologia específica (Tablet PC ou desktop) favorece mais o desempenho? Para avaliar estes pontos serão comparados o desempenho dos alunos entre as turmas usando cada tecnologia com o desempenho das turmas regulares. Prevemos a obtenção de apenas indicadores preliminares, uma vez que as turmas participando do experimento são de cursos diferentes e não necessariamente têm o mesmo perfil. Além disso, a comparação com o desempenho de turmas regulares não poderá ser conclusiva, uma vez que o número de alunos em sala de aula pode ser um fator relevante no desempenho da turma. 2. O uso da tecnologia aumenta a motivação ou satisfação do aluno com a disciplina? Este ponto será avaliado a partir da coleta da opinião dos alunos sobre a sua experiência e satisfação em assistir a aula fazendo uso da tecnologia. 3. O uso da tecnologia facilita o trabalho do professor para preparar e/ou ministrar a aula? O professor percebe melhorias no ensino e aprendizado da disciplina com o uso da tecnologia? Estes pontos serão avaliados a partir da coleta das opiniões dos professores sobre as suas experiências para preparar e ministrar a disciplina em cada turma. A partir dos indicadores obtidos pretendemos definir os próximos passos na investigação sobre o impacto do uso da tecnologia em sala de aula. 3. Sistemas de Apoio à Disciplina de Algoritmo e Estrutura de Dados Para que se pudesse fazer um maior uso da tecnologia em sala de aula foi identificada a necessidade de tornar disponível aos alunos alguns sistemas que os permitissem executar os exercícios desejados durante a aula usando a tecnologia disponível. Embora o Classroom Presenter facilite a discussão com a turma de exercícios resolvidos individualmente (usando caneta ou teclado), e ambientes de programação permitam a resolução de alguns exercícios de implementação, o objetivo era que fosse possível ter sistemas que focassem em conteúdos específicos da disciplina e permitissem a exploração de novas atividades de aprendizado com os alunos. Desta forma, optou-se pelo desenvolvimento de ambientes de apoio ao aprendizado específicos aos conteúdos de AEDS II. Antes de apresentarmos a descrição de cada sistema desenvolvido, descrevemos brevemente algumas considerações feitas na definição e modelagem dos sistemas. Primeiramente, o objetivo é que desenvolvêssemos ambientes de aprendizado, ou seja, ambientes que dão apoio ao trabalho feito para se alterar o conhecimento do aluno sobre um assunto [Carey et al. 1998]. Desta forma, o objetivo dos sistemas era permitir ao aluno interagir com conceitos e métodos relevantes de forma a auxiliá-los na consolidação destes. Foram selecionados dois tipos de sistemas a serem desenvolvidos: 1. Jogos: jogos que permitissem aos alunos consolidar conceitos apresentados em sala de forma lúdica; 2. Apoio ao aprendizado: ambientes que permitissem aos alunos colocar em prática conceitos ou métodos vistos em sala, e que lhes oferecessem apoios (ou scaffolds) que auxiliassem no aprendizado. Este tipo de apoio é oferecido enquanto for necessário para auxiliar o aluno no aprendizado até que ele adquira o conhecimento desejado [Quintana et al. 2001, Cezar et al. 2002]. Para fazer a descrição e modelagem destes sistemas foi usado o Modelo de Representação de Apoio ao Aprendizado [Prates et al., 2005] que permite a descrição das tarefas a serem realizadas pelo aluno para executar a atividade de aprendizado e associado a cada tarefa, os apoios previstos a serem disponibilizados ao aluno. Assim, foram selecionados alguns tópicos da disciplina para os quais foram então modelados e desenvolvidos 4 sistemas. Os tópicos contemplados foram Recursividade (sistema Belesminha), Listas encadeadas (sistema Apontando), Métodos de ordenação (sistema ProfesSort) e Métodos de pesquisa (sistema Aventura Solo). A seguir descrevemos cada um destes sistemas e o uso feito dele com os alunos. Belesminha O Belesminha é um jogo que tem por objetivo permitir aos alunos exercitar conceitos de recursividade vistos em sala de aula. Basicamente, o jogador controla uma “lesma” chamada “Belesminha” que deve passar por vários desafios para encontrar a sua amada, a “Belesmoca”. Cada desafio é composto por uma seqüência de posições em um grid 2D que a “belesminha” deve percorrer coletando folhas. Em cada desafio, existe um número máximo de comandos e chamadas de subprogramas (dado por um tamanho máximo da pilha de execução) que podem ser executados. O controle da lesma é feito através de comandos (frente, direita, esquerda), que podem ser agrupados em funções e chamados recursivamente. O aluno deve portanto elaborar uma estratégia para a correta execução de comandos e chamadas recursivas de forma a coletar todas as folhas, sem ultrapassar o limite máximo de comandos ou estourar a pilha de execução. Durante a execução, o aluno pode observar o movimento da lesma pelo cenário bem como o conteúdo da pilha à medida que as chamadas recursivas são efetuadas. Com isso, ele tem a oportunidade de exercitar conceitos importantes como chamadas recursivas, condição de parada, pilha de execução, etc. A Figura 1 mostra uma tela do jogo. Figura 1: Tela do jogo “Belesminha". O Belesminha foi utilizado em sala de aula através de uma competição, onde os alunos trabalhando individualmente no computador tentavam superar o maior número possível de desafios. Além da competição, o sistema foi disponibilizado na página da disciplina para o uso fora de sala de aula. Apontando O Apontando é um sistema desenvolvido com o objetivo de auxiliar o ensino de listas encadeadas e apontadores. O sistema permite que o aluno manipule células e ponteiros de uma lista encadeada de forma visual, o que permite uma melhor compreensão da forma como as operações são executadas. A partir de uma lista encadeada inicial o usuário poderá retirar e inserir elementos na lista movimentando os ponteiros. Isso pode ser feito através do mouse ou, no caso do Tablet PC, usando os recursos da caneta. A cada interação correta o sistema gera um pseudo-código relativo à modificação efetuada. Já em caso de erros, o sistema gera questões de ajuda disponibilizadas por um assistente. O aluno pode utilizar também um menu com várias questões sobre o sistema e sobre a matéria podendo assim tirar dúvidas. A Figura 2 mostra uma tela do sistema. Figura 2: Tela do Apontando. ProfesSort O ProfesSort é um sistema que tem por objetivo auxiliar os alunos no aprendizado dos algoritmos de ordenação. Através da execução passo a passo dos algoritmos, os alunos têm a oportunidade de compreender melhor e exercitar alguns dos algoritmos de ordenação estudados em sala. O sistema permite que os alunos observem e controlem a execução do algoritmo indicando, por exemplo, qual é o próximo passo que deve ser executado, quais elementos devem ser escolhidos para troca, etc. Durante a execução, são oferecidos quatro tipos de apoio (scaffolds) aos alunos: 1. Perguntas sobre o método – A cada passo do método o sistema oferece a possibilidade de tirar suas dúvidas através do uso de perguntas pré-determinadas sobre o conteúdo sendo aprendido. 2. Mensagens de erro graduais – O aluno é encorajado a refletir sobre o erro cometido, recebendo aos poucos dicas sobre a resposta correta, ao invés de receber a resposta diretamente. 3. Visão completa das opções – Todos os passos possíveis no algoritmo são exibidos para que o aluno faça a escolha do próximo passo a ser executado. O vetor sendo ordenado também é visualizado com a utilização de diferentes cores para indicar , por exemplo, qual sub-vetor está em execução, qual já foi ordenado, etc. 4. Botões de auxílio – Permite ao aluno retornar ao passo anterior, ver qual passo deve ser executado ou executar um ou mais passos automaticamente. Uma tela do sistema pode ser vista na Figura 3. Perguntas Vetor em manipulação Visualização do código e do histórico de execução Mapa de opções Botões de ajuda Esquema de cores Figura 3: Tela do Professort. Além do uso em sala de aula e da disponibilização do software para uso pelos alunos, também foram realizados testes com alunos em laboratório de usabilidade. Observou-se nesses experimentos que os alunos tiveram facilidade no uso do software e que após uma ou duas ordenações eles passaram a cometer menos erros. Além disso, uma análise dos questionários respondidos pelos alunos mostraram que o sistema foi bem avaliado, principalmente com relação aos scaffolds presentes. Aventura Solo De forma geral Aventuras-Solo são estórias segmentadas nas quais o leitor possui uma participação ativa nas decisões do personagem principal. Assim, a estória não pode ser considerada linear, pois a mesma apresenta vários desfechos e fluxos possíveis. Nesse contexto, foi desenvolvido um aplicativo Web que permite a criação de uma estória fictícia na qual o aluno estará envolvido. Para avançar na estória ele deverá resolver desafios relacionados à matéria lecionada. Dependendo do sucesso na resolução dos desafios, o aluno será direcionado à novos desafios ou a páginas de auxílio / revisão da matéria contendo dicas de como resolvê-los. Portanto, trata-se de uma ferramenta que pode ser usada em qualquer um dos módulos da disciplina. Essa ferramenta está em fase final de desenvolvimento e será utilizada durante o ensino dos algoritmos de pesquisa. 4. Conclusões Este artigo discutiu o projeto e a execução (ainda em andamento) de um experimento de uso de tecnologias, particularmente de Tablet PCs, no ensino de algoritmos e estruturas de dados. Os desafios enfrentados pelos professores, particularmente no que tange a adoção da nova tecnologia e adequação do curso e material utilizado à mesma foram apresentados. Quatro novos sistemas de auxílio ao ensino de tópicos específicos, particularmente recursividade, listas encadeadas e apontadores, algoritmos de ordenação e de pesquisa, foram desenvolvidos. Avaliações preliminares do uso destes sistemas pelos alunos geraram indicadores positivos quanto à utilidade dos mesmos no aprendizado bem como no interesse e motivação despertados nos alunos. O experimento está em fase de conclusão com o final do semestre corrente. Pretendemos coletar dados junto aos alunos e professores visando explorar as questões discutidas na Seção 2. Como resultado desta análise, iremos reavaliar a metodologia aplicada no experimento visando uma nova instância no próximo semestre. 5. Referências [Anderson et al., 2006] Anderson, Richard; Anderson, Ruth; Chung, Oliver; Davis, K. M.; Davis, Peter; Prince, Craig; Razmov, Valentin and Simon, Beth. Classroom Presenter - A Classroom Interaction System for Active and Collaborative Learning, Proc. WIPTE 2006 [Carey et al., 1998] Carey, T.T., Harrigan, K.A. & Palmer, A. (1998). “Mediated Conversations for Cognitive Apprenticeship”. Proc. of the International Conference of the Learning Sciences, Atlanta, GA. (pp. 299-301). [Cezar et al., 2006] Cezar, E. S., Santos, N., Prates, R. O. . O Uso de Scaffolds no Projeto de Software Educacional. Cadernos do IME, Vol. 22, p. 21-32. [CP] UW Classroom Presenter. http://www.cs.washington.edu/education/dl/presenter/ (Última visita Fev 2007) [DyKnow] DyKnow. Disponível em http://www.dyknow.com/ (Última visita Fev 2007) [HP] http://www.hp.com/hpinfo/grants/us/programs/tech_teaching/hied_global.html [JAC] Java Applet Centre, University of Canterbury. Disponível em http://www.cosc.canterbusy.ac.nz/people/mukundan/dsal/appldsal.html (Última visita 02/07) [Lafore, 2002] Lafore, Robert. Data Structures and Algorithms in Java, SAMS, 2a. edição. Visualização de algoritmos de visualização disponíveis em: http://mainline.brynmawr.edu/Courses/cs206/spring2004/lafore.html (Última visita Fev 2007) [Microsoft] http://research.microsoft.com/ur/us/fundingopps/RFPs/TabletPC_RFP_2006.aspx [Prates et al., 2005] Prates, R. O.; Figueiredo, R. M. V. (2005) An Experience with an Enriched Task Model for Educational Software. Proceedings CHI 2005, New York: ACM, 2005. [Quintana et al., 2001] Quintana, C., Carra, A., Krajcik, J. and Soloway, E. Learner-Centered Design: Reflections and New Directions. In J.M. Carroll (Ed.) Human Computer Interaction in the New Millennium, ACM Press (2001), 605-626. [UP] Ubiquitous Presenter. Disponível em: http://up.ucsd.edu/ (Última visita Fev 2007) [Willis e Miertschin, 2004] Willis, C. e Miertschin, L. Tablet PC's as instructional tools or the pen is mightier than the 'board!. Proc. 5th Conf. on Information Technology Education.