POPT: uma abordagem de ensino de programação orientada a problema e testes


Autoria(s): Lustosa Neto, Vicente Pires
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