• Nenhum resultado encontrado

2.6 Alicerces para instrumentação da pesquisa

2.6.4 Mineração de dados educacionais e sua utilização no modelo afetivo

A mineração de dados é considerada como parte do processo de descoberta de conhecimento em bancos de dados ou conjuntos de dados, desta forma, um dos objetivos da aplicação das técnicas de mineração é encontrar padrões que uma observação humana poderia ignorar ou desconsiderar na análise dos dados. Os resultados da mineração podem se constituir também em modelos que podem ser aplicados em dados futuros para prever ocorrências ou comportamentos, o que contribui para que sejam tomadas ações de forma antecipada para evitar situações indesejadas.

Segundo Tan (2009), as tarefas de mineração de dados podem ser classificadas em diferentes categorias, entre estas está a modelagem de previsão, na qual se enquadra o modelo desenvolvido. Na previsão busca-se construir um modelo para um atributo ou variável alvo como uma função das variáveis explicativas (TAN, 2009).

O foco principal está na identificação da motivação dos estudantes em disciplinas de programação, na tentativa de criar modelos que permitam que professores ou tutores percebam que determinados estudantes apresentam baixos níveis de esforço ou confiança. Tal percepção pode auxiliar na proposição de ações que tem como objetivo melhorar a confiança ou estimular os estudantes a se tornarem mais ativos, mais envolvidos nas tarefas desenvolvidas.

Considerando os aspectos citados, foi possível inferir que técnicas de mineração de dados poderiam ser uma boa alternativa para obter um modelo, a partir dos dados coletados, que auxiliasse na tarefa de identificar os níveis de motivação demostrados pelo estudante. As técnicas para classificação supervisionada foram utilizadas no contexto deste trabalho devido à possibilidade de aplicação das mesmas sobre um conjunto de dados para que aprendessem a classificar entradas de acordo com os rótulos definidos a priori.

Quando uma técnica supervisionada é utilizada, após o processo de treinamento, é possível observar como foi realizada a classificação, quais as probabilidades ou regras usadas para determinar a classe. Citando como exemplo os métodos baseados em regras ou árvores de

decisão, é possível visualizar uma árvore que se constitui no conjunto de regras usadas para classificar as entradas. Outros métodos, como os que utilizam estratégias probabilísticas, tais como Redes Bayesianas permitem definir as dependências entre as variáveis e as probabilidades associadas aos diferentes atributos.

Embora fosse possível elaborar um modelo baseado somente na observação dos dados e análise estatística feita pelo pesquisador, as técnicas de classificação, contribuíram para obter indicadores quanto à acuracidade e confiabilidade do modelo computacional para reconhecimento da motivação.

É preciso levar em consideração também que o reconhecimento dos níveis de motivação dos alunos nem sempre é algo que pode ser realizado usando regras ou uma abordagem determinística. Em diversas situações o nível de esforço ou confiança, pode ser alto ou baixo, mas com um certo grau de certeza, ou seja, há uma maior ou menor chance de ser maior ou menor. Sendo assim, a aplicação de técnicas para mineração de dados baseadas na distribuição de probabilidades se tornou uma alternativa importante para a determinação não apenas do nível de motivação, mas também da probabilidade de que uma determinada atividade ou estudante esteja apresentando um esforço ou confiança baixo ou alto.

Uma maior probabilidade da confiança ou esforço ser alto, por exemplo, pode indicar uma maior intensidade no estado afetivo, ou seja, uma maior propensão a estar motivado, o que permitiu constatar em algumas situações uma motivação intrínseca do aluno (RYAN e DECI, 2015). Por outro lado, uma maior probabilidade de apresentar índices baixos de esforço ou confiança requer por parte do professor a execução de ações que visam aumentar a motivação extrínseca, tais como, desafios, punições ou o reconhecimento quando este apresentar comportamento desejado.

