Compartir
Título
Estratégias para o ensino e a aprendizagem da iniciação à programação no ensino superior
Autor(es)
Director(es)
Palabras clave
Tesis y disertaciones académicas
Universidad de Salamanca (España)
Academic Dissertations
Estrategias de aprendizaje
Programación de ordenadores
Educación
Informática
Clasificación UNESCO
1203.17 Informática
5802 Organización y Planificación de la Educación
1203.23 Lenguajes de Programación
Fecha de publicación
2024
Resumen
[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.
URI
DOI
10.14201/gredos.159853
Collections
Files in this item
Tamaño:
3.254Mb
Formato:
Adobe PDF
Descripción:
Tesis