Programação orientada ao problema: uma metodologia para entendimento de problemas e especificação no contexto de ensino de programação para iniciantes.

Detalhes bibliográficos
Autor(a) principal: MENDONÇA, Andréa Pereira.
Data de Publicação: 2010
Tipo de documento: Tese
Idioma: por
Título da fonte: Biblioteca Digital de Teses e Dissertações da UFCG
Texto Completo: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/6556
Resumo: Tradicionalmente, as disciplinas introdutórias de programação enfatizam o desenvolvimento do raciocínio lógico e a construção de programas mais que qualquer outra habilidade. Nestas disciplinas, problemas bem definidos são recursos utilizados para auxiliar os estudantes na aprendizagem de programação. Entretanto, essa abordagem de ensino apresenta um problema: ela não expõe os estudantes a um processo de resolução de problemas realista, que contempla o espaço do problema (entendimento de problemas e especificação de requisitos) em conjunto com o espaço da solução (construção de programas). Em virtude disto, são freqüentes os relatos da literatura acerca das dificuldades dos estudantes iniciantes em lidar com entendimento de problemas mal definidos e especificação de requisitos. Para tratar o problema apresentado, nós defendemos que as disciplinas introdutórias de programação devem (i) utilizar estratégias de ensino que assumam a programação como parte da Engenharia de Software; e (ii) desenvolver atividades que permitam aos estudantes irem da especificação dos requisitos ao programa, por meio da resolução de problemas mal definidos. Baseados nisto, nós concebemos uma metodologia de ensino denominada Programação Orientada ao Problema (POP). POP caracteriza-se por um conjunto de atividades que podem ser inseridas na disciplina introdutória de programação. Ela é constituída por um ciclo de resolução de problemas que põe em prática atividades típicas da Engenharia de Software, tais como, elicitação e especificação de requisitos, testes e programação. Nós avaliamos POP por meio de estudos de caso e experimentos controlados. Nos experimentos, nós adotamos um conjunto de variáveis que consideramos representativas do bom desempenho dos estudantes para lidar com o espaço do problema em conjunto com o espaço da solução. Das variáveis observadas, em 83;3% delas os estudantes POP foram mais eficientes que os estudantes não-POP. Para exemplificarmos, nos dois experimentos, os estudantes POP documentaram, em média, mais de 79% de requisitos que os estudantes não-POP. Além disso, implementaram 4 versões a menos do programa para atender a todos os requisitos, quando comparados aos estudantes não-POP. Embora os resultados não possam ser generalizados, o tratamento que fizemos das ameaças à validade nos permite aferir a qualidade dos resultados obtidos.
id UFCG_c080e11e2d4f69e4348a01e352a53347
oai_identifier_str oai:localhost:riufcg/6556
network_acronym_str UFCG
network_name_str Biblioteca Digital de Teses e Dissertações da UFCG
repository_id_str 4851
spelling Programação orientada ao problema: uma metodologia para entendimento de problemas e especificação no contexto de ensino de programação para iniciantes.Problem-oriented programming: a methodology for problem understanding and specification in the context of beginner programming teaching.Programação de Computadores - EnsinoEngenharia de SoftwareAprendizagem de ProgramaçãoDisciplinas Introdutórias de ProgramaçãoProgramação Orientada ao Problema (POP)Computer Programming - TeachingSoftware EngineeringProgramming LearningIntroductory Programming DisciplinesProblem Oriented Programming (POP)Ciência da ComputaçãoEngenharia de SoftwareTradicionalmente, as disciplinas introdutórias de programação enfatizam o desenvolvimento do raciocínio lógico e a construção de programas mais que qualquer outra habilidade. Nestas disciplinas, problemas bem definidos são recursos utilizados para auxiliar os estudantes na aprendizagem de programação. Entretanto, essa abordagem de ensino apresenta um problema: ela não expõe os estudantes a um processo de resolução de problemas realista, que contempla o espaço do problema (entendimento de problemas e especificação de requisitos) em conjunto com o espaço da solução (construção de programas). Em virtude disto, são freqüentes os relatos da literatura acerca das dificuldades dos estudantes iniciantes em lidar com entendimento de problemas mal definidos e especificação de requisitos. Para tratar o problema apresentado, nós defendemos que as disciplinas introdutórias de programação devem (i) utilizar estratégias de ensino que assumam a programação como parte da Engenharia de Software; e (ii) desenvolver atividades que permitam aos estudantes irem da especificação dos requisitos ao programa, por meio da resolução de problemas mal definidos. Baseados nisto, nós concebemos uma metodologia de ensino denominada Programação Orientada ao Problema (POP). POP caracteriza-se por um conjunto de atividades que podem ser inseridas na disciplina introdutória de programação. Ela é constituída por um ciclo de resolução de problemas que põe em prática atividades típicas da Engenharia de Software, tais como, elicitação e especificação de requisitos, testes e programação. Nós avaliamos POP por meio de estudos de caso e experimentos controlados. Nos experimentos, nós adotamos um conjunto de variáveis que consideramos representativas do bom desempenho dos estudantes para lidar com o espaço do problema em conjunto com o espaço da solução. Das variáveis observadas, em 83;3% delas os estudantes POP foram mais eficientes que os estudantes não-POP. Para exemplificarmos, nos dois experimentos, os estudantes POP documentaram, em média, mais de 79% de requisitos que os estudantes não-POP. Além disso, implementaram 4 versões a menos do programa para atender a todos os requisitos, quando comparados aos estudantes não-POP. Embora os resultados não possam ser generalizados, o tratamento que fizemos das ameaças à validade nos permite aferir a qualidade dos resultados obtidos.Traditionally, introductory programming courses emphasize the development of logical reasoning and the construction of programs, more than any other skill. In theses couses, well-defined problems are resources used to assist students in their learning of programming. However, this teaching approach has a problem: it fails to expose students to a realistic problem solving process, involving the problem space (understanding the problem and requirements specification) along with the solution space (program construction). Thus, there have been too many reports in the literature concerning the novice students’ difficulties in understanding ill-defined problems and requirements specification. To address the problem presented, we defended that introductory programming courses should (i) use teaching strategies that take programming as part of Software Engineering, and (ii) develop activities that enable students to go from requirements specification to the program by solving of ill-defined problems. Based on this, we have designed a teaching methodology called Problem Oriented Programming (POP). POP is characterized as a set of activities that can be inserted to the introductory programming courses. It consists of a cycle of problem solving that puts into practice typical activities of the Software Engineering, such as: requirements elicitation and specification, testing and programming. POP has been evaluated by means of case studies and controlled experiments. For the experiments, we have adopted a set of variables found to be most representative of the students’ performance when dealing with the problem space together with the solution space. In 83:3% of all observed variables, POP students exhibited far greater efficiency than non-POP students. To exemplify this: in both experiments, POP students documented, on average, over 79% of the requirements that the non-POP students. Furthermore, POP students implemented four versions less of the program to meet all the requirements compared with the non-POP students. Despite the fact that the results cannot be generalized, the way we treated the threats to validity allow us to ensure the quality of our results.Universidade Federal de Campina GrandeBrasilCentro de Engenharia Elétrica e Informática - CEEIPÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃOUFCGCOSTA, Evandro de Barros.COSTA, E. B.http://lattes.cnpq.br/5760364940162939GUERRERO, Dalton Dario Serey.GUERRERO, D. D. S.http://lattes.cnpq.br/2050632960242405FIGUEIREDO, Jorge César Abrantes de.MASSONI, Tiago Lima.CHAVEZ, Christina Von Flach Garcia.SOARES, Sergio Castelo Branco.MENDONÇA, Andréa Pereira.2010-11-302019-09-02T18:06:10Z2019-09-022019-09-02T18:06:10Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesishttp://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/6556MENDONÇA, A. P. Programação orientada ao problema: uma metodologia para entendimento de problemas e especificação no contexto de ensino de programação para iniciantes. 2010. 203 f. Tese (Doutorado em Ciência da Computação) – Programa de Pós-Graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande, Paraíba, Brasil, 2010. Disponível em: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/6556porFAPEAMinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFCGinstname:Universidade Federal de Campina Grande (UFCG)instacron:UFCG2022-03-14T17:50:07Zoai:localhost:riufcg/6556Biblioteca Digital de Teses e Dissertaçõeshttp://bdtd.ufcg.edu.br/PUBhttp://dspace.sti.ufcg.edu.br:8080/oai/requestbdtd@setor.ufcg.edu.br || bdtd@setor.ufcg.edu.bropendoar:48512022-03-14T17:50:07Biblioteca Digital de Teses e Dissertações da UFCG - Universidade Federal de Campina Grande (UFCG)false
dc.title.none.fl_str_mv Programação orientada ao problema: uma metodologia para entendimento de problemas e especificação no contexto de ensino de programação para iniciantes.
Problem-oriented programming: a methodology for problem understanding and specification in the context of beginner programming teaching.
title Programação orientada ao problema: uma metodologia para entendimento de problemas e especificação no contexto de ensino de programação para iniciantes.
spellingShingle Programação orientada ao problema: uma metodologia para entendimento de problemas e especificação no contexto de ensino de programação para iniciantes.
MENDONÇA, Andréa Pereira.
Programação de Computadores - Ensino
Engenharia de Software
Aprendizagem de Programação
Disciplinas Introdutórias de Programação
Programação Orientada ao Problema (POP)
Computer Programming - Teaching
Software Engineering
Programming Learning
Introductory Programming Disciplines
Problem Oriented Programming (POP)
Ciência da Computação
Engenharia de Software
title_short Programação orientada ao problema: uma metodologia para entendimento de problemas e especificação no contexto de ensino de programação para iniciantes.
title_full Programação orientada ao problema: uma metodologia para entendimento de problemas e especificação no contexto de ensino de programação para iniciantes.
title_fullStr Programação orientada ao problema: uma metodologia para entendimento de problemas e especificação no contexto de ensino de programação para iniciantes.
title_full_unstemmed Programação orientada ao problema: uma metodologia para entendimento de problemas e especificação no contexto de ensino de programação para iniciantes.
title_sort Programação orientada ao problema: uma metodologia para entendimento de problemas e especificação no contexto de ensino de programação para iniciantes.
author MENDONÇA, Andréa Pereira.
author_facet MENDONÇA, Andréa Pereira.
author_role author
dc.contributor.none.fl_str_mv COSTA, Evandro de Barros.
COSTA, E. B.
http://lattes.cnpq.br/5760364940162939
GUERRERO, Dalton Dario Serey.
GUERRERO, D. D. S.
http://lattes.cnpq.br/2050632960242405
FIGUEIREDO, Jorge César Abrantes de.
MASSONI, Tiago Lima.
CHAVEZ, Christina Von Flach Garcia.
SOARES, Sergio Castelo Branco.
dc.contributor.author.fl_str_mv MENDONÇA, Andréa Pereira.
dc.subject.por.fl_str_mv Programação de Computadores - Ensino
Engenharia de Software
Aprendizagem de Programação
Disciplinas Introdutórias de Programação
Programação Orientada ao Problema (POP)
Computer Programming - Teaching
Software Engineering
Programming Learning
Introductory Programming Disciplines
Problem Oriented Programming (POP)
Ciência da Computação
Engenharia de Software
topic Programação de Computadores - Ensino
Engenharia de Software
Aprendizagem de Programação
Disciplinas Introdutórias de Programação
Programação Orientada ao Problema (POP)
Computer Programming - Teaching
Software Engineering
Programming Learning
Introductory Programming Disciplines
Problem Oriented Programming (POP)
Ciência da Computação
Engenharia de Software
description Tradicionalmente, as disciplinas introdutórias de programação enfatizam o desenvolvimento do raciocínio lógico e a construção de programas mais que qualquer outra habilidade. Nestas disciplinas, problemas bem definidos são recursos utilizados para auxiliar os estudantes na aprendizagem de programação. Entretanto, essa abordagem de ensino apresenta um problema: ela não expõe os estudantes a um processo de resolução de problemas realista, que contempla o espaço do problema (entendimento de problemas e especificação de requisitos) em conjunto com o espaço da solução (construção de programas). Em virtude disto, são freqüentes os relatos da literatura acerca das dificuldades dos estudantes iniciantes em lidar com entendimento de problemas mal definidos e especificação de requisitos. Para tratar o problema apresentado, nós defendemos que as disciplinas introdutórias de programação devem (i) utilizar estratégias de ensino que assumam a programação como parte da Engenharia de Software; e (ii) desenvolver atividades que permitam aos estudantes irem da especificação dos requisitos ao programa, por meio da resolução de problemas mal definidos. Baseados nisto, nós concebemos uma metodologia de ensino denominada Programação Orientada ao Problema (POP). POP caracteriza-se por um conjunto de atividades que podem ser inseridas na disciplina introdutória de programação. Ela é constituída por um ciclo de resolução de problemas que põe em prática atividades típicas da Engenharia de Software, tais como, elicitação e especificação de requisitos, testes e programação. Nós avaliamos POP por meio de estudos de caso e experimentos controlados. Nos experimentos, nós adotamos um conjunto de variáveis que consideramos representativas do bom desempenho dos estudantes para lidar com o espaço do problema em conjunto com o espaço da solução. Das variáveis observadas, em 83;3% delas os estudantes POP foram mais eficientes que os estudantes não-POP. Para exemplificarmos, nos dois experimentos, os estudantes POP documentaram, em média, mais de 79% de requisitos que os estudantes não-POP. Além disso, implementaram 4 versões a menos do programa para atender a todos os requisitos, quando comparados aos estudantes não-POP. Embora os resultados não possam ser generalizados, o tratamento que fizemos das ameaças à validade nos permite aferir a qualidade dos resultados obtidos.
publishDate 2010
dc.date.none.fl_str_mv 2010-11-30
2019-09-02T18:06:10Z
2019-09-02
2019-09-02T18:06:10Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/6556
MENDONÇA, A. P. Programação orientada ao problema: uma metodologia para entendimento de problemas e especificação no contexto de ensino de programação para iniciantes. 2010. 203 f. Tese (Doutorado em Ciência da Computação) – Programa de Pós-Graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande, Paraíba, Brasil, 2010. Disponível em: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/6556
url http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/6556
identifier_str_mv MENDONÇA, A. P. Programação orientada ao problema: uma metodologia para entendimento de problemas e especificação no contexto de ensino de programação para iniciantes. 2010. 203 f. Tese (Doutorado em Ciência da Computação) – Programa de Pós-Graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande, Paraíba, Brasil, 2010. Disponível em: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/6556
dc.language.iso.fl_str_mv por
language por
dc.relation.none.fl_str_mv FAPEAM
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal de Campina Grande
Brasil
Centro de Engenharia Elétrica e Informática - CEEI
PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
UFCG
publisher.none.fl_str_mv Universidade Federal de Campina Grande
Brasil
Centro de Engenharia Elétrica e Informática - CEEI
PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
UFCG
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da UFCG
instname:Universidade Federal de Campina Grande (UFCG)
instacron:UFCG
instname_str Universidade Federal de Campina Grande (UFCG)
instacron_str UFCG
institution UFCG
reponame_str Biblioteca Digital de Teses e Dissertações da UFCG
collection Biblioteca Digital de Teses e Dissertações da UFCG
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da UFCG - Universidade Federal de Campina Grande (UFCG)
repository.mail.fl_str_mv bdtd@setor.ufcg.edu.br || bdtd@setor.ufcg.edu.br
_version_ 1809744391063994368