<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Proposta de um sistema multiagente para o ensino de Programação com Mastery Learning</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Ceres Germanna Braga Morais</string-name>
          <email>ceresgbmorais@gmail.com</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Thiago Jobson Barbalho</string-name>
          <email>thiagojobson@gmail.com</email>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Departamento de Informática - Universidade do Estado do Rio Grande do Norte. Avenida Antônio Campos, Bairro Costa e Silva, Mossoró/RN, CEP 59610-090</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2017</year>
      </pub-date>
      <fpage>602</fpage>
      <lpage>607</lpage>
      <abstract>
        <p>This paper presents a proposal for a multiagent system that uses an online judge and Mastery Learning concepts to help in the process of learning Programming. Composed of a layer between student and judge, this system could be able to validate knowledge acquired by the student and identify students presenting learning difficulties in order to help them in the process of master the knowledge via feedbacks like tips, tutorials, videos etc. Resumo. Este trabalho apresenta uma proposta de sistema multiagente para auxiliar o ensino de Programação utilizando um juiz online e técnicas de Mastery Learning. Composto de uma camada entre o estudante e o juiz, tal sistema seria capaz de validar o conhecimento adquirido pelo aluno e identificar alunos com dificuldades de aprendizado e auxilia-lo no processo de domínio do conhecimento utilizando-se de feedbacks como dicas, tutoriais, vídeos e outros tipos de conteúdo extraclasse.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introdução</title>
      <p>Diante disto, surge a necessidade de se desenvolver ferramentas que apoiem
tanto professores quanto estudantes no tocante do ensino e aprendizado. No entanto, em
relação ao ensino de Programação propriamente dito, o contexto de sala de aula
geralmente é bastante heterogêneo: alguns alunos nunca viram algoritmos, e outros já
trabalham com programação. Logo, cabe ao professor verificar os diferentes níveis de
conhecimento entre os alunos em uma turma muitas vezes numerosas. Nesse sentido,
este artigo apresenta a proposta de um ambiente de aprendizagem que fundamenta-se na
teoria Mastery Learning para proporcionar o nivelamento e equilíbrio entre os alunos,
ao passo que cada aluno volta-se a tarefas e conteúdos de acordo com seu nível de
conhecimento.</p>
      <p>Vale salientar que a ferramenta ainda se encontra em fase de desenvolvimento e
o que será apresentado neste artigo é um protótipo ainda não validado. Para melhor
entendimento e para justificar a necessidade de desenvolvê-la, este trabalho está assim
organizado: a Seção 2 apresenta a contextualização; a Seção 3 traz a proposta em si; e
por fim as Considerações Finais são apresentadas.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Contextualização</title>
      <p>
        As seguintes subseções apresentam um breve conceito sobre conhecimentos aplicados
nesta pesquisa.
2.1 Mastery Learning
Mastery Learning (Aprendizagem por Maestria) é uma estratégia educacional na qual as
habilidades e conhecimentos dos alunos são rigorosamente confrontados com padrões
predeterminados de aprendizagem. Assim, estudantes não podem avançar para um
próximo módulo, estágio, nível de conhecimento até que alcancem um designado nível
de maestria [
        <xref ref-type="bibr" rid="ref2">Eppich et al 2015</xref>
        ]. É baseado na filosofia de que qualquer estudante pode
aprender qualquer conteúdo se este for dado de forma sistemática; se este estudante
receber instruções quando demonstrar dificuldades de aprendizado e se for dado tempo e
oportunidades suficientes para que este alcance o domínio do conteúdo [
        <xref ref-type="bibr" rid="ref10">Sahare 2010</xref>
        ].
      </p>
      <p>No Mastery Learning, as métricas que determinam se um estudante conquistou
ou não um nível de domínio são extremamente importantes para o aprendizado, uma vez
que o seu objetivo é garantir que ninguém seja deixado para trás e que todos estejam
bem preparados para ter sucesso em fases subsequentes da formação. Se estes padrões
são muito baixos, os alunos não estarão bem preparados; se os padrões são muito altos,
os alunos irão despender um esforço desnecessário que poderia ser melhor gasto em
outros objetivos educacionais [Yudkowsky et al 2015].</p>
      <p>
        Este tipo de estratégia pode ser utilizada para dominar quase todos os tipos de