As técnicas de mineração de dados foram empregadas também como ferramentas para exploração de um conjunto de dados, ainda na fase de preparação dos dados (FAYAD, PIATETSKY-SHAPIRO e SMYTH, 1996). Em um primeiro momento foram adotadas medidas de estatística descritiva para avaliar os dados brutos e para categorizar ou discretizar dados numéricos. Medidas de tendência como média, desvio padrão, ou de análise de faixas de valores como quartil, percentil foram uteis para avaliar a concentração ou distribuição dos dados, embora não tenham sido suficientes para analisar, entre outras questões, a similaridade das ocorrências, além de possíveis dependências entre as variáveis.

Técnicas para agrupamento contribuíram para aumentar o conhecimento sobre as características comuns compartilhadas pelas diferentes entradas, e para a identificação de

variáveis e valores que diferenciam um grupo de registros dos demais (TAN, STEINBACH e KUMAR, 2009). O método para agrupamento contribuiu ainda para uma classificação a priori necessária para o processo de treinamento em métodos supervisionados.

As técnicas de mineração de dados foram usadas com dois objetivos e em diferentes momentos no processo de desenvolvimento e aplicação do modelo afetivo:

 Análise exploratória: durante a preparação dos dados, técnicas baseadas em agrupamento e em regras de associação serão utilizadas explorar o conjunto de dados e para apoiar a seleção e preparação dos mesmos para a aplicação de técnicas de classificação supervisionada.

 Construção e treinamento das redes bayesianas: técnicas baseadas em classificação supervisionada, especialmente Redes Bayesianas foram aplicadas para a obtenção de modelos usados na classificação do esforço e da confiança. Métodos de classificação baseados em árvore de decisão foram usados como técnicas complementares para avaliar a eficiência das RB.

As técnicas para classificação supervisionada foram aplicadas na fase final da elaboração do modelo, após a preparação dos dados e definição das tabelas para classificação a priori, utilizadas para determinar as classes do conjunto de entradas usadas no treinamento. As entradas do processo de treinamento consistem nos dados coletados durante o estudo de caso, nos tempos e nas avaliações feitas pelo professor e pelo pesquisador.

Foram utilizados os dois softwares descritos anteriormente, o Weka e o Netica. A ferramenta Weka foi utilizada devido à disponibilidade de um amplo conjunto de algoritmos e a experiência anterior do pesquisador na utilização desta. O software foi empregado para a aplicação e análise do desempenho dos algoritmos, especialmente das Redes Bayesianas. Os relatórios e indicadores mostrados após a aplicação de um método serão apresentados no capítulo 5 com o objetivo de ilustrar a confiabilidade do modelo.

Já o software Netica foi usado na construção e treinamento das redes que permitem reconhecer esforço e confiança. A facilidade de estruturar e treinar uma rede foi decisiva para adoção desta ferramenta, pois a mesma permite criar e remover dependências entre os atributos, sem a necessidade de alterar os dados de treinamento. As bibliotecas (APIs) do Netica foram usadas na implementação do protótipo do módulo de acompanhamento da motivação que foi utilizado na validação do modelo afetivo. O desenvolvimento e aplicação do referido módulo é apresentado no capítulo 5.

3 PROALG: SISTEMA DE APOIO AO USO DA

PROBLEMATIZAÇÃO NO ENSINO DE ALGORITMOS

Neste capítulo serão apresentadas as principais funcionalidades e recursos do sistema PROALG, que foi desenvolvido no contexto desta pesquisa, com o intuito de suportar o método da problematização e permitir a coleta dos dados utilizados na elaboração e validação do modelo para o reconhecimento da motivação dos estudantes.

O desenvolvimento e aplicação do software atende a dois objetivos descritos na seção 1.5, o desenvolvimento e validação de um sistema que permita a resolução de problemas utilizando a problematização e, a automação da coleta de dados para elaboração e validação do modelo para reconhecimento da motivação. O sistema foi implementado também para ser uma ferramenta de apoio em disciplinas de programação, permitindo o gerenciamento das turmas e exercícios que são resolvidos pelos estudantes.

