The mathability of spreadsheet tools - IEEE Xplore

0 downloads 0 Views 453KB Size Report
Oct 21, 2015 - Abstract—In the present paper, we compare low and high mathability level spreadsheet tools. Firstly, we provide proof that the widely accepted ...
CogInfoCom 2015 • 6th IEEE International Conference on Cognitive Infocommunications • October 19-21, 2015, Győr, Hungary

The mathability of spreadsheet tools Piroska Biró

Mária Csernoch

University of Debrecen, Faculty of Informatics Department of Information Technology Debrecen, Hungary [email protected]

University of Debrecen, Faculty of Informatics Department of Library and Information Sciences Debrecen, Hungary [email protected]

Abstract—In the present paper, we compare low and high mathability level spreadsheet tools. Firstly, we provide proof that the widely accepted and practiced surface approaches are responsible for error-prone spreadsheet documents. In addition to this, we introduce Sprego, and demonstrate that it is a high mathability level method. We provide examples of how spreadsheets are programmable with Sprego, how the concepts and the algorithms can be built specifically for the problems involved, and how they can be discussed and debugged. In general, we give evidence to show how spreadsheets serve as functional languages, and as such are high level mathability tools. Keywords—high and low mathability level spreadsheet tools, Sprego, programming in spreadsheets, functional language

I.

INTRODUCTION

A. The mathability of computer tools Mathability has recently been introduced to measure the flexibility of computer tools. “This usage has basically two forms: in some cases we use existing functions and methods provided by a system, and we apply these tools to solve the problems. Another possibility is, if we, based on existing means of the system, develop new programs and functions for solving new problems.” [1], [2]. Based on the phenomenon of mathability and the metacognitive computer problem solving approaches [3], we have advanced one step further, and defined the mathability of the different computer problem solving approaches [3]. Here we claim a mathability rank on a 5-point Likert-scale: •

concept-based [4], [5] – Level 5,



Computer Algorithmic And Debugging based, CAADbased [3], [5] – Level 4,



algorithmic-based [4], [5] – Level 3,



information-based [4], [5] – Level 2,



Trial-And-Error Wizard based, TAEW-based [3] – Level 1.

The concept- and CAAD-based approaches are deep approach problem solving methods, which focus on the original problem and lead to real world problem solving. These methods can develop computational thinking effectively [6]. However, the algorithmic-, the information-, and the TAEWbased approaches focus on the tools rather than the problem, and as such are less effective, surface approach methods. The

978-1-4673-8129-1/15/$31.00 ©2015 IEEE

lowest mathability ranked TAEW-based approach plays a marginal role. Applying the methods of this group is not necessarily problem solving, but involves wandering around on the Graphical User Interface (GUI), which usually leads to non-discussed, non-debugged outputs. The original concept of mathability focuses on the mathematical ability of the mixture of human and ICT devices and capabilities. It claims that when a human is coevolved with personnel ICT then the mathematical ability of human is rather extended [1], [7], [8]. However, with the different approaches to computer tools and problem solving, we have found that the methods on the different levels of mathability rank would match the original concept of mathability with different intensity. Methods with high level mathability indeed fulfill the expectation of coginfocom, and an extension of the mathability of humans can be detected. However, this statement in general not necessarily fits methods with all mathability levels, especially not the lowest levels. Consequently, the different mathability levels require deeper analyses and novel methods to allow us to make distinctions between the mathability of computer tools. B. The mathability of spreadsheet tools In the present paper we focus on the mathability of spreadsheet tools, including the spreadsheet programs, their help surfaces, and the coursebooks written for these software programs. The mathability of spreadsheet tools are measured according to how well they support problem solving, depending on the built-in functions and the programmability of the tools [1], [2]. The spreadsheet programs can be used on any of the mathability levels. However, the mathability level indicates how effective the selected method is. At a high mathability level spreadsheet programs are considered and used as a programming environment in functional programming languages [9] – [12], and are concept- and CAAD-based methods. On the other hand, spreadsheet programs can be used as click-on tools, an approach which is supported by the software companies and most courses (an example is [13]), although these methods can be categorized as low mathability approaches. Analyses of the spreadsheet help surfaces revealed that they only fulfill the requirements of mathability Levels 1 and 2. The software companies, with the increasing number of functions – 338 [14], 444 [15], 458 [16], [17] – and other GUI-support

