PotigolCode
Ambiente de apoio ao ensino de lógica de programação
através da linguagem de programação Potigol.
Allyson Bruno Campos BarrosVilela
Orientador: Leonardo Reis Lucena
Co-Orientador: Jailton Carlos Paiva
Motivação
• As disciplinas de introdução à programação
são de extrema importância nos cursos de TI
para a formação da lógica de programação e
da habilidade de resolução de problemas.
MOREIRA e FAVERO (2008)
• O processo de aprendizado de algoritmos é
difícil e exigente para a maioria dos alunos
ingressantes nos cursos de TI.
Motivação
• Muitos alunos concluem as disciplinas de
programação sem ter um conhecimento
mínimo adequado.
Borges (2000 apud MOREIRA; FAVERO, 2008)
• Muitos abandonam o curso nos primeiros
semestres devido às dificuldades encontradas
durante o processo de ensino.
Borges (2000 apud MOREIRA; FAVERO, 2008)
Problemas na aprendizagem
de algoritmos
• Ausência ou ineficácia de estratégias de
resolução lógica por parte dos alunos.
RAABE e SILVA (2005)
• Diferença de experiência e ritmo de
aprendizagem entre os alunos.
RAABE e SILVA (2005)
• Dificuldade para motivar os alunos e os
manter interessados na disciplina.
PETRY e ROSATELLI (2006)
Problemas na aprendizagem
de algoritmos
• Grande número de alunos por turma,
dificultando a avaliação individual.
RAABE e SILVA (2005)
• Lentidão na avaliação e feedback de todos os
exercícios enviados pelos alunos.
MOREIRA e FAVERO (2008)
• Outros problemas de ordem pessoal e/ou
emocional.
RAABE e SILVA (2005)
Objetivos
• Desenvolver uma ferramenta de apoio para
o ensino e aprendizado de algoritmos que
utilizasse a linguagem de programação
Potigol.
• Permitir que a ferramenta possa ser utilizada
nas disciplinas de programação do curso de
Análise e Desenvolvimento de Sistemas do
IFRN.
O PotigolCode
• Ambiente web desenvolvido para auxiliar os
professores no ensino de disciplinas como
Introdução à Programação, Orientação a
Objetos e Paradigmas de Linguagens de
Programação.
• Inspirado em aplicações web voltadas para o
ensino das linguagens de programação Java,
Python e Ruby como CodingBat.com,
CodeCademy.com e TryRuby.org.
Requisitos Funcionais do
Projeto
• Gerenciamento de cursos e exercícios;
• Administração dos alunos e dos materiais de
aula;
• Avaliação das respostas submetidas e
geração de feedbacks através de testes
automatizados;
• Pontuação automática e Ranking dos alunos.
Requisitos Não Funcionais
do Projeto
• Autenticação dos usuários e controle de
permissões;
• Disponibilidade de acesso de qualquer lugar
e em qualquer horário através de um
ambiente web;
• Bom desempenho para executar os testes
automatizados com rapidez.
O PotigolCode
Fonte:Vilela (2012)
O PotigolCode
Fonte:Vilela (2012)
Tecnologias Utilizadas
• Desenvolvido utilizando as linguagens de
programação Java e Scala através do Play
Framework 2.0 e o banco de dados
relacional MySQL.
• Utilizada a versão inicial e de testes da
linguagem Potigol que é responsável pela
execução dos algoritmos submetidos ao
sistema.
Arquitetura do Sistema
Fonte:Vilela (2012)
Arquitetura do Sistema
Fonte:Vilela (2012)
Demonstração
Conclusão
• O sistema mostrou-se uma boa ferramenta
de apoio para o ensino e aprendizagem da
linguagem Potigol, pois permite o
gerenciamento dos cursos, exercícios e de
seus materiais de aula.
• As funcionalidades de avaliação automática
e o feedback imediato possibilitam maior
rapidez na avaliação e feedback de todos os
exercícios enviados pelos alunos durante as
disciplinas.
Trabalhos Futuros
• Aprimoramento da avaliação automática
das respostas dos exercícios e critérios de
pontuação automática dos exercícios
resolvidos pelos alunos;
• Implementação do acompanhamento das
respostas enviadas a fim de avaliar o
progresso e erros mais comuns mais
cometidos pelos alunos
• Implementação de restrição temporal para
a resolução dos exercícios;
Trabalhos Futuros
• Criação de mecanismos de conquistas e
selos baseados na pontuação do aluno;
• Integração com as redes sociais permitindo
o compartilhamento do progresso e
conquistas;
• Integração e suporte à outras linguagens de
programação como Java, Scala, Ruby,
Python, C#, etc.
Referências
MOREIRA, Mireille Pinheiro; FAVERO, Eloi Luiz. Um Ambiente para Ensino de
Programação.Disponível em: <http://www.ufpa.br/ppgcc/ppgcc/files/File/
Seminario_Andamento/2008/EAD/artigo_1.1.pdf>.Acesso em: 22 out. 2012.
PETRY, Patrícia Gerent; ROSATELLI, Marta Costa. Ensino e Aprendizagem de
Algoritmos com o AlgoLC.  Disponível em: <http://www.lbd.dcc.ufmg.br/
colecoes/sbie/2006/040.pdf>.Acesso em: 5 nov. 2012.
RAABE, André Luís Alice; SILVA, Júlia Marques Carvalho da.  Um Ambiente
p a r a A t e n d i m e n t o a s D i fi c u l d a d e s d e A p re n d i z a g e m d e
Algoritmos.  Disponível em: <http://200.169.53.89/download/CD
%20congressos/2005/SBC%202005/pdf/arq0027.pdf>. Acesso em: 30 out.
2012.
Obrigado!

