DSpace/Manakin Repository

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

Mostrar registro simples

dc.creator.ID MENDONÇA, Andréa P. pt_BR
dc.creator.Lattes http://lattes.cnpq.br/0938462047218130 pt_BR
dc.contributor.advisor1 COSTA, Evandro de Barros.
dc.contributor.advisor1ID COSTA, E. B. pt_BR
dc.contributor.advisor1Lattes http://lattes.cnpq.br/5760364940162939 pt_BR
dc.contributor.advisor2 GUERRERO, Dalton Dario Serey.
dc.contributor.advisor2ID GUERRERO, D. D. S. pt_BR
dc.contributor.advisor2Lattes http://lattes.cnpq.br/2050632960242405 pt_BR
dc.contributor.referee1 FIGUEIREDO, Jorge César Abrantes de.
dc.contributor.referee2 MASSONI, Tiago Lima.
dc.contributor.referee3 CHAVEZ, Christina Von Flach Garcia.
dc.contributor.referee4 SOARES, Sergio Castelo Branco.
dc.description.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. pt_BR
dc.publisher.country Brasil pt_BR
dc.publisher.department Centro de Engenharia Elétrica e Informática - CEEI pt_BR
dc.publisher.program PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO pt_BR
dc.publisher.initials UFCG pt_BR
dc.subject.cnpq Ciência da Computação pt_BR
dc.subject.cnpq Engenharia de Software pt_BR
dc.title Programaçã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.issued 2010-11-30
dc.description.abstract 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. pt_BR
dc.identifier.uri http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/6556
dc.date.accessioned 2019-09-02T18:06:10Z
dc.date.available 2019-09-02
dc.date.available 2019-09-02T18:06:10Z
dc.type Tese pt_BR
dc.subject Programação de Computadores - Ensino pt_BR
dc.subject Engenharia de Software pt_BR
dc.subject Aprendizagem de Programação pt_BR
dc.subject Disciplinas Introdutórias de Programação pt_BR
dc.subject Programação Orientada ao Problema (POP) pt_BR
dc.subject Computer Programming - Teaching pt_BR
dc.subject Software Engineering pt_BR
dc.subject Programming Learning pt_BR
dc.subject Introductory Programming Disciplines pt_BR
dc.subject Problem Oriented Programming (POP) pt_BR
dc.rights Acesso Aberto pt_BR
dc.creator MENDONÇA, Andréa Pereira.
dc.publisher Universidade Federal de Campina Grande pt_BR
dc.language por pt_BR
dc.title.alternative Problem-oriented programming: a methodology for problem understanding and specification in the context of beginner programming teaching. pt_BR
dc.relation FAPEAM pt_BR
dc.identifier.citation 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 pt_BR


Arquivos deste item

Este item aparece na(s) seguinte(s) coleção(s)

Mostrar registro simples

Buscar DSpace


Busca avançada

Navegar

Minha conta