O software foi projetado considerando dois pressupostos fundamentais: i) a problematização como base para o método de apoio ao ensino e aprendizagem na resolução de problemas de programação (BERBEL, 2012) e; ii) a coleta de dados para o reconhecimento do esforço e da confiança (DU BOULAY e DEL SOLDATO, 2016). O método da problematização foi apresentado na seção 2.6.1 e o modelo para o reconhecimento da motivação, que utiliza os dados coletados no sistema, será detalhado no capítulo 5.

Serviram de inspiração para a especificação das funcionalidades, aplicativos existentes, como o URI Online Judge (BEZ, TONIN, RODEGHERI, 2014) e o software apresentado no trabalho desenvolvido por Iepsen (2013). O primeiro apresenta recursos para manutenção de turmas de estudantes e para a publicação e resolução de exercícios de programação. O segundo se constitui em um ambiente para edição de código e coleta de dados que posteriormente são utilizados em um processo de mineração de dados.

A necessidade de implementar uma ferramenta que permitisse gerenciar estudantes e exercícios de programação foi percebida no início da pesquisa, ainda durante o estudo piloto, cujos resultados serão apresentados no capítulo 4. O AVEA Moodle foi utilizado nas atividades desenvolvidas no estudo piloto, momento em que foi possível perceber algumas dificuldades associadas a sua utilização. No estudo piloto, a coleta de dados dependeu dos logs do sistema e nem todas as informações estavam disponíveis, o que aumentou consideravelmente o tempo de análise dos dados.

Além da dificuldade relacionada à coleta de dados, no estudo piloto a etapa de escrita do código fonte não foi realizada de maneira integrada, ou seja, os estudantes elaboravam o código fonte em outra ferramenta, postando o mesmo na lição quando estava finalizado. Esta abordagem não permitiu a obtenção de informações sobre as ações durante a escrita do código, embora tenha sido possível constatar que os dados relacionados a esta etapa seriam importantes para o reconhecimento da motivação. Ficou claro que dados relacionados ao número de compilações, erros, execuções, além de outras ações, como copiar e colar poderiam contribuir para identificar os fatores associados à motivação.

Além da integração de todas as etapas, o sistema implementado possui recursos para que o professor acompanhe os resultados de cada atividade resolvida por cada um dos estudantes. É possível efetuar uma avaliação de cada exercício, além de visualizar estatísticas e informações relacionadas aos tempos de cada etapa, os conteúdos das respostas e os acessos às dicas disponibilizadas.

O sistema foi projetado e desenvolvido no contexto desta pesquisa, mas foi também o tema do Trabalho de Conclusão (TCC) desenvolvido por Hemming (2018). O trabalho citado foi orientado e supervisionado pelo autor da presente tese, sendo assim é possível considerar que o mesmo se constitui em um dos resultado indireto desta pesquisa, o que demonstra a abrangência deste trabalho. Além do referido trabalho de conclusão, os resultados do desenvolvimento e aplicação do PROALG foram publicados na revista Destaques Acadêmicos (FRANZEN, HEMMING, BERCHT, 2019). O referido software também foi registrado no INPI (Instituto Nacional de Proteção Intelectual) no ano de 2018 (Apêndice D).

Na sequência serão apresentados os requisitos funcionais, a arquitetura e as tecnologias utilizadas na implementação, além das principais interfaces que demonstram o funcionamento dos recursos da ferramenta. Uma ressalva importante diz respeito ao módulo para acompanhamento da motivação que será apresentado com um requisito funcional, mas que será descrito com detalhes no capítulo 5. Como o módulo se baseia no modelo para reconhecimento da motivação, as explicações sobre o mesmo serão inseridas após o capítulo 5, no qual será descrito o referido modelo.