POTIGOLCODE: AMBIENTE DE APOIO AO ENSINO DE LÓGICA DE PROGRAMAÇÃO ATRAVÉS DA LINGUAGEM DE PROGRAMAÇÃO POTIGOL

  • 1.
    PotigolCode Ambiente de apoioao ensino de lógica de programação através da linguagem de programação Potigol. Allyson Bruno Campos BarrosVilela Orientador: Leonardo Reis Lucena Co-Orientador: Jailton Carlos Paiva
  • 2.
    Motivação • As disciplinasde introdução à programação são de extrema importância nos cursos de TI para a formação da lógica de programação e da habilidade de resolução de problemas. MOREIRA e FAVERO (2008) • O processo de aprendizado de algoritmos é difícil e exigente para a maioria dos alunos ingressantes nos cursos de TI.
  • 3.
    Motivação • Muitos alunosconcluem as disciplinas de programação sem ter um conhecimento mínimo adequado. Borges (2000 apud MOREIRA; FAVERO, 2008) • Muitos abandonam o curso nos primeiros semestres devido às dificuldades encontradas durante o processo de ensino. Borges (2000 apud MOREIRA; FAVERO, 2008)
  • 4.
    Problemas na aprendizagem dealgoritmos • Ausência ou ineficácia de estratégias de resolução lógica por parte dos alunos. RAABE e SILVA (2005) • Diferença de experiência e ritmo de aprendizagem entre os alunos. RAABE e SILVA (2005) • Dificuldade para motivar os alunos e os manter interessados na disciplina. PETRY e ROSATELLI (2006)
  • 5.
    Problemas na aprendizagem dealgoritmos • Grande número de alunos por turma, dificultando a avaliação individual. RAABE e SILVA (2005) • Lentidão na avaliação e feedback de todos os exercícios enviados pelos alunos. MOREIRA e FAVERO (2008) • Outros problemas de ordem pessoal e/ou emocional. RAABE e SILVA (2005)
  • 6.
    Objetivos • Desenvolver umaferramenta de apoio para o ensino e aprendizado de algoritmos que utilizasse a linguagem de programação Potigol. • Permitir que a ferramenta possa ser utilizada nas disciplinas de programação do curso de Análise e Desenvolvimento de Sistemas do IFRN.
  • 7.
    O PotigolCode • Ambienteweb desenvolvido para auxiliar os professores no ensino de disciplinas como Introdução à Programação, Orientação a Objetos e Paradigmas de Linguagens de Programação. • Inspirado em aplicações web voltadas para o ensino das linguagens de programação Java, Python e Ruby como CodingBat.com, CodeCademy.com e TryRuby.org.
  • 8.
    Requisitos Funcionais do Projeto •Gerenciamento de cursos e exercícios; • Administração dos alunos e dos materiais de aula; • Avaliação das respostas submetidas e geração de feedbacks através de testes automatizados; • Pontuação automática e Ranking dos alunos.
  • 9.
    Requisitos Não Funcionais doProjeto • Autenticação dos usuários e controle de permissões; • Disponibilidade de acesso de qualquer lugar e em qualquer horário através de um ambiente web; • Bom desempenho para executar os testes automatizados com rapidez.
  • 10.
  • 11.
  • 12.
    Tecnologias Utilizadas • Desenvolvidoutilizando as linguagens de programação Java e Scala através do Play Framework 2.0 e o banco de dados relacional MySQL. • Utilizada a versão inicial e de testes da linguagem Potigol que é responsável pela execução dos algoritmos submetidos ao sistema.
  • 13.
  • 14.
  • 15.
  • 16.
    Conclusão • O sistemamostrou-se uma boa ferramenta de apoio para o ensino e aprendizagem da linguagem Potigol, pois permite o gerenciamento dos cursos, exercícios e de seus materiais de aula. • As funcionalidades de avaliação automática e o feedback imediato possibilitam maior rapidez na avaliação e feedback de todos os exercícios enviados pelos alunos durante as disciplinas.
  • 17.
    Trabalhos Futuros • Aprimoramentoda avaliação automática das respostas dos exercícios e critérios de pontuação automática dos exercícios resolvidos pelos alunos; • Implementação do acompanhamento das respostas enviadas a fim de avaliar o progresso e erros mais comuns mais cometidos pelos alunos • Implementação de restrição temporal para a resolução dos exercícios;
  • 18.
    Trabalhos Futuros • Criaçãode mecanismos de conquistas e selos baseados na pontuação do aluno; • Integração com as redes sociais permitindo o compartilhamento do progresso e conquistas; • Integração e suporte à outras linguagens de programação como Java, Scala, Ruby, Python, C#, etc.
  • 19.
    Referências MOREIRA, Mireille Pinheiro;FAVERO, Eloi Luiz. Um Ambiente para Ensino de Programação.Disponível em: <http://www.ufpa.br/ppgcc/ppgcc/files/File/ Seminario_Andamento/2008/EAD/artigo_1.1.pdf>.Acesso em: 22 out. 2012. PETRY, Patrícia Gerent; ROSATELLI, Marta Costa. Ensino e Aprendizagem de Algoritmos com o AlgoLC.  Disponível em: <http://www.lbd.dcc.ufmg.br/ colecoes/sbie/2006/040.pdf>.Acesso em: 5 nov. 2012. RAABE, André Luís Alice; SILVA, Júlia Marques Carvalho da.  Um Ambiente p a r a A t e n d i m e n t o a s D i fi c u l d a d e s d e A p re n d i z a g e m d e Algoritmos.  Disponível em: <http://200.169.53.89/download/CD %20congressos/2005/SBC%202005/pdf/arq0027.pdf>. Acesso em: 30 out. 2012.
  • 20.