conhecimento, mas se encaixa perfeitamente com o ensino de Matemática. O
conhecimento matemático é construído sobre ele mesmo, então, para que um aluno
possa ter sucesso, é preciso que este possua um nível de domino em todas as suas
unidades [
        <xref ref-type="bibr" rid="ref10">Sahare 2010</xref>
        ][
        <xref ref-type="bibr" rid="ref11">School of Education 2010</xref>
        ]. Esta característica também pode ser
encontrada em ensino de Programação: conjunto de passos que levam à solução de um
problema em um número finito de etapas. Estes passos são uma junção de elementos
(variáveis, condicionais, entrada e saída, estruturas de repetição, funções, etc.) que
precisam ser perfeitamente utilizados em um conjunto lógico para que se possa chegar à
solução.
      </p>
      <p>
        O trabalho de
        <xref ref-type="bibr" rid="ref8">Morais et al (2014</xref>
        ) buscou quantificar a satisfação de estudantes
que cursaram uma disciplina de introdução à Programação em uma modalidade de
Mastery Learning com ensino personalizado e utilização de testes automatizados para
auxiliar na aprendizagem de exercícios. Como resultado, o estudo concluiu que os
alunos ficaram satisfeitos com a metodologia utilizada – principalmente com o feedback
automático realizado pelos testes – e são favoráveis a uma expansão para outras
disciplinas. Também, elementos do Mastery Learning podem ser encontrados no
trabalho de
        <xref ref-type="bibr" rid="ref4">Iepsen et al (2010</xref>
        ) em que propuseram uma abordagem para evitar a evasão
dos alunos de cursos da área de Computação com o desenvolvimento de um sistema
web que realiza a personalização dos exercícios de algoritmos. O sistema recomenda
exercícios de acordo com o nível de conhecimento e habilidades adquiridas pelo aluno.
      </p>
      <p>
        Posteriormente,
        <xref ref-type="bibr" rid="ref5">Iepsen (2013)</xref>
        realizou uma pesquisa para detectar os alunos que
evidenciam sinais de frustração em atividades de ensino e de aprendizagem na área de
Algoritmos, para então, auxiliá-los com ações proativas de apoio. Tal apoio consiste na
exibição de um tutorial com a resolução passo a passo do exercício no qual o aluno
apresenta dificuldades e na recomendação de um novo exercício com níveis de
complexidade mais lineares aos conceitos trabalhados até aquele ponto de vista.
      </p>
      <p>Os resultados dos experimentos destes trabalhos mostraram que evidências
como, o alto número de tentativas de compilação de um programa sem sucesso, o
grande número de erros em um mesmo programa ou a quantidade de tempo gasto na
tentativa de resolver, podem estar relacionados ao estado de frustração do aluno.
Também Raabe et al (2015) apresentaram uma abordagem para a construção de um
gerador de dicas sobre os erros cometidos pelos estudantes, usando como base uma
combinação de casos de testes aplicados ao programa a ser avaliado e uma análise
estrutural do código, detectando padrões de erros comuns realizados por estudantes.</p>
      <p>O objetivo deste experimento foi avaliar a influência das dicas emitidas pelo
corretor nas ações tomadas pelos estudantes para corrigir o erro diagnosticado, bem
como avaliar se este feedback ajuda o estudante a resolver exercícios propostos. A
avaliação obtida pelos autores do trabalho foi de que “o mecanismo de correções e
geração de dicas proposto teve um impacto positivo e auxiliou os estudantes na
resolução dos exercícios” e a “melhorar a legibilidade do código”, o que certamente leva
a crer que utilizar este método para o ensino de Programação pode ser de grande
relevância.</p>
    </sec>
    <sec id="sec-3">
      <title>2.2 Informática na Educação</title>
      <p>Informática na Educação significa a inserção de recursos digitais no processo de
