Show simple item record

dc.contributor.advisorGarcía Peñalvo, Francisco J. es_ES
dc.contributor.authorQuitério Figueiredo, José Alberto
dc.date.accessioned2024-09-30T11:55:22Z
dc.date.available2024-09-30T11:55:22Z
dc.date.issued2024
dc.identifier.urihttp://hdl.handle.net/10366/159853
dc.description.abstract[EN] Learning to program allows you to acquire technical skills for software development. But also, the development of cognitive skills such as problem solving, logical reasoning, creativity, and critical thinking. These skills are highly valued and seen as fundamental for anyone facing the job market today and in the future. Technology has a strong impact on society and by teaching programming we enable students to better understand technology, to be responsible, more informed, and aware users. However, teaching and learning of programming is a complex task. Difficulties in teaching and learning programming have been a recurring theme throughout the ages. Many students face difficulties in the initial stages of learning programming. Teaching and learning programming requires a lot of work, dedication and commitment from everyone involved in this process. This doctoral thesis faces the challenge of improving the teaching and learning process of beginning programming, in a very specific context, in the introduction to programming curricular unit of the computer science course at the Instituto Polit ´ecnico da Guarda. Our group of students has very particular characteristics. Most of the students on our course have low levels of motivation and poor general knowledge. A large percentage of students do not acquire basic programming skills. This problem is extremely important, as poor programming skills will always be a major obstacle to the pursuit of studies in computer science course. With the main objective of minimizing this problem, we investigated, experimented, and implemented a set of activities and teaching methodologies that allowed us to improve basic programming skills. To achieve this goal, and given the characteristics of our study group, we used the scientific research methodology, with the development of an artifact, called Design Science Reasearch Methodology. This research has resulted in a strategy for teaching and learning initial programming that has significantly improved our students’ skills. The computational thinking activities used as an introduction and a set of multiple-choice activities and parson problems, with immediate feedback, put into practice for the initial concepts of learning programming, clearly contributed to this improvement. But also, the large number of coding exercises, also with immediate feedback, available for students to practice and consolidate the different learning concepts of initial programming. In this strategy, we have included a predictive model of student failure, based on a neural network, with the aim of detecting the student’s difficulties early on and acting quickly to help them. The entire strategy involved in the teaching and learning process in the initial programming would not be possible without the help of a technological management tool. In this work, we present the development of a technological tool to aid the teaching and learning process. The results obtained in the evaluation of the Introduction to Programming course, depending on the strategy and tool adopted, show that we have significantly improved our teaching and learning process. This indicates that we are on the right track and that the efforts made to ensure that a greater number of students acquire basic programming skills have been achieved. Our work has a very particular origin and characteristics, but we are convinced that the measures suggested will contribute to significant improvements in any system for teaching and learning initial programming. We conclude this work with an approach to what could be the use and impact of intelligent systems, such as ChatGPT, in teaching and learning initial programming. [ES] Aprender a programar permite adquirir competencias técnicas para el desarrollo de software. Pero también el desarrollo de competencias cognitivas como la resolución de problemas, el razonamiento lógico, la creatividad y el pensamiento cr´ıtico. Estas competencias son muy valoradas y se consideran fundamentales para cualquier persona que se enfrente al mercado laboral de hoy y del futuro. La tecnología tiene un fuerte impacto en la sociedad y enseñando programación permitimos a los estudiantes comprender mejor la tecnología, ser usuarios responsables, más informados y conscientes. Sin embargo, enseñar y aprender a programar es una tarea compleja. Las dificultades en la enseñanza y el aprendizaje de la programación han sido un tema recurrente a lo largo de los tiempos. Muchos estudiantes se enfrentan a dificultades en las fases iniciales del aprendizaje de la programaci ón. Enseñar y aprender programación requiere mucho trabajo, dedicación y compromiso por parte de todos los implicados en este proceso. Esta tesis doctoral aborda el reto de mejorar el proceso de ense˜nanza y el aprendizaje de la iniciación de la programación, en un contexto muy concreto, en la unidad curricular de Introducción a la Programación de la carrera de Ingenieria Informática del Instituto Politécnico de Guarda. Nuestro grupo de estudiantes tiene características muy particulares. La mayoría del estudiantado de nuestro curso tienen bajos niveles de motivación y escasos conocimientos generales. Un gran porcentaje de estudiantes no adquiere conocimientos básicos de programación. Este problema es extremadamente importante, ya que unos conocimientos de programación deficientes siempre serán un obstáculo importante para cursar estudios de ingeniería informática. Con el objetivo principal de paliar este problema, investigamos, experimentamos e implementamos un conjunto de actividades y metodologías didácticas que nos permitieron mejorar las competencias básicas de programación. Para conseguir este objetivo, y dadas las características de nuestro grupo de estudio, utilizamos metodología de investigación científica, con el desarrollo de un artefacto, denominado Design Science Reasearch Methodology. Esta investigación ha dado lugar a una estrategia para la enseñanza y el aprendizaje de la iniciación de la programación que ha mejorado notablemente las competencias de nuestros alumnos. Las actividades de pensamiento computacional utilizadas como introducción y un conjunto de actividades de elección múltiple y problemas de parson, con realimentación inmediato, puestas en pr´ actica para los conceptos iniciales del aprendizaje de la programaci´on, contribuyeron claramente a esta mejora. Pero también, el gran número de ejercicios de codificación, también con realimentación inmediato, puestos a disposición del alumnado para practicar y consolidar los diferentes conceptos de aprendizaje de la programación inicial. En esta estrategia, hemos incluido un modelo predictivo del fracaso escolar, basado en una red neuronal, con el objetivo de detectar precozmente las dificultades del alumnado y actuar con rápidamente para ayudarles. Toda la estrategia implicada en el proceso de ense˜nanza y aprendizaje de la programaci´on para principiantes no ser´ıa posible sin la ayuda de una herramienta tecnológica de gestión. En este trabajo presentamos el desarrollo de una herramienta tecnológica de ayuda al proceso de enseñanza y aprendizaje. Los resultados obtenidos en la evaluación del curso de Introducción a la Programación, en función de la estrategia y la herramienta adoptadas, muestran que hemos mejorado significativamente nuestro proceso de enseñanza y aprendizaje. Esto indica que vamos por el buen camino, y que los esfuerzos realizados para que un mayor número de alumnos adquieran las competencias básicas de programación, se han hecho realidad. Nuestro trabajo tiene un origen y unas características muy particulares, pero estamos convencidos de que las medidas sugeridas supondrán mejoras significativamente en cualquier sistema de la enseñanza y el aprendizaje de la iniciación a la programación. Concluimos este trabajo con una breve aproximación a lo que podría ser el uso e impacto de sistemas inteligentes, como ChatGPT, en la enseñnanza y el aprendizaje de la iniciación a la programación.es_ES
dc.format.mimetypeapplication/pdf
dc.language.isopores_ES
dc.rightsAttribution-NonCommercial-NoDerivatives 4.0 Internacional*
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/4.0/*
dc.subjectTesis y disertaciones académicases_ES
dc.subjectUniversidad de Salamanca (España)es_ES
dc.subjectAcademic Dissertationses_ES
dc.subjectEstrategias de aprendizajees_ES
dc.subjectProgramación de ordenadoreses_ES
dc.subjectEducaciónes_ES
dc.subjectInformáticaes_ES
dc.titleEstratégias para o ensino e a aprendizagem da iniciação à programação no ensino superiores_ES
dc.typeinfo:eu-repo/semantics/doctoralThesises_ES
dc.subject.unesco1203.17 Informáticaes_ES
dc.subject.unesco5802 Organización y Planificación de la Educaciónes_ES
dc.subject.unesco1203.23 Lenguajes de Programaciónes_ES
dc.identifier.doi10.14201/gredos.159853
dc.rights.accessRightsinfo:eu-repo/semantics/openAccesses_ES


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record

Attribution-NonCommercial-NoDerivatives 4.0 Internacional
Except where otherwise noted, this item's license is described as Attribution-NonCommercial-NoDerivatives 4.0 Internacional