You are on page 1of 9

A Utilização da Animação Digital no Processo de EnsinoAprendizagem de Estrutura de Dados

Thaís Santos Santana, Nair Cristina dos Santos Ribeiro, Soraia Silva Prietch Curso de Licenciatura Plena em Informática – Universidade Federal de Mato Grosso – Campus de Rondonópolis Rodovia Rondonópolis-Guiratinga, KM 06(MT 270) – Bairro Sagrada Família – CEP 78735-901 – Rondonópolis/MT
thaistsantos@hotmail.com, nair.ribeiro@gmail.com, soraia@ufmt.br

Abstract. This article deals with a study on the teaching of Data Structure and use of animation focusing on the importance of software-based motion graphics for teaching and learning, particularly in the discipline, and believes that a different view in a positive way helps the understanding of abstractions of an algorithm, which is often responsible for causing difficulties in the majority of students. It was developed in this study a simple animation to demonstrate the functioning of cells and structures queues, showing that this type of simulation can easily be developed and inserted into the teaching practice of teachers who teach subjects with abstract content. Resumo. Esse artigo trata de uma pesquisa sobre o ensino de Estrutura de Dados e a utilização de animação enfocando a importância de softwares baseados em animações gráficas para o ensino-aprendizagem, em especial dessa disciplina, e considera que uma visualização diferenciada auxilia de forma positiva o entendimento das abstrações de um algoritmo, que muitas vezes é responsável por causar dificuldades na maioria dos alunos. Foi desenvolvida nessa pesquisa uma animação simples para demonstrar o funcionamento das estruturas Pilhas e Filas, mostrando que esse tipo de simulação pode facilmente ser desenvolvido e inserido na prática de ensino de professores que ministram disciplinas com conteúdos abstratos.

1. Introdução
Para facilitar o processo de ensino-aprendizagem das disciplinas de algoritmos e estrutura de dados são utilizados recursos audiovisuais que possibilitam ao aluno absorver melhor o conteúdo que lhe está sendo ministrado. Os softwares que utilizam animações, bem como as demais ferramentas educacionais que exploram o desenvolvimento da prática auxiliam o aprendiz a caminhar da compreensão abstrata para o entendimento real da funcionalidade de uma determinada estrutura. [Santos e Costa 2006] O objetivo principal da pesquisa, apresentada neste artigo, é abordar a tendência de utilizar ferramentas computacionais como ambientes de estudo da disciplina de estrutura de dados, mostrando exemplos de softwares já desenvolvidos com esse intuito e que utilizam animações, além da visualização da implementação de exemplos de dois tipos de estruturas de dados, pilhas e filas, utilizando animação gráfica. Para atingir os objetivos esperados foram realizadas pesquisas literárias de diversas fontes

