potigolcode: ambiente de apoio ao ensino de lÓgica de programaÇÃo atravÉs da linguagem de...
TRANSCRIPT
PotigolCodeAmbiente de apoio ao ensino de lógica de programação
através da linguagem de programação Potigol.
Allyson Bruno Campos Barros VilelaOrientador: Leonardo Reis LucenaCo-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 l inguagem 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ênciasMOREIRA, 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.