| Index: > A B C D E F G H I J K L M N O P Q R S T U V W X Y Z |
|
|||||
| First Prev [ 1 2 3 ] Next Last |
One of the first commercial uses of computers was in processing payroll and other financial records, so the programs (and, indeed, the programming languages themselves) were designed to generate reports in the standard "spreadsheet" format bookkeepers and accountants used. The more available and affordable computers themselves became in the last quarter of the 20th century, the more software became available for them, and programs to keep financial records and generate spreadsheet reports were always in demand. Those spreadsheet programs can be used to tabulate many kinds of information, not just financial records, so the term "spreadsheet" has developed a more general meaning as information (= data = facts) presented in a rectangular table, usually generated by a computer.
Educational research supports the use of spreadsheets both in K-12 and teacher education and in professional development. Abramovich and Nabors describe how using spreadsheets helped seventh grade algebra students develop problem-solving skills. Molyneux-Hodgson et. al states that the results of their study "suggest the possibility of enhancing students' capability to shift between a wider range of representations using the modeling approach embedded in computer environments such as a spreadsheet" . Dudgale reports a project that involved experienced K-12 teachers in mathematical modeling and problem solving using spreadsheets and concludes that teachers developed models that exhibited a wide variety of mathematics topics and approaches in different grade levels.
Just as the early programming languages were designed to generate spreadsheet printouts, programming techniques themselves have evolved to process tables (= spreadsheets = matrices) of data more efficiently in the computer itself. A spreadsheet program is designed to perform general computation tasks using spatial relationships rather than time as the primary organizing principle. Many programs designed to perform general computation use timing, the ordering of computational steps, as their primary way to organize a program. A well defined entry point is used to determine the first instructions, and all other instructions must be reachable from that point.
In a spreadsheet, however, a set of cells is defined, with a spatial relation to one another. In the earliest spreadsheets, this arrangments were a simple two-dimensional grid. Over time, the model has been expanded to include a third dimension, and in some cases a series of named grids. The most advanced examples allow inversion and rotation operations which can slice and project the data set in various ways.
The cells are functionally equivalent to variables in a sequential programming model. Cells often have a formula, a set of instructions which can be used to compute the value of a cell. Formulas can use the contents of other cells or external variables such as the current date and time. It is often convenient to think of a spreadsheet as a mathematical graph, where the nodes are spreadsheet cells, and the edges are references to other cells specified in formulas. This is often called the dependency graph of the spreadsheet. References between cells can take advantage of spatial concepts such as relative position and absolute position, as well as named locations, to make the spreadsheet formulas easier to understand and manage.
Spreadsheets usually attempt to automatically update cells when the cells on which they depend have been changed. The earliest spreadsheets used simple tactics like evaluating cells in a particular order, but modern spreadsheets compute a minimal recomputation order from the dependency graph. Later spreadsheets also include a limited ability to propagate values in reverse, altering source values so that a particular answer is reached in a certain cell. Since spreadsheet cells formulas are not generally invertable, though, this technique is of somewhat limited value.
Many of the concepts common to sequential programming models have analogues in the spreadsheet world. For example, the sequential model of the indexed loop is usually represented as a table of cells, with similar formulas. Cyclic dependency graphs produce the traditional construct known as the infinite loop. Most spreadsheets allow iterative recalculation in the presence of these cyclic dependencies, which can be either directly controlled by a user or which stop when threshold conditions are reached.
The power of spreadsheets derives largely from the fact that human beings have a well developed intuition about spaces, and a well developed notion of dependency between items. Thus, many people find it easier to perform complex calculations in a spreadsheet than writing the equivalent sequential program.