As disciplinas de algoritmos e estrutura de dados requerem o raciocínio lógico. focalizando as estruturas Pilhas e Filas. permitindo ao mesmo uma visualização da prática de suas aulas e ao discente desenvolver e testar suas soluções podendo-se perceber na prática. o estudo das estruturas de dados envolve dois objetivos complementares:   teórico: identificar e desenvolver modelos matemáticos. bem como a definição e aplicação de animações no ensino dessas estruturas. pois a carga horária desses conceitos abstratos. de modo homogêneo sob uma interface consistente. Revisão de Literatura Nessa Seção serão abordados conceitos acerca da disciplina de Estrutura de dados.bibliográficas sobre o assunto abordado. programação e estrutura de dados em cursos de graduação em Computação e Informática. visto que. A finalidade de cada uma das animações. de acordo com o modelo considerado. que enfatize animação gráfica. que são pré-requisitos necessários. Além de ser um recurso de apoio ao professor. Conforme Pereira (1996). testes com algumas ferramentas para a criação de animações. normalmente. pode ser bastante útil para facilitar o processo de aprendizagem. prático: criar representações concretas dos objetos e desenvolver rotinas capazes de atuar sobre estas representações. O uso de um produto de software educacional. são conceitos abstratos e diferentes para os iniciantes na área. Utilizar animações no ensino dessas disciplinas pode ser muito valioso. e. influenciem de maneira positiva a resolução de exercícios e as avaliações. [Santos e Costa 2005] Podem ser citados alguns exemplos de softwares que utilizam animações criadas com objetivo de melhorar a qualidade do ensino de programação:  ASTRAL: desenvolvido pela UNICAMP. nos primeiros anos dos cursos dessa área é significativa e pode ser decisiva para a motivação dos estudantes e para o desempenho nas disciplinas mais avançadas. 2. visou atender as necessidades de preparação de diversos exercícios de implementação de estruturas de dados utilizando animações gráficas. 2. Diante de uma já comprovada [Santos e Costa 2005] necessidade de ampla compreensão das disciplinas de algoritmos. deve ter como pré-requisitos o conhecimento de lógica de programação e o domínio de uma linguagem de programação. melhorando a qualidade do material das aulas. bem como o desenvolvimento de uma animação utilizando o programa Flash. determinando que classes de problemas podem ser resolvidos com o uso deles. ou exercícios. e podem ser até mesmo causa de evasão ou reprovação nos cursos. deve-se relevar a importância de um bom ensino desses fundamentos. que prendam sua atenção. e também da dificuldade de aprendizagem por parte dos alunos. é que o usuário entenda o . pois o aluno. que muitas vezes encontram dificuldade na aprendizagem. se interessa por aulas diferenciadas.1. Ensino de Estrutura de Dados Estrutura de dados é uma disciplina básica nos cursos da área de computação.

