Ir al contenido

Documat


Estratégias para o ensino e a aprendizagem da iniciação à programação no ensino superior

  • Autores: José Alberto Quitério Figueiredo
  • Directores de la Tesis: Francisco José García Peñalvo (dir. tes.) Árbol académico
  • Lectura: En la Universidad de Salamanca ( España ) en 2024
  • Idioma: portugués
  • Tribunal Calificador de la Tesis: Fernando Joaquim Lopes Moreira (presid.) Árbol académico, Alicia García Holgado (secret.) Árbol académico, José Alexandre de Carvalho Gonçalves (voc.) Árbol académico
  • Enlaces
  • Resumen
    • español

      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

    • English

      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.

    • português

      A aprendizagem da programação permite adquirir competências técnicas para o desenvolvimento de software. Mas também, o desenvolvimento de competências cognitivas como a resolução de problemas, o raciocínio lógico, a criatividade, ou o pensamento crítico. Competências essas muito apreciadas e vistas como fundamentais para todos os que enfrentam o mercado de trabalho de hoje e do futuro.

      A tecnologia tem um forte impacto na sociedade, ao ensinar programação capacitamos os alunos a entender melhor a tecnologia, a serem utilizadores responsáveis, mais informados e conscientes.

      No entanto, o ensino e a aprendizagem da programação são uma tarefa complexa. As dificuldades no ensino e na aprendizagem da programação tem sido um tema recorrente ao longo dos tempos. Muitos alunos enfrentam dificuldades na fase inicial da aprendizagem da programação. O ensino e a aprendizagem da programação requerem muito trabalho, dedicação e empenho de todos os envolvidos neste processo.

      Esta tese de doutoramento enfrenta o desafio de melhorar o processo de ensino e da aprendizagem da iniciação à programação, num contexto muito específico, na unidade curricular de introdução à programação, do curso de engenharia informática, do Instituto Politécnico da Guarda.

      O nosso grupo de alunos tem caraterísticas muito particulares. A maioria dos alunos do nosso curso tem baixos índices de motivação e fracos conhecimentos gerais. Uma grande percentagem dos alunos não adquire as competências básicas em programação. Este problema é de extrema importância, os fracos conhecimentos em programação serão sempre um elemento bastante perturbador à persecução dos estudos no curso de engenharia informática.

      Com o principal objetivo de minimizar este problema, investigamos, experimentamos e implementamos um conjunto de atividades e metodologias de ensino que nos permitiram melhorar as competências básicas em programação. Para a concretização deste objetivo e, atendendo às características do nosso grupo de estudo, usamos a metodologia de investigação científica, com o desenvolvimento de um artefacto, designada por Design Science Reasearch Methodology.

      Desta investigação resultou uma estratégia para o ensino e a aprendizagem da iniciação à programação que permitiu melhorar significativamente as competências dos nossos alunos.

      Para esta melhoria contribuíram claramente as atividades do pensamento computacional usadas como introdução e um conjunto de atividades de escolha múltipla e parson problems, com feedback imediato, colocadas em prática para os conceitos iniciais da aprendizagem da programação. Mas também, o grande número de exercícios de codificação, também com feedback imediato, disponíveis para os alunos praticar e consolidar os diferentes conceitos de aprendizagem da iniciação à programação.

      Nesta estratégia, incluímos um modelo preditivo do insucesso do aluno, baseado numa rede neuronal, com o objetivo de detetar precocemente as dificuldades do aluno e agir rapidamente em seu auxílio.

      Toda a estratégia envolvida no processo de ensino e de aprendizagem na iniciação à programação, não seria possível de concretizar sem o auxílio de uma ferramenta tecnológica de gestão. Apresentamos neste trabalho, o desenvolvimento de uma ferramenta tecnológica de ajuda ao processo de ensino e de aprendizagem.

      Os resultados obtidos na avaliação da unidade curricular de introdução à programação, em função da estratégia e ferramenta adotada, mostram que melhoramos significativamente o nosso processo de ensino e de aprendizagem. Indicando que estamos no bom caminho e os esforços realizados para que um maior número de alunos adquira as competências básicas em programação, foi concretizado.

      O nosso trabalho tem uma origem e caraterísticas muito particulares, no entanto estamos convictos de que as medidas sugeridas contribuirão com melhorias significativas em qualquer sistema de ensino e de aprendizagem da iniciação à programação.

      Concluímos este trabalho com uma abordagem sobre o que poderá ser a utilização e o impacto de sistemas inteligentes, como o ChatGPT, no ensino e na aprendizagem da iniciação à programação.


Fundación Dialnet

Mi Documat

Opciones de tesis

Opciones de compartir

Opciones de entorno