USING SYMBOLIC COMPUTATION FOR TEACHING DATA STRUCTURES AND ALGORITHM ANALYSIS Joan Krone Department of Mathematics and Computer Science Denison University Granville, Ohio 43023 krone@denison.edu INTRODUCTION When students are introduced for the first time to the concepts in algorithm analysis, they are faced, among other things, with understanding the concept ofbig-O and the need for setting up and solving recurrence relations. We will see here how the use of symbolic computation can aid in mastering both tasks. Moreover, symbolic computation can help in setting up test data sets when students implement programs, in particular those in which they define abstract data types. At Denison University in our Data Structures and Algorithms course, we use the symbolic computation package called MAPLE. However, the ideas presented here can probably be achieved with other such packages as well. COMPARING GROWTH RATES Once students have been introduced to the concept of big-O, a common assignment is one in which students are asked to put several functions in order according to growth. For example, log(n) comes betbre rt, which in turn comes betbre nlog(n). Even though it is obvious to students that the values associated with log(n) are smaller than those associated with n
/lp/association-for-computing-machinery/using-symbolic-computation-for-teaching-data-structures-and-algorithm-9YwZHcK50B