– 105 –

P. Biró and M. Csernoch • The mathability of spreadsheet tools

spreadsheet tools, hide this low mathability rank behind “userfriendly” slogans. Untrained and/or mistrained end-users tend to rely on these convincing commercial messages, which leads to the extremely high percentage of error-prone documents, causing serious financial losses in the process of data and information dissemination and also in the retrieval processes [18] – [23]. Beyond this, we have analyzed the available coursebooks in Hungary, and found that most of them focus on coding details, instead of the algorithmic approach to problem solving. In these books 171 functions were named, and they incorporated a twofold copy of the help surfaces [24] in the sense that (1) there was a lack of real problems and (2) they focused on the coding details. As such they are at the mathability Level 2. It was also found that the coding details have two platforms. One commonly publicized method is when the focus is on the sequences of clicks, which suggests that the predefined processes should be followed. This approach is at mathability Level 1, i.e. the TAEW-based problem solving approach. The other low level approach for providing a complete formula without the algorithm of the problem, which is Level 2, is the information-based approach. Our analyses of coursebooks have led us to the conclusion that the coursebooks prefer this Level 2 approach. Within this framework coursebooks try to introduce as high a number of functions as possible, usually copying the Level 2 examples of the help surfaces.

users. In a computerized environment problem solving is achieved in the following four steps: •

Collecting data, identifying the characteristics of the problem. The following step is based on this information.



Building the algorithm. In advance of any actual coding these first two steps of the concept-based problem solving methods must be carried out.



Coding. This is the usage of the spreadsheet program, i.e. the actual problem solving.



Discussion, the debugging of the result is the final step.

We must note here that the process of problem solving is not necessarily a sequential order of the steps listed above, since backtracking is possible at any point, depending on the progress made in terms of the process and/or the output. One example of real world tables is presented in Fig. 1. This table holds five columns of data about the countries of the world in 235 records.

We can conclude that the mathability of these approaches is at Level 1 or 2, which means that they are not effective enough to teach and use in spreadsheet management. II.

Fig. 1. The countries of the world. The table contains five columns: the name of the country (A), the continent (B), the capital city (C), the area (D), and the population in thousands (E). In addition one variable is named (cell G2) [28].

SPREGO IN SPREADSHEET MANAGEMENT

A. Sprego functions We have invented and introduced Sprego [25] – [27], which is a concept- and CAAD-based approach to problem solving in spreadsheet management. Sprego defines a set of general purpose functions – Sprego functions – and claims that based on these functions we can perform real problem solving on authentic tables containing real world data. The basic Sprego functions, a group called Sprego12 or the Sprego dozen, are the following: SUM(), AVERAGE(), MIN(), MAX(), LEFT(), RIGHT(), LEN(). SEARCH(), IF(), INDEX(), MATCH(), ISERROR(). The set of Sprego functions is an open set, so additional general purpose functions can be included, considering the needs of the students and/or the tasks. However, we must emphasize that Sprego functions only include general functions – problem specific functions are not accepted. B. Real world problems The main characteristic of Sprego problem solving is that it is based on data from authentic tables, and problems are proposed in the form of real world questions and tasks. In the teaching-learning process these tasks are mainly posted by teachers, but later on this can be done by students and end-

