Reflections on Teaching Algorithm Courses

There has been much less debate within the computing research community about teaching algorithms than about teaching introductory programming.However, it is advisable (or even necessary) to hold public discussions about different issues, independently of more focused research efforts.This position paper addresses two themes.Firstly, it advocates for an experiential approach to learning algorithms, as a complement to the more common formal and engineering approaches.We show how visualization and benchmarking can make algorithms more concrete to students and their learning more active and insightful.Secondly, we argue that some conceptual models present in algorithm textbooks are imprecise, or even implicit, making difficult to learn their corresponding topics.We elaborate on this concern by stressing that several algorithm design techniques address a specific class of problems (namely, optimization ones) and by visiting several aspects of three design techniques (greedy algorithms, dynamic programming and branch-and-bound). CCS ConceptsTheory of computation~Design and analysis of algorithms~Algorithm design techniques Social and professional topics~Professional topics~Computing education~Computing education programs~Computer science education

Authors

Institutions

Publication Details

Published
2025-02-12
DOI
https://doi.org/10.1145/3641554.3701937
Citations
2
Primary Topic
Teaching and Learning Programming
Type
article
Field-Weighted Citation Impact
3.39

Funders

Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Reflections on Teaching Algorithm Courses

J. Ángel Velázquez‐Iturbide
2 citations
Teaching and Learning Programming
3.39
article

Reflections on Teaching Algorithm Courses

J. Ángel Velázquez‐Iturbide
article en
2 citations

Abstract

There has been much less debate within the computing research community about teaching algorithms than about teaching introductory programming.However, it is advisable (or even necessary) to hold public discussions about different issues, independently of more focused research efforts.This position paper addresses two themes.Firstly, it advocates for an experiential approach to learning algorithms, as a complement to the more common formal and engineering approaches.We show how visualization and benchmarking can make algorithms more concrete to students and their learning more active and insightful.Secondly, we argue that some conceptual models present in algorithm textbooks are imprecise, or even implicit, making difficult to learn their corresponding topics.We elaborate on this concern by stressing that several algorithm design techniques address a specific class of problems (namely, optimization ones) and by visiting several aspects of three design techniques (greedy algorithms, dynamic programming and branch-and-bound). CCS ConceptsTheory of computation~Design and analysis of algorithms~Algorithm design techniques Social and professional topics~Professional topics~Computing education~Computing education programs~Computer science education

Universidad Rey Juan Carlos (ES)
European Regional Development Fund, Agencia Estatal de Investigación
Quality Education
Openalex Percentile: Top 8%
Teaching and Learning Programming
3.39
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

Reflections on Teaching Algorithm Courses — J. Ángel Velázquez‐Iturbide · (2025) | TGRS Research Map | TGRS