aprendizagem dos conteúdos curriculares de todos os níveis e modalidades de educação,
enfatizando que o professor da disciplina curricular deva ter conhecimento sobre os
potenciais educacionais do computador e ser capaz de alternar adequadamente
atividades tradicionais de ensino/aprendizagem e atividades que o utilizem.</p>
      <p>
        Segundo
        <xref ref-type="bibr" rid="ref7">Martins (2012)</xref>
        , é muito comum as escolas apresentarem seus projetos
de inserção a tecnologia com a justificativa de que esse trabalho é importante por ser a
realidade dos estudantes de hoje em dia. A geração atual, da qual estes estudantes fazem
parte, possui facilidade em utilizar ferramentas digitais e em interagir em ambientes
virtuais como smartphones, redes sociais, blogs, sites, etc. Porém, isso não significa que
eles possuem facilidade em utilizar essas ferramentas no ambiente escolar.
      </p>
    </sec>
    <sec id="sec-4">
      <title>2.3 Sistemas Multiagente</title>
      <p>
        Segundo
        <xref ref-type="bibr" rid="ref6">Juchem e Bastos (2001</xref>
        ), um agente é uma entidade de software com
capacidade de resolução de problemas, que exibe um comportamento autônomo e
proativo, que está situado em algum ambiente, e a partir do qual percebe alterações
sendo capaz de realizar ações para alcançar os objetivos de projeto. Inserido nesta visão,
definem o agente como tendo as seguintes propriedades:




      </p>
      <p>Autonomia – executam a maior parte de suas ações sem interferência direta de
agentes humanos ou de outros agentes computacionais, possuindo controle total
sobre suas ações e estado interno;
Habilidade social – por impossibilidade de resolução de certos problemas ou por
outro tipo de conveniência, interagem com outros agentes (humanos ou
computacionais), para complementarem a resolução de seus problemas, ou ainda
auxiliarem outros agentes. Disto surge a necessidade de que os agentes tenham
capacidade para comunicar seus requisitos aos outros e um mecanismo decisório
interno que defina quando e quais interações são apropriadas;
Capacidade de reação – percebem e reagem às alterações no ambiente em que
estiverem inseridos;
Capacidade proativa – agentes, do tipo deliberativo, além de atuar em resposta às
alterações ocorridas em seu ambiente, apresentam um comportamento orientado
a objetivos, tomando inciativas quando julgarem apropriado.</p>
    </sec>
    <sec id="sec-5">
      <title>3. Proposta</title>
      <p>
        O URI Online Judge é um projeto que vem sendo desenvolvido na URI – Universidade
Regional Integrada - Campus de Erechim, desde 2011. É um portal que contém
problemas no estilo do ICPC (International Collegiate Programming Contest) da ACM
(Association for Computing Machinery) e que fornece ao usuário um juiz online1 para
testar suas soluções a estes problemas. O objetivo inicial da criação do portal foi
desenvolver funcionalidades que oferecessem uma alternativa ao método tradicional de
ensino de Algoritmos e Programação, conforme proposto pelos autores em [
        <xref ref-type="bibr" rid="ref12">Tonin et al.
2015</xref>
        ].
      </p>
      <p>
        A proposta deste trabalho é desenvolver um sistema que implemente o conceito
de Mastery Learning em disciplinas de Programação utilizando questões do URI Online
Judge como forma de validar o domínio de conhecimento dos alunos, utilizando uma
arquitetura multiagente. Composto de uma camada entre o estudante e o juiz online
URI, tal sistema seria capaz de identificar alunos com dificuldades de aprendizado e
auxilia-lo no processo de domínio do conhecimento utilizando-se de feedbacks como
nos trabalhos de
        <xref ref-type="bibr" rid="ref4">Iepsen et al (2010</xref>
        ) e
        <xref ref-type="bibr" rid="ref5">Iepsen (2013)</xref>
        e
        <xref ref-type="bibr" rid="ref9">Raabe (2015)</xref>
        : dicas, tutoriais,
vídeos e outros tipos de conteúdo extraclasse.
1 Juiz online verifica automaticamente se um algoritmo é capaz de resolver um problema proposto.
      </p>
      <p>Na Figura 1 é possível ter uma visão abstrata da arquitetura do sistema que é
