Informações Principais
     Resumo
     Abstract
     Introdução
     Conclusão
     Download
  
  
  
 
Introdução
 
 
Acadêmico(a): Adriner Maranho de Andrade
Título:  SMALG PLATFORM: uma plataforma educacional  
 
Introdução:
A partir de uma perspectiva educacional, a Ciência da Computação pode-se demonstrar desafiadora, resultando
em um difícil aprendizado, principalmente para aqueles que estão iniciando na área (QIAN; LEHMAN, 2017). Ela
possui altos índices de desistência entre os estudantes, sendo que a maioria dos abandonos ocorre nos primeiros dois
anos de estudos (GIANNAKOS et al., 2017). Ainda segundo Giannakos et al. (2017), dentre as causas levantadas
estavam a baixa qualidade de ensino, além da grade rigorosa e demandas densas. Segundo Qian e Lehman (2017, p. 5,
tradução nossa) “problemas na compreensão conceitual de programação dos alunos podem levar a profundos e
significantes equívocos relacionados ao modelo mental de execução de código e de sistemas de computadores”.
A utilização de ferramentas visuais que ilustram os conceitos de programação e o funcionamento do código têm
sido úteis para facilitar neste processo educacional, auxiliando no entendimento dos estudantes (QIAN; LEHMAN,
2017, p. 12). Isso porque na Ciência da Computação, de acordo com Fouh et al. (2012, p. 96, tradução nossa) “muitos
dos seus conceitos centrais referem-se a abstrações. Não se pode ver ou tocar um algoritmo ou uma estrutura de dados
[...]”.
O uso de tipos abstratos, como interfaces, juntamente com o uso de testes automatizados é uma estratégia a se
oferecer para a formulação de uma ferramenta auxiliar ao ensino. Interfaces são consideradas tipos de dados abstratos
com uma especificação formal de comportamento, permitindo uma estrutura desacoplada de sua implementação
(STEIMANN; MAYER, 2005). Esta estrutura pode então ser utilizada no desenvolvimento de testes, sendo estes
responsáveis pela definição de um plano de execução e validação de um código que ainda não possui implementação
real, conceito conhecido como test-first (NAIK; TRIPATHY, 2008; FUCCI et al., 2017).
Diante do exposto, o objetivo desse trabalho foi desenvolver uma plataforma que servirá como uma ferramenta
auxiliar no ensino da Ciência da Computação, em disciplinas como Algoritmos e Estrutura de Dados, utilizando-se de
recursos de visualização, codificação escrita e produção de material de ensino. Os objetivos específicos são: possibilitar
ao professor a produção de conteúdo de ensino por meio da abstração; criar uma engine que gerará a partir do código
desenvolvido uma representação visual da execução; definir uma estrutura formal que funcionará como um Software
Development Kit (SDK) para utilização da ferramenta.
Para avaliar o conceito e a aplicabilidade da ferramenta, foi realizado um teste de usabilidade monitorado com
um usuário, oficinas com quatro estudantes do segundo semestre de Ciência da Computação e apresentações para dois
professores de Ciência da Computação da FURB, responsáveis pelas disciplinas de Algoritmos e Estrutura de Dados e
Introdução à Programação