Approaches and Tools for Experiential Learning of Abstract Concepts: The Case of Algorithms

Approaches and Tools for Experiential Learning of Abstract Concepts: The Case of Algorithms

J. Ángel Velázquez-Iturbide
DOI: 10.4018/978-1-6684-8656-6.ch006
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

Some students prefer a concrete approach to learning whereas others prefer an abstract one. Algorithms perform transformations of information, thus they have an abstract nature. Consequently, many students have difficulties in their study. We present two computer-supported approaches to experiential learning of algorithms. On the one hand, program visualization automatically generates graphical representations of the behavior of algorithms, making visible the virtual. On the other hand, algorithm benchmarking gathers and compares data of the performance of several algorithms, making visible their properties with respect to given criteria. The chapter includes a brief motivation and introduction to these issues, followed by a treatment of each educational approach. For each approach, we present an introduction to its foundations, relevant features of educational systems intended to support them, and ways of using them in algorithm courses. We also deal with the successful instructional integration of program visualization and algorithm benchmarking systems into algorithm courses.
Chapter Preview
Top

Background

In this section, we briefly introduce several issues aimed at explaining smoother our proposal regarding visualization and experimentation.

Key Terms in this Chapter

Recursion: A linguistic mechanism consisting in defining something in terms of itself. In mathematics and computer programming, recursion is a valuable tool for definitions and for problem solving.

Optimality: Property of optimization algorithms regarding whether their outcomes are maximal (for maximization problems) or minimal (for minimization problems).

Instructional Alignment: Consistency between the learning goals, instructional activities and assessment tasks of a course.

Random data generation: Automated process that produces one or multiple sets of data whose values are unpredictable in advance and there is no apparent relation between them. Data generation may involve simple values or aggregations of values into data structures.

Redundancy removal: Procedure that transforms a given inefficient algorithm into an equivalent efficient one, where repeated computations of the same subproblems have been eliminated.

Algorithm benchmarking: Experimental comparison, with respect to a given criterion, of the outcomes or the performance of several algorithms that solve the same problem.

Optimization Problem: Combinatorial problem whose solution must optimize a given measure, either as maximization or minimization.

Time Efficiency: Judgment of the running time of an algorithm solves its associated problem in a reasonable lapse of time. It is typically made according to the order of complexity resulting from its formal analysis.

Experimentation: Practical activity where an entity is studied by gathering and analyzing data of its behavior. Ideally, experimentation should be based on the scientific method.

Complete Chapter List

Search this Book:
Reset