Please use this identifier to cite or link to this item: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/6556
Full metadata record
DC FieldValueLanguage
dc.creator.IDMENDONÇA, Andréa P.pt_BR
dc.creator.Latteshttp://lattes.cnpq.br/0938462047218130pt_BR
dc.contributor.advisor1COSTA, Evandro de Barros.-
dc.contributor.advisor1IDCOSTA, E. B.pt_BR
dc.contributor.advisor1Latteshttp://lattes.cnpq.br/5760364940162939pt_BR
dc.contributor.advisor2GUERRERO, Dalton Dario Serey.-
dc.contributor.advisor2IDGUERRERO, D. D. S.pt_BR
dc.contributor.advisor2Latteshttp://lattes.cnpq.br/2050632960242405pt_BR
dc.contributor.referee1FIGUEIREDO, Jorge César Abrantes de.-
dc.contributor.referee2MASSONI, Tiago Lima.-
dc.contributor.referee3CHAVEZ, Christina Von Flach Garcia.-
dc.contributor.referee4SOARES, Sergio Castelo Branco.-
dc.description.resumoTradicionalmente, 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.pt_BR
dc.publisher.countryBrasilpt_BR
dc.publisher.departmentCentro de Engenharia Elétrica e Informática - CEEIpt_BR
dc.publisher.programPÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃOpt_BR
dc.publisher.initialsUFCGpt_BR
dc.subject.cnpqCiência da Computaçãopt_BR
dc.subject.cnpqEngenharia de Softwarept_BR
dc.titleProgramação orientada ao problema: uma metodologia para entendimento de problemas e especificação no contexto de ensino de programação para iniciantes.pt_BR
dc.date.issued2010-11-30-
dc.description.abstractTraditionally, 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.pt_BR
dc.identifier.urihttp://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/6556-
dc.date.accessioned2019-09-02T18:06:10Z-
dc.date.available2019-09-02-
dc.date.available2019-09-02T18:06:10Z-
dc.typeTesept_BR
dc.subjectProgramação de Computadores - Ensinopt_BR
dc.subjectEngenharia de Softwarept_BR
dc.subjectAprendizagem de Programaçãopt_BR
dc.subjectDisciplinas Introdutórias de Programaçãopt_BR
dc.subjectProgramação Orientada ao Problema (POP)pt_BR
dc.subjectComputer Programming - Teachingpt_BR
dc.subjectSoftware Engineeringpt_BR
dc.subjectProgramming Learningpt_BR
dc.subjectIntroductory Programming Disciplinespt_BR
dc.subjectProblem Oriented Programming (POP)pt_BR
dc.rightsAcesso Abertopt_BR
dc.creatorMENDONÇA, Andréa Pereira.-
dc.publisherUniversidade Federal de Campina Grandept_BR
dc.languageporpt_BR
dc.title.alternativeProblem-oriented programming: a methodology for problem understanding and specification in the context of beginner programming teaching.pt_BR
dc.relationFAPEAMpt_BR
dc.identifier.citationMENDONÇ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/6556pt_BR
Appears in Collections:Doutorado em Ciência da Computação.

Files in This Item:
File Description SizeFormat 
ANDRÉA PEREIRA MENDONÇA – TESE (PPGCC) 2010.pdfAndréa Pereira Mendonça - Tese ( PPGCC) 20102.41 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.