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

Detalhes bibliográficos
Ano de defesa: 2013
Autor(a) principal: Lustosa Neto, Vicente Pires
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: 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
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://repositorio.ufrn.br/jspui/handle/123456789/18093
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
id UFRN_61930a1766286effad2bda30c5a8e977
oai_identifier_str oai:repositorio.ufrn.br:123456789/18093
network_acronym_str UFRN
network_name_str Repositório Institucional da UFRN
repository_id_str
spelling POPT: uma abordagem de ensino de programação orientada a problema e testesTeste de software. Programação orientada a problema. EnsinoSoftware testing. Problem-oriented programming. Teaching methodologyCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAOThere 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 studentsPodemos 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 tradicionalUniversidade Federal do Rio Grande do NorteBRUFRNPrograma de Pós-Graduação em Sistemas e ComputaçãoCiência da ComputaçãoCoelho, Roberta de Souzahttp://lattes.cnpq.br/8528609460399715http://lattes.cnpq.br/9854634275938452Campos, André Mauricio Cunhahttp://lattes.cnpq.br/7154508093406987Mendonça, Andréa Pereirahttp://lattes.cnpq.br/0938462047218130Guerrero, Dalton Dario Sereyhttp://lattes.cnpq.br/2050632960242405Aranha, Eduardo Henrique da SilvaLustosa Neto, Vicente Pires2014-12-17T15:48:09Z2014-04-162014-12-17T15:48:09Z2013-08-05info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfapplication/pdfLUSTOSA 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.https://repositorio.ufrn.br/jspui/handle/123456789/18093porinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRNinstname:Universidade Federal do Rio Grande do Norte (UFRN)instacron:UFRN2017-11-04T16:38:30Zoai:repositorio.ufrn.br:123456789/18093Repositório InstitucionalPUBhttp://repositorio.ufrn.br/oai/repositorio@bczm.ufrn.bropendoar:2017-11-04T16:38:30Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)false
dc.title.none.fl_str_mv POPT: uma abordagem de ensino de programação orientada a problema e testes
title POPT: uma abordagem de ensino de programação orientada a problema e testes
spellingShingle POPT: uma abordagem de ensino de programação orientada a problema e testes
Lustosa Neto, Vicente Pires
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
title_short POPT: uma abordagem de ensino de programação orientada a problema e testes
title_full POPT: uma abordagem de ensino de programação orientada a problema e testes
title_fullStr POPT: uma abordagem de ensino de programação orientada a problema e testes
title_full_unstemmed POPT: uma abordagem de ensino de programação orientada a problema e testes
title_sort POPT: uma abordagem de ensino de programação orientada a problema e testes
author Lustosa Neto, Vicente Pires
author_facet Lustosa Neto, Vicente Pires
author_role author
dc.contributor.none.fl_str_mv Coelho, Roberta de Souza

http://lattes.cnpq.br/8528609460399715

http://lattes.cnpq.br/9854634275938452
Campos, André Mauricio Cunha

http://lattes.cnpq.br/7154508093406987
Mendonça, Andréa Pereira

http://lattes.cnpq.br/0938462047218130
Guerrero, Dalton Dario Serey

http://lattes.cnpq.br/2050632960242405
Aranha, Eduardo Henrique da Silva

dc.contributor.author.fl_str_mv Lustosa Neto, Vicente Pires
dc.subject.por.fl_str_mv 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
topic 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
description 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
publishDate 2013
dc.date.none.fl_str_mv 2013-08-05
2014-12-17T15:48:09Z
2014-04-16
2014-12-17T15:48:09Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv 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.
https://repositorio.ufrn.br/jspui/handle/123456789/18093
identifier_str_mv 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.
url https://repositorio.ufrn.br/jspui/handle/123456789/18093
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
application/pdf
dc.publisher.none.fl_str_mv 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
publisher.none.fl_str_mv 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
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFRN
instname:Universidade Federal do Rio Grande do Norte (UFRN)
instacron:UFRN
instname_str Universidade Federal do Rio Grande do Norte (UFRN)
instacron_str UFRN
institution UFRN
reponame_str Repositório Institucional da UFRN
collection Repositório Institucional da UFRN
repository.name.fl_str_mv Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)
repository.mail.fl_str_mv repositorio@bczm.ufrn.br
_version_ 1855758915257499648