III. INCREASING THE MATHABILITY OF SPREADSHEET TOOLS We claim that with the Sprego functions, instead of using the problem specific functions, we can increase the mathability of spreadsheet management from Level 1 to Level 5. Spreadsheet management is regarded as low level routine knowledge [29], and along with data- and information management in other software environments, is blamed for failures in informatics teaching [30], [31]. As was mentioned in the previous section, this approach to spreadsheet management originates in the software companies’ profit oriented slogans and is accepted by the wider public. Neither Bell and Newton nor Grove categorized problem solving approaches and did not look into the process of problem solving. Consequently, they were not able to realize that the problem is rooted not in the environment but in the low-level problem solving approaches. What they claimed as low-level routine knowledge is nothing other than a problem solving approach with Level 1 mathability. Several previous studies have claimed that functional languages, and especially spreadsheet languages, could serve both as introductory languages and as the ultimate language of end-users [5] – [12]. However, they have not developed methods which would serve well in classroom environments.

– 106 –

CogInfoCom 2015 • 6th IEEE International Conference on Cognitive Infocommunications • October 19-21, 2015, Győr, Hungary

Sprego is a programming tool for use in spreadsheet environments. It takes advantage both of the functional language of the spreadsheets and the GUI in which the coding, the displaying of the results, and the debugging is carried out. The process of effective problem solving, the stages of which are listed in the previous section, is followed in Sprego [31] – [34]. The problem solving starts unplugged with the first two steps. When the plan is clear, the steps of the algorithm are clearly declared, and the coding – the building of the formulas – is carried out. The final step is the discussion and the debugging of the result, with the necessary backtracking.

Based on the table of the countries of the world presented in Fig. 1 [31] we can compare Level 1 and 5 solutions to problems (Task 1 – Task 3), programming in Sprego (Task 1 – Task 7), and an example of building schema [41], [42] in Task 7.

Coding is a bottom-up technique in Sprego. Since simple, general purpose functions are used, to solve real world problems these functions have to be built into multilevel functions. In practice, we start with the innermost function. This provides an output. This output is one of the arguments of the function outside it. This outer function provides an output again, and this process continuous until we reach the outermost function, whose output is the result of the problem. This approach in spreadsheet management is a conceptbased approach, at mathability Level 5. It fulfills all the requirements of this level, and serves well in developing the students’ computational thinking [6] and algorithmic skills [35] – [40]. A. Examples In the following, we first present examples of how the mathability of spreadsheet problem solving can be increased, and then show how spreadsheets are programmable with Sprego. One widely used but ineffective set of functions are the *IF?() functions [25]. These are the functions which contain condition(s), but with several serious restrictions: • •

different programs and versions of these programs are not compatible due to these functions, the increase in the number of these functions is in vain, since it is impossible to create functions for all possible existing problems,



with the increasing number of functions only nuances are between them, and the descriptions of them in the wizards and the help interfaces which the users do not understand,



the argument lists of these functions are confusing,



there is only the AND connection between the conditions,



these functions do not accept functions as arguments unconditionally,



there is inconsistency in the syntax of handling inequality and variables.

These restrictions show some of the consequences of Level 1 mathability. However, if we apply methods of Level 5 mathability, as Sprego does, we are free of these problems, and we can focus on the original task, instead of the coding details and the surface management.



Task 1 – Task 3 are examples of how the built-in *IF?() functions can be replaced with Sprego formulas. The process of solving these problems is beyond the scope of the present article. For details see previously published papers and books [25]–[27].



Task 4 represents a problem which cannot be solved with the *IF?() functions. We have to note here that there is another set of built-in functions which can be applied with a wide range of conditions – the database functions [43]. However, the use of these functions requires higher level algorithmic skills, which beginners do not have.



Task 4 is also an example of how the set of Sprego12 functions can be expanded with additional general purpose functions.



Task 5 is an example of how the Sprego formulas can be extended.



Task 6 – Task 7 give an outline of the problem solving process in Sprego from the first step of building the concept to discussion, and examples of possible backtracking steps.

Task 1

The number of countries whose area is less than G2.

Solution 1

S1 or S2 or S3

The coding of Task 1 S1.

Sprego

{=SUM(IF(D2:D236

Suggest Documents