a animação nada mais é que a descrição de imagens em movimento. como interface. função do professor. feedback. Animação Arte de dar vida a imagens tem no movimento a sua essência. Rezende. [Boff e Reategui 2005] Observando os softwares relacionados acima é possível perceber que. documentação. Barbosa 2006]   A partir do teste dos softwares já desenvolvidos. possui uma interface de fácil navegabilidade. [Santos e Costa 2005] ODIN: ambiente web de apoio ao processo de ensino-aprendizagem das listas encadeadas. [Garcia. é interessante que a ferramenta a ser utilizada como apoio nas aulas tenha uma interface de fácil navegabilidade. O objetivo é perceber o funcionamento de aplicações. Calheiros 1997]  TBC: um produto de software que tem como objetivo auxiliar no processo de ensino-aprendizagem de algoritmos e estrutura de dados. [Varanda. E o movimento. recursos adaptáveis e adaptativos. consiga acompanhar os passos necessários para alcançá-lo e seja capaz de fazer sua própria implementação de cada algoritmo. com visualização das funções primitivas de listas encadeadas. facilitando a visualização e entendimento. ou em quais as teorias sociais se baseiam esse software. por meio de animações interativas sobre uma interface. Ele analisa tópicos básicos de programação. essa arte tem se tornado cada vez. se pode perceber as características comuns entre eles ou o diferencial de cada um. Martins. E. é a atração visual mais intensa da atenção. [Lucena Júnior 2005] A animação de um algoritmo é um tipo de visualização dinâmica de suas principais abstrações. mais popular e apreciada. [Madeira. são avaliados os aspectos técnicos. o que torna o uso da animação bastante útil para expressar diversas mensagens de forma diferente e até mesmo descontraída.2. 2. na segunda. Henriques 1999] . que seja construtivista. que fica dividido em duas etapas: na primeira etapa é feita a avaliação dos aspectos pedagógicos verificando se o software foi desenvolvido para suportar a aprendizagem de forma construtivista ou comportamentalista. [Simões. Martins 2005] SPYKE: disponibiliza ao usuário um ambiente rico em informações sobre os diferentes métodos de se implementar pilhas e filas. no ensino de disciplinas de difícil absorção dos conteúdos como é o caso da Estrutura de Dados. A partir do surgimento das ferramentas computacionais para desenho e animação.seu objetivo. onde os acadêmicos possam interagir e adquirir conhecimento. demonstrando graficamente a execução dos algoritmos passo a passo. Simões. onde a animação vai sendo mostrada de forma progressiva respondendo a ações do utilizador. com visualização dos resultados passo a passo. tornando real a interação. conteúdo. com conteúdos teóricos e processo gráfico passo a passo. onde o aluno possa construir seu conhecimento nessa ferramenta. O Núcleo de Avaliação de Software Educativo (NASE) da Universidade de Caxias do Sul desenvolveu diretrizes que podem ser usadas no processo de avaliação de softwares. Baldessar. possibilitando ao usuário a construção do conhecimento nessa área de estudo.

trabalha com desenhos vetoriais. e também. As duas operações básicas são tradicionalmente chamadas de: (1) push: insere um novo elemento no topo da pilha. permite criar animações usadas em websites. Martins. Nas filas.Existem muitos softwares para criação de animações 2D e 3D. as pilhas são estruturas onde todas as inserções. faz com que a pilha diminua. Pencil: programa leve e gratuito. devido à dificuldade em imaginar essas estrutura e entender seu funcionamento. De acordo com Schildt (1997). [Schildt 1997] . Barbosa 2006]. Pilhas e Filas Para o estudo de pilhas e filas. É possível utilizar tanto o bitmap como gráficos vetoriais para as animações. (2) pop: remove um elemento do topo da pilha. não permitindo o acesso a nenhum item específico. assim o primeiro prato na mesa é o último a ser usado e o último prato colocado na pilha é o primeiro a ser usado. essa operação aumenta o tamanho da pilha. isto é. às variadas formas de se inserir ou remover dados nessas estruturas [Simões. linha-de-tempo e camadas assim como o Flash. removendo e retornando o elemento existente no seu topo. Baldessar. alguns até mesmo gratuitos e de fácil entendimento. Já as filas. pela complexidade e características exclusivas a cada TAD. Para visualizar uma pilha imagine uma pilha de pratos. o primeiro item colocado na fila é o primeiro a ser retirado e o último a ser colocado é o último a ser retirado. segundo Piologo (2009). o aluno deve possuir uma boa experiência em uma linguagem de programação. prático e de fácil utilização. Primeiro a sair”. São denominadas listas LIFO (Last-In/First-Out – Último a entrar / Primeiro a sair). como exemplo.   2. Também está se tornando muito utilizado por ser bastante completo. as operações básicas são: (1) Enqueue: insere um elemento no final da fila. Abaixo são citados alguns deles:   Flash: software de animação muito conhecido. Blender: software para criação de animação 3D. remoções e acessos são realizados em um único extremo. Pode-se imaginar uma fila de um banco. gratuito. Synfig: programa para animação 2D. desenvolvido para criação de desenhos à mão livre. são listas de informações que são acessadas na ordem “Primeiro a entrar. (2) Dequeue: remove e retorna o elemento posicionado no seu começo. as quais são chamadas de FIFO (Fist-In/First-Out). além de ter código aberto.3. Além da operação Top. sendo difícil o entendimento dos TADs (Tipo Abstrato de Dados). que acessa o elemento posicionado no topo da pilha.

Já a subseção 3. produzida nessa pesquisa. apresenta a visualização de pilhas e filas. Nesse artigo é apresentado um ambiente Web. O diferencial desse ambiente é a possibilidade de interação dos alunos com o conteúdo da disciplina.3. os autores apresentam um sistema de informação educacional. 3. como a utilização de ambientes educacionais que facilitem o entendimento das estruturas. voltada para o apoio do processo de ensino-aprendizagem de estrutura de dados.4. que seja interessante a utilização de produtos de softwares para a aplicação prática na programação e estrutura de dados. Sua interface é composta por três partes. Utilização de Animação no Ensino-Aprendizagem de Estruturas de Dados Com base em pesquisas efetuadas e já concluídas. É uma pesquisa direcionada para docentes e discentes de computação.2. ODIN. o TBC-AED e TBC-AED/WEB.1. Os autores focalizam a importância de aplicar métodos diferenciados de ensino. uma que demonstra o código fonte de cada função da lista. Com o uso desta ferramenta. Nessa Seção serão mencionadas algumas dessas pesquisas. proporcionando uma demonstração animada em paralelo à implementação do código-fonte. cuja pesquisa foi desenvolvida com o objetivo de possibilitar uma melhor compreensão destas disciplinas e proporcionar maior interação entre aluno-computador. pois os mesmos podem elevar a qualidade de ensino e a aprendizagem dos alunos dependendo da forma com que os mesmos são abordados em sala de aula. voltada aos docentes e estudantes da área de tecnologia e informática. bem como pode possibilitar maior acessibilidade e interatividade com o uso do software via web.3 faz menção de um tutorial para ensino de Pilhas e Filas. acredita-se que conceitos abstratos passam a ser melhor visualizados dinamizando o ensino. da Universidade Federal de Lavras (UFLA). que consiste na visualização de listas encadeadas e demonstra a execução passo a passo por meio de animações gráficas. Simões e Martins (2005) do Departamento de Ciência da Computação da Universidade do Extremo Sul Catarinense (UNESC). 3. é apresentado um artigo que relata o desenvolvimento de um software que facilita a visualização das abstrações em Estrutura de Dados.1. é considerável a importância da animação no processo de construção do conhecimento. uma área onde será desenhada a estrutura e os menus com vários botões que permitirão ao usuário a interação com o ambiente. A subseção 3. Ambiente Web com Animações para o Estudo de Listas Encadeadas Artigo de Madeira. A subseção 3. Na subseção 3. direcionada para a tendência de utilizar ferramentas computacionais como ambientes de estudo nas disciplinas de algoritmos e estrutura de dados. em forma de animação. Considera-se ainda. Na referida publicação. Software Educativo para o Ensino de Estrutura de Dados O artigo de Santos e Costa (2005) trata de uma pesquisa realizada pelo Departamento de Ciências da Computação. .2 refere-se a um ambiente Web para demonstração de listas encadeadas.

Voltado para o ensino de pilhas e filas. o objetivo é que realmente o conteúdo seja entendido. alcançando melhor compreensão do comportamento do algoritmo. o Spyke demonstra de forma interativa e gráfica o funcionamento das operações dessas duas estruturas. Martins. Nessa pesquisa foi criada uma simples animação para visualização da inserção de elementos em pilhas e filas dinâmicas. 3. para que a animação seja mais efetiva ela não deve ser usada isoladamente. Criação de Animação para Visualização de Pilhas e Filas Segundo Gomes e Mendes (1999).3.  Inserção em Pilhas: . Seu desenvolvimento foi elaborado de maneira a disponibilizar para o usuário diversas informações sobre implementação de pilhas e filas. Baldessar. onde os alunos podem verificar o funcionamento do algoritmo. o que torna possível ao aluno fazer comparações entre essas linguagens. [Gomes e Mendes 1999]. proporcionando maior atenção por parte dos alunos. análise e comparação do código fonte de algoritmos bem como a alocação de memória estática e dinâmica nas linguagens C++. A vantagem desta ferramenta é a possibilidade de trabalho com linguagens de programação diferentes em um mesmo ambiente. motivação. Java e Pascal. Ele permite a visualização. Ferramenta para o Estudo de Pilhas e Filas O artigo de Simões. é vantajoso utilizar meios animados no ensino de disciplinas como a de Estruturas de Dados. simulação das resoluções do problema em tempo real. numa animação.  Porém. de elementos que podem fornecer informações mais detalhadas.3. pois possibilita:   inclusão. direcionada a docentes e discentes da área de computação. Possui uma interface de fácil navegabilidade o que o torna um agente auxiliador na construção e solidificação do conhecimento. Barbosa (2006) da Universidade do Extremo Sul Catarinense (UNESC) refere-se à criação da ferramenta Spyke.4. destacando a movimentação dos ponteiros e obedecendo aos conceitos desses tipos de estruturas. mas como uma parte integrante na aprendizagem.

a visualização da alocação de um espaço em memória (aux) que armazena um nó contendo uma informação e um ponteiro que recebeu valor nulo. e a sequência de inserções de mais elementos na fila. concluiu-se dentro de poucas horas uma animação com duração de um minuto. representado na figura pelo símbolo ( / ). Demonstração de inserção em Pilhas Na Figura 1. É possível para qualquer . onde foram utilizadas as ferramentas do próprio programa que possibilitaram a criação das imagens. e utilizar exemplos do mundo real que façam analogia às estruturas abordadas. o ponteiro início utilizado para marcar o início da fila (onde poderão ser realizadas as possíveis remoções).  Inserção em Filas: Figura 2. Cabe apenas ao desenvolvedor buscar primeiramente conhecer a interface do programa e se informar sobre a utilidade das ferramentas básicas disponibilizadas. mostrando as movimentações dos ponteiros. Um ponteiro que marca o topo da pilha (topo – onde poderão ser feitas remoções na pilha). E uma série de inserções de novos nós para a pilha. Pode ser interessante enriquecer o trabalho com animações inserindo áudio e efeitos. Demonstração de inserção em Fila A Figura 2 mostra o funcionamento da estrutura onde há a alocação de aux (um espaço em memória com informação e um ponteiro).Figura 1. Alguns softwares para animação são de fácil compreensão. Para a criação da animação foi usada a versão MX do Flash. Após se familiarizar com o ambiente do programa.

cenários e situações do mundo real. e implementar as estruturas. Elisa. independente da sua área de atuação.professor. pois proporciona maior motivação aos discentes e pode enriquecer o estudo. Universidade Estadual . no sentido do estudante não simplesmente visualizar as simulações e sim produzi-las de forma a acompanhar seu próprio raciocínio lógico. pode-se pensar em animações que enfoquem outros tipos de estruturas de dados ou utilização de recursos de áudio e criação de exemplos das estruturas com personagens. como é o caso das abstrações da disciplina de Estrutura de Dados. A importância do processo de avaliação de software educativo. verificou-se que é possível desenvolver facilmente materiais didáticos. Eliseo. J. In Anais do II Seminário Nacional de Tecnologia na Educação. Sendo.. válido destacar que o diferencial das animações produzidas e apresentadas nesta pesquisa referem-se à construção dos recursos pelos próprios alunos que estão cursando a disciplina de Estrutura de dados. Ao aprender a lógica do funcionamento de pilhas e filas através da animação. Assim. P. uma maneira de verificar se este recurso contribuirá no processo de ensino-aprendizagem é realizando a aplicação das animações intercaladas às aulas de teor teórico e. logo após. Referências Boff. 2005. 4. além dos mesmos terem a oportunidade de estudar os conceitos teóricos. Universidade de Caxias do Sul. Acredita-se que essa experiência seja de grande valia. e levando em consideração o grau de complexidade do que se deseja criar. A utilização da animação digital pode agir como um suporte no processo de aprendizagem se acompanhada por uma boa fundamentação teórica da disciplina ministrada. Reategui. I. C. . tanto no sentido de averiguar o conhecimento adquirido quanto das impressões sobre a simulação visual das operações realizadas com as estruturas de dados apresentadas. C. Desta forma. desenvolver uma animação em algumas horas e utilizá-la como apoio pedagógico em suas aulas. ainda. F. Garcia. aplicações. atrativos e interativos que sirvam como ferramenta de apoio na ministração de conteúdos de difícil compreensão. isto porque ele alcançou o conhecimento conceitual do conteúdo. E que a animação é um recurso visual que muito pode contribuir com avanços no processo de ensino em todas as áreas do conhecimento. Para se avaliar a eficácia de uma ferramenta computacional faz-se necessário considerar sua relevância diante da proposta pedagógica de ensino. Calheiros. (1997). Considerações Finais Mediante os resultados obtidos. Rezende. efetuar uma avaliação. A animação pode contribuir positivamente na construção do conhecimento visto que ela permite uma visualização concreta de aplicações abstratas. Como trabalhos futuros. o aluno estará apto a compreender e a solucionar qualquer problema em situações semelhantes e que envolvam essas estruturas. Astral: Um Ambiente para Ensino de Estruturas de Dados através de Animações de Algoritmos. também podem estar utilizando ferramentas de edição de imagens ou de animação para simular o armazenamento de informações e de manipulação de dados que podem ser realizadas com as mais diversas estruturas de dados.

A Animação na Aprendizagem de Conceitos Básicos de Programação. In Site do WIE’2002. acesso dia 13 de novembro de 2009. Spinillo. n. In Anais 2° Congresso Sul Catarinense de Computação. In Anais 1° Congresso Sul Catarinense de Computação. Martins. Henriques. (1999). Universidade do Minho.67. Santos. Baldessar.UNICAMP.de Campinas . In: Site da Universidade Federal Rural de Pernambuco. In INFOCOMP – Journal of Computer Science. Lucena Júnior.T. # 13. acesso dia 16 de novembro de 2009. acesso dia 28 de agosto de 2009. Disponível em: http://virtual. Filho. Milena. Spyke . (2005). 1. Multimédia e Ensino. 1.29/iecom/index. Departamento de Licenciatura da Computação. Leiria. Priscyla W. Paulo João. Rodrigo. p. Rodrigo Pereira. Mendes. Flash Animado com os Irmãos Piologo.ic. Avaliação de Software Educativo para o Ensino de Matemática. Priscyla Waleska T. (2005). (2005). Rodrigo Pereira. S. Ximenes. Mirella. Animação de Algoritmos tornada Sistemática. Gomes. Anabela de Jesus.php/IECom/article/viewFile/113/108. Julie.br/~rezende/garcia. (1996). Universidade do Extremo Sul Catarinense – UNESC.pt/CGME99/actas/c2/c2. Schildt. January 1999. 2005. São Paulo: Makron Books. Piologo. TBC-AED e TBCAED/WEB: Um Desafio no Ensino de Algoritmos.gz.pdf. Universidade de Coimbra. 22-32. (2009). In Workshop Computação Gráfica. Disponível em: http://161. Disponível em: http://www. Gitirana. Simões. Pedro Rangel. Universidade do Extremo Sul Catarinense – UNESC. pp.htm. Ricardo. 5. Alves. Simões. In Site do Instituto de Computação da UINICAMP. Alex Sandro. Lavras/MG – Brasil. ODIN . In Revista de Ensenanza y Tecnologia. Luciano Dagostin. 41-50. (2002). Estrutura de Dados e Programação. .unicamp. São Paulo: Novatec. Maicon Francisco. Heitor Augustus Xavier. Santos. 1999. Universidade Federal de Pernambuco. Herbert (1997). António José. José Aires Castro. Melo. Madeira. Pereira.140. Costa. Ana Cláudia Garcia (2006). v. São Paulo: Érica. C Completo e Total. 2006. São Paulo: Senac. Varanda.Ambiente Web de Apoio ao Ensino de Estruturas de Dados Lista Encadeada. de Azevedo.inesc. Universidade Federal de Lavras. Barbosa. Piologo. (2006). (1999). Paulo João. Análise de Metodologias e Ambientes de Ensino para Algoritmos.Azevedo.Ferramenta de Apoio ao Ensino de Pilhas e Filas. Estrutura de Dados Fundamentais: Conceitos e Aplicações. Heitor Augustus Xavier. Gomes. Arte da Animação: Técnica e Estética Através da História. Estruturas de Dados e Programação aos iniciantes em Computação e Informática. Maria João. Costa. Verônica. Martins. Alina. Alberto.