POPT: uma abordagem de ensino de programação orientada a problema e testes
Contribuinte(s) |
Coelho, Roberta de Souza CPF:00976817411 http://lattes.cnpq.br/8528609460399715 CPF:02727172400 http://lattes.cnpq.br/9854634275938452 Campos, André Mauricio Cunha CPF:00761944700 http://lattes.cnpq.br/7154508093406987 Mendonça, Andréa Pereira CPF:47459182249 http://lattes.cnpq.br/0938462047218130 Guerrero, Dalton Dario Serey CPF:91035732491 http://lattes.cnpq.br/2050632960242405 Aranha, Eduardo Henrique da Silva CPF:02561400492 |
---|---|
Data(s) |
17/12/2014
16/04/2014
17/12/2014
05/08/2013
|
Resumo |
There is a growing interest of the Computer Science education community for including testing concepts on introductory programming courses. Aiming at contributing to this issue, we introduce POPT, a Problem-Oriented Programming and Testing approach for Introductory Programming Courses. POPT main goal is to improve the traditional method of teaching introductory programming that concentrates mainly on implementation and neglects testing. POPT extends POP (Problem Oriented Programing) methodology proposed on the PhD Thesis of Andrea Mendonça (UFCG). In both methodologies POPT and POP, students skills in dealing with ill-defined problems must be developed since the first programming courses. In POPT however, students are stimulated to clarify ill-defined problem specifications, guided by de definition of test cases (in a table-like manner). This paper presents POPT, and TestBoot a tool developed to support the methodology. In order to evaluate the approach a case study and a controlled experiment (which adopted the Latin Square design) were performed. In an Introductory Programming course of Computer Science and Software Engineering Graduation Programs at the Federal University of Rio Grande do Norte, Brazil. The study results have shown that, when compared to a Blind Testing approach, POPT stimulates the implementation of programs of better external quality the first program version submitted by POPT students passed in twice the number of test cases (professor-defined ones) when compared to non-POPT students. Moreover, POPT students submitted fewer program versions and spent more time to submit the first version to the automatic evaluation system, which lead us to think that POPT students are stimulated to think better about the solution they are implementing. The controlled experiment confirmed the influence of the proposed methodology on the quality of the code developed by POPT students Podemos perceber um crescente interesse por parte da comunidade de educação de Ciência da Computação na inclusão de conceitos de testes em cursos introdutórios de programação. Visando contribuir neste sentido, apresentamos POPT (do inglês: Problem Oriented Programing and Testing), uma abordagem de ensino de programação orientada para o problema e testes, com foco nos cursos introdutórios. O principal objetivo de POPT é o de melhorar o método tradicional de ensino de introdução a programação que se concentra essencialmente na implementação (regras de sintaxe e semântica da linguagem) negligenciando o teste do código sendo implementado. A metodologia POPT, estende a metodologia POP (do inglês: Problem Oriented Programing) proposta na Tese de Doutorado de Andrea Mendonça. Ambas as metodologias pregam que devemos desenvolver a habilidade dos alunos lidarem com especificações de problemas mal definidos. O diferencial de POPT é que os alunos são estimulados a desenvolver casos de teste formatados em uma tabela com o objetivo de melhorar o entendimento sobre os requisitos dos problemas (mal definidos) e também, para melhorar a qualidade do código gerado. Além de apresentar a metodologia POPT, este trabalho apresenta a ferramenta TestBoot desenvolvida no contexto deste trabalho para dar suporte a esta metodologia. Com o objetivo de avaliar a abordagem proposta em relação à metodologia tradicional de ensino, foi realizado um caso de estudo e um experimento controlado (seguindo o design do Quadrado Latino). Tanto o estudo de caso quando o experimento controlado foram realizados em disciplinas de introdução a programação do curso de Ciência da Computação e Engenharia de software da Universidade Federal do Rio Grande do Norte, Brasil. Os resultados destas avaliações mostraram que, quando comparado com uma abordagem tradicional, POPT estimula a implementação de programas de melhor qualidade. No estudo de caso a primeira versão dos programas submetidos pelos alunos POPT passaram em duas vezes o número de casos de teste (definidos pelo professor) quando comparados aos alunos não POPT; além disso, os alunos POPT submeteram menos versões do programa e passaram mais tempo para apresentar a primeira versão para o sistema de avaliação automática, o que nos leva a pensar que os alunos são estimulados a pensar melhor sobre a solução que eles estão a programar. O experimento serviu para confirmar o impacto da metodologia proposta na qualidade do código gerado pelos alunos quando comparado a metodologia tradicional |
Formato |
application/pdf |
Identificador |
LUSTOSA NETO, Vicente Pires. POPT: uma abordagem de ensino de programação orientada a problema e testes. 2013. 144 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal do Rio Grande do Norte, Natal, 2013. http://repositorio.ufrn.br:8080/jspui/handle/123456789/18093 |
Idioma(s) |
por |
Publicador |
Universidade Federal do Rio Grande do Norte BR UFRN Programa de Pós-Graduação em Sistemas e Computação Ciência da Computação |
Direitos |
Acesso Aberto |
Palavras-Chave | #Teste de software. Programação orientada a problema. Ensino #Software testing. Problem-oriented programming. Teaching methodology #CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO |
Tipo |
Dissertação |