composta de um servidor que intermedia a ligação entre a interface, utilizada pelo aluno,
e o URI Online Judge, que é o repositório de questões. Tendo quatro agentes
(explicados a seguir) ativos no servidor que monitoram o estado do ambiente, podendo,
assim, executar ações visando atingir o seu respectivo objetivo.</p>
      <p>Figura 1: Arquitetura do sistema.</p>
      <p>Fonte: Próprio autor (2017)</p>
      <p>O sistema multiagente proposto para essa pesquisa, a priori, possui os agentes:
Agente Facilitador (AgF), que terá o intuito de acompanhar o estudante, motivando-o, e
percebendo suas atitudes, tais como permanência no ambiente de aprendizagem,
participação; Agente Pedagógico (AgP) que irá atribuir tarefas ao discente, de acordo
com o nível de domínio no qual este está inserido; Agente Avaliador (AgA), que a partir
de métricas pré-definidas, irá avaliar o nível de maestria do estudante, de forma a
permitir ou não, dependendo dos resultados obtidos, que este avance de nível de
aprofundamento dos conteúdos vistos em sala de aula; e Agente de Retorno (AgR), que
terá a função de dar feedback ao aluno e professor, quanto ao grau de excelência que o
aluno está percebendo ao longo da disciplina, além de verificar se existe discrepância
entre os vários estudantes envolvidos no processo de aprendizagem.</p>
      <p>Como interface para utilização do sistema, o aplicativo de mensagens Telegram
foi escolhido por ser um software popular entre usuário de smartphone, possuir clientes
para os principais sistemas móveis, web e desktop e possuir uma API (Application
Programming Interface) pública. Fazendo uso desta API, podemos usar toda a robustez
da arquitetura do aplicativo a nosso favor para troca de mensagens texto, imagens,
vídeos, etc. Dessa forma, delegando ao Telegram toda a troca de mensagens entre os
alunos e o sistema, permite que nós foquemos no desenvolvimento dos outros
componentes desta pesquisa.</p>
    </sec>
    <sec id="sec-6">
      <title>4. Considerações Finais</title>
      <p>Este trabalho apresentou uma proposta de um sistema multiagente que implementa a
técnica de Mastery Learning para auxiliar no ensino/aprendizagem em disciplinas de
Programação. Embora esta pesquisa ainda esteja em fase de desenvolvimento, trabalhos
anteriores já demonstraram que sistemas que fazem um acompanhamento individual e
são capazes de apresentar feedbacks para auxilia-los em sua dificuldade de aprendizado
em Programação apresentaram um impacto positivo. Os próximos passos dessa pesquisa
são: desenvolver a arquitetura multiagente; desenvolver o sistema proposto; validar o
sistema em turmas de Programação, realizando, através de estudo de caso, experimentos
pequenos e contínuos; estabelecer métricas para o nivelamento dos alunos; apresentar
resultados obtidos à comunidade acadêmica.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <surname>Dicheva</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dichev</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Agre</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Angelova</surname>
          </string-name>
          , G. “
          <article-title>Gamification in Education: A Systematic Mapping Study”</article-title>
          ,
          <source>Educational Technology &amp; Society</source>
          ,
          <volume>18</volume>
          (
          <issue>3</issue>
          ),
          <year>2015</year>
          . p.
          <fpage>75</fpage>
          -
          <lpage>88</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>Eppich</surname>
            ,
            <given-names>W. J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hunt</surname>
            ,
            <given-names>E. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Duval-Arnould</surname>
            ,
            <given-names>J. M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Siddall</surname>
            , V. J., Cheng,
            <given-names>A.</given-names>
          </string-name>
          (
          <year>2015</year>
          )
          <article-title>“Structuring Feedback and Debriefing to Achieve Mastery Learning Goals”</article-title>
          ,
          <source>Academic Medicine</source>
          , Vol.
          <volume>90</volume>
          , No.
          <volume>11</volume>
          ,
          <year>Nov 2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>Fardo</surname>
            ,
            <given-names>M. L.</given-names>
          </string-name>
          (
          <year>2013</year>
          ) “Conjectura: Filos. Educ.”, v.
          <volume>18</volume>
          , n. 1, p.
          <fpage>201</fpage>
          -
          <lpage>206</lpage>
          , Jan/Abr.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <surname>Iepsen</surname>
            ,
            <given-names>E. F M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bercht</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reategui</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          (
          <year>2010</year>
          ) “
          <article-title>Persona-Algo: Personalização dos Exercícios de Algoritmos auxiliados por um Agente Afetivo”</article-title>
          , In: Simpósio Brasileiro de Informática da Educação (SBIE).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <surname>Iepsen</surname>
            ,
            <given-names>E. F.</given-names>
          </string-name>
          (
          <year>2013</year>
          ) “Ensino de Algoritmos: Detecção do Estado Afetivo de Frustração para Apoio ao Processo de Aprendizagem”,
          <source>Tese (Doutorado em Informática na Educação) - Universidade Federal do Rio Grande do Sul</source>
          .
          <volume>157</volume>
          p.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <surname>Juchem</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bastos</surname>
            ,
            <given-names>R. M.</given-names>
          </string-name>
          (
          <year>2001</year>
          ) “Engenharia de Sistemas Multiagentes:
          <article-title>Uma Investigação sobre o Estado da Arte”</article-title>
          ,
          <source>Tecninal Report Series, No. 14</source>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <surname>Martins</surname>
            , R. dos
            <given-names>S.</given-names>
          </string-name>
          (
          <year>2012</year>
          ) “
          <string-name>
            <given-names>O</given-names>
            <surname>Uso das Tecnologias de Informação e</surname>
          </string-name>
          <article-title>Comunicação na Educação”</article-title>
          , http://escolabakhita.com.br/educacao/o-uso
          <article-title>-das-tecnologias-deinformacao-e-comunicacao-na-</article-title>
          <string-name>
            <surname>educacao</surname>
          </string-name>
          ,
          <year>Mar 2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <surname>Morais</surname>
          </string-name>
          , L. A. de M.,
          <string-name>
            <surname>Figueiredo</surname>
            ,
            <given-names>J. C. A</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guerrero</surname>
            ,
            <given-names>D. D. S.</given-names>
          </string-name>
          (
          <year>2014</year>
          )
          <article-title>“Students Satisfaction with Mastery Learning in an Introdutory Programming Course”</article-title>
          , In: Simpósio Brasileiro de
          <article-title>Informática na Educação (SBIE).</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <surname>Raabe</surname>
            ,
            <given-names>A. L. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jesus</surname>
            ,
            <given-names>E. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hodecker</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pelz</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          (
          <year>2015</year>
          ) “
          <article-title>Avaliação do Feedback Gerado Por um Corretor Automático de Algoritmos”</article-title>
          , In. Simpósio Brasileiro de Informática na
          <source>Educação (SBIE)</source>
          , p.
          <fpage>358</fpage>
          -
          <lpage>366</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <string-name>
            <surname>Sahare</surname>
            ,
            <given-names>Namita S.</given-names>
          </string-name>
          (
          <year>2010</year>
          ) “Mastery https://pt.slideshare.net/techcreation/mastery-learning-
          <volume>4798261</volume>
          ,
          <year>Mar 2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <string-name>
            <surname>School</surname>
          </string-name>
          of Education, (
          <year>2010</year>
          )
          <article-title>“Behaviour Modification Model”</article-title>
          , https://pt.slideshare.net/competents2011/mastery-learning-
          <volume>7354062</volume>
          ,
          <year>Mar 2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          <string-name>
            <surname>Tonin</surname>
            ,
            <given-names>N. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Selivon</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bez</surname>
            ,
            <given-names>J. L.</given-names>
          </string-name>
          (
          <year>2015</year>
          ) “URI Online Judge Academic: Integração e Consolidação da Ferramenta no Processo de Ensino/Aprendizagem”.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          <string-name>
            <surname>Youdkowsky</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          , Park,
          <string-name>
            <given-names>Y. S.</given-names>
            ,
            <surname>Lineberry</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Knox</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Ritter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Matthew</surname>
          </string-name>
          (
          <year>2015</year>
          )
          <article-title>“Setting Mastery Learning Standards”</article-title>
          ,
          <source>Academic Medicine</source>
          , Vol.
          <volume>90</volume>
          , No.
          <volume>11</volume>
          ,
          <year>Nov 2015</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>