Haskell
Upcoming SlideShare
Loading in...5
×
 

Haskell

on

  • 360 views

 

Statistics

Views

Total Views
360
Views on SlideShare
360
Embed Views
0

Actions

Likes
0
Downloads
2
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Haskell Haskell Presentation Transcript

  • Davi Felipe Russi, davirussi@inf.ufsm.brAndrea Schwertner Charão, andrea@inf.ufsm.br Universidade Federal de Santa Maria
  • Haskell é uma linguagem que é comumenteusada no ensino do paradigma funcional.Ambientes de Desenvolvimento Integrados(IDEs) facilitam a programação de aplicativos.
  • Alunos da graduação tem dificuldades com oaprendizado da linguagem funcional Haskell.Erros iniciais como de sintaxe e lógica podemser minimizados com uso de IDEs. View slide
  • Conhecer os Ambientes de DesenvolvimentoIntegrado disponíveis para Linguagem deProgramação Haskell.Analisar seus recursos e avaliarexperimentalmente suas característicasDefinir a melhor IDE para o ensino-aprendizagem. View slide
  • O uso de IDEs no ensino de linguagens deprogramação é um assunto bastanteexplorado.De forma geral, entende-se que este tipo deferramenta possa trazer vantagens para oaluno que está iniciando o aprendizado deuma nova linguagem de programação (Pearset al., 2007; Caspersen, 2007).
  • Existem, algumas IDEs que foram criadas como propósito do ensino como: BlueJ (Kölling etal., 2003), Greenfoot (Henriksen & Kölling,2004) e DrJava (Allen, Cartwright & Stoler,2002) para linguagem Java.
  • Em relação a linguagem Haskell, existiu umtrabalho visando este mesmo propósito oHEAT (Ashton et al., 2005). Mas, de acordocom os autores apresentava problemas defuncionamento.
  • Levantamento de IDEs disponíveis.Elaboração de uma lista com 6 ambientes.
  • A análise iniciou pela leitura dadocumentação.Experimentação das mesmas.As observações de cada ferramenta foramreunidas e sistematizadas em documentospara referência.Aplicação da IDE mais completa em sala deaula
  • Disciplina: Paradigmas de Programação(UFSM)É teórico-prática de 4 horas/semanais (3ºsemestre)Utiliza-se a linguagem Haskell para o ensinodo paradigma funcional.Interpretador (GHC ou HUGS) mais editor detexto. +
  • Alguns alunos tinham problemas como:esquecer de carregar o programa modificadono interpretador.Escolha do IDE Eclipse com seu plugin paraHaskell (EclipseFP).Reunir opiniões e observações sobre o seuuso durante a disciplina de graduação.
  • Turma de 30 alunos com 15 horas aulasteórico-práticas sobre linguagem funcional eHaskell.Em uma aula foi utilizado a combinaçãointerpretador mais editorEm seis aulas o Eclipse com o pluginEclipseFP
  • As opiniões eram dadas verbalmente duranteas aulas práticas e então registradas peloprofessor.Formulário online onde os alunos podiam darsua opinião anonimamente: Questões sobre IDEs geral Questões sobre o Eclipse Opiniões e sugestões.
  • Os alunos apresentaram maior facilidade como ciclo edição, e testes dos programas.Alguns alunos comentaram que preferemusar IDE por causa da maior variedade derecursos.Vários alunos registraram que o uso da IDEajudou a evoluir na programação em Haskell,o que corrobora com a hipótese inicial.
  • Outros comentaram que a experiência foipositiva já que o Eclipse é uma ferramentapopular para o desenvolvimento C, C++ eJava. Acredita-se que essa popularidade é maisuma motivação para o aprendizado dalinguagem Haskell.
  • Alguns aluno apresentaram dificuldades nainstalação completa da IDE. Alguns computadores do laboratório tambémapresentaram a ferramenta parcialmenteinstalada. (sem realce de sintaxe e ajudarápida) Este fato acabou desmotivando alguns alunosque usaram a combinação editor maisinterpretador.
  • Desenvolvimento de documentação específicapara cada uma das IDEs analisadas.Geração da tabela comparando alguns dosaspectos mais importantes de cada IDEResultados positivos do estudo de caso.
  • ALLEN, E.; CARTWRIGHT, R.; STOLER, B. DrJava: a lightweight pedagogicenvironment for Java. In: SIGCSE 02: SIGCSE technical symposium oncomputer science education, 33, 2002, Cincinnati, USA. Anais. ACM, education2002, p. 137-141.ASHTON, D.; OLIVE, C.; TRAVERS, J.; WHEST, L. HEAT – A Beginners IDE Beginnersfor Haskell Technical Report. Canterbury: University of Kent, 2005. Haskell.CASPERSEN, M. E. Educating Novices in The Skills of Programming Programming.Aarhus, Denmark: University of Aarhus, 2007. 323 p. Tese deDoutorado.HENRIKSEN, P.; KÖLLING, M. Greenfoot: combining object visualisationwith interaction. In: OOPSLA 04: ACM SIGPLAN conference on Object- Object-oriented programming systems, languages, and applications, 19, 2004, languages, applicationsVancouver, Canada. Anais. ACM, 2004, pp. 73-82.
  • HUGUES, J. Why Functional Programming Matters.Computer Journal v.32, n.2, p. 98-207, 1989. Journal.JONES, S. P. Haskell 98 Language and Libraries – TheRevised Report. 2002. Disponível em:<http://www.haskell.org/onlinereport/>. Acesso em:Outubro/2011.KÖLLING, M., QUIG, B., PATTERSON, A.; ROSENBERG, J., TheBlueJ system and its pedagogy, Journal of ComputerScience Education v.13, n.4, p. 249-268, 2003. Education,PEARS, A.; SEIDMAN, S.; MALMI, L.; MANNILA, L.; ADAMS,E.; BENNEDSEN, J.; DEVLIN, M.; PATERSON, J. A survey ofliterature on the teaching of introductory programming.SIGCSE Bull v.39, n.4, p. 204-223, 2007. Bull.
  • Perguntas?