June 14, 2015
June 14, 2015
June 17, 2015
Computing & Information Technology
26.1373.1 - 26.1373.8
Simulating the execution of algorithms using students as actorsPurpose and contextData structures and algorithms courses are usually taught by showing examples in the boardor trough slides. This cause little stimulation in the students, who often get bored in class.Besides, it is not uncommon that students understand the examples shown in class but areunable to generalize to new situations.MethodologyWe propose a methodology for learning algorithms, data structures, and graphs, throughsimulations using students as actors. For sorting algorithms, students represent data and theyare sorted by their name. The instructor explains the basic idea behind the algorithm andasks students to perform the comparisons and movements necessary to implement the idea.For example, for insertion sort, students are told that the basic idea is to produce a sequenceof subarrays such that every time a new element is added, the subarray is guaranteed to besorted. The newly incorporated student is responsible for directing the comparisons andmovements that ensure that the subarray is sorted. This responsibility demands from thestudents a high level of concentration to achieve the goal. Typically, the students learn thealgorithm after a few steps.For trees, parent-child relations are represented by using strings that students place aroundtheir waist and give to their parent. Insertion and search operations are usually easily derivedby the students. Deletion is more complex, but after some discussion, students often find theway to produce it. Attributes like color (e.g., in red-black trees) can be represented by hats.For graphs, strings are sometimes unfeasible because the number of adjacent nodes to a nodecan be large. Hence, we use the blackboard, but students are responsible to draw the nodesand update their attributes. For example, for Dijkstra's algorithm, students create a node withtheir name and pick the adjacent nodes based on some criteria (e.g., students whose initial oftheir surname match the initial of their given name) The distance between the nodes is setaccording to another criteria (e.g., age difference in months). During execution, student areresponsible for dequeueing their node when appropriate, and updating the distances of theirneighbors to the source.ResultsAfter applying the proposed methodology, students were able to simulate in an exam theexecution of an algorithm on a data set or the execution of a set of operations of a datastructures with almost no failure. This produced a significant improvement in the averagegrade of the students.ReferencesAndrew Begel, Daniel D. Garcia, and Steven A. Wolfman. Kinesthetic learning in theclassroom. SIGCSE Bull., 36(1):183–184, March 2004.Michael Goldweber. Two kinesthetic learning activities: Turing machines and basiccomputer organization. In Proceedings of the 16th Annual Joint Conference on Innovationand Technology in Computer Science Education, ITiCSE ’11, pp. 335–335, New York, NY,USA, 2011. ACM.Paolo A. G. Sivilotti and Scott M. Pike. The suitability of kinesthetic learning activities forteaching distributed algorithms. SIGCSE Bull., 39(1):362–366, March 2007.
Camacho, A. (2015, June), Simulating the Execution of Algorithms Using Students as Actors Paper presented at 2015 ASEE Annual Conference & Exposition, Seattle, Washington. 10.18260/p.24710
ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2015 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015