Reflexiones sobre la impartición de asignaturas de algoritmos

Abstract

Ha habido más debate sobre la enseñanza de la introducción a la programación que sobre la enseñanza de cualquier otra materia informática. Sin embargo, es aconsejable, incluso necesario, debatir sobre la docencia de esta materia. Esta comunicación es una reflexión sobre la docencia de la algoritmia, abordando tres temas. Primero, se resalta que los problemas resueltos con varias técnicas destacadas de diseño son de optimización, comentando algunas implicaciones de este hecho. Segundo, se aboga por un enfoque experimental para el aprendizaje de los algoritmos, complementario del más extendido enfoque formal. En concreto, mostramos cómo pueden usarse la visualización y la comparación experimental para que los algoritmos sean más concretos para los alumnos. Tercero, se argumenta que algunos modelos conceptuales presentes en la mayoría de los libros de texto sobre algoritmos son imprecisos, dificultando el aprendizaje de los temas correspondientes. Analizamos esta cuestión en tres técnicas de diseño de algoritmos: la técnica voraz, programación dinámica y ramificación y poda.There has been more debate about the teaching of introductory programming than the teaching of any other informatics matter. However, it is advisable, even necessary, to discuss how to teach this subject matter. This position paper meditates on this concern by addressing three themes. Firstly, it is remarked that problems addressed by several common algorithm design techniques are optimization problems, and some implications are discussed. Secondly, it is advocated an experiential approach to learning algorithms, which would complement the more usual formal approach. In particular, we show how visualization and benchmarking can be used to make algorithms more concrete to students. Thirdly, it is argued that some conceptual models present in most algorithm textbooks are imprecise, making difficult to learn their corresponding topics. We elaborate on this concern for three design techniques, namely greedy algorithms, dynamic programming and branch-and-bound.Este trabajo se ha financiado con el proyecto de investigación e-Madrid-CM (S2018/TCS-4307) de la Comunidad Autónoma de Madrid y los proyectos-puente PROGRAMA de la Universidad Juan Carlos (M2614 y M3035). El proyecto e-Madrid-CM también está financiado con los fondos estructurales FSE y FEDER

    Similar works