Jorma Sajaniemi
University of Eastern Finland
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Jorma Sajaniemi.
Journal of Visual Languages and Computing | 2000
Jorma Sajaniemi
Abstract Computations in spreadsheets are hard to grasp and consequently many errors remain unnoticed. The problem with the hidden errors lies in the invisibility of the structure of calculations. As a result, auditing and visualization tools are required to make spreadsheets easier to comprehend and to make errors easier to detect. This paper presents a theoretical model of spreadsheets and a technique to describe spreadsheet auditing tools. These are then employed to describe and compare various tools. Moreover, two new visualization mechanisms are introduced. The spreadsheet model reflects not only current spreadsheet systems but also the way people actually use spreadsheets. Theoretically, it is impossible to check the correctness of a spreadsheet without a formal definition of its computations, but our hope is to find visualizations that point out parts of spreadsheets that contain anomalies, i.e. potential locations of errors. The model helps us to understand how such anomalies can be defined.
Computer Science Education | 2005
Jorma Sajaniemi; Marja Kuittinen
Roles of variables is a new concept that captures tacit expert knowledge in a form that can be taught in introductory programming courses. A role describes some stereotypic use of variables, and only ten roles are needed to cover 99% of all variables in novice-level programs. This paper presents the results of an experiment where roles were introduced to novices learning Pascal programming. Students were divided into three groups that were instructed differently: in the traditional way with no treatment of roles; using roles throughout the course; and using a role-based program animator in addition to using roles in teaching. The results show that students are not only able to understand the role concept and to apply it in new situations but—more importantly—that roles provide students a new conceptual framework that enables them to mentally process program information in a way demonstrating good programming skills. Moreover, the use of the animator seems to foster the adoption of role knowledge.
ieee symposia on human centric computing languages and environments | 2002
Jorma Sajaniemi
The use of all variables in 109 novice-level, but expert written, procedural programs were analyzed in order to find a small but still comprehensive set of generic roles that describe the nature of the successive values a variable obtains. This paper gives the results of the analysis: a list of only nine roles that cover 99% of variables, frequencies of the roles, and discovered role changes.
software visualization | 2003
Jorma Sajaniemi; Marja Kuittinen
Computer programming is a difficult skill for many students and visualizations may be used to foster learning. This paper presents a program animation system, PlanAni, that is based on the concept of the roles of variables. Roles represent schematic uses of variables that occur in programs over and over again, and a set of nine roles covers practically all variables in novice-level programs. PlanAni has been tested in a teaching experiment comparing traditional teaching with role-based teaching and animation. The results of a semi-structured interview with the teacher indicate that students like to work with the animator and that the system clarifies many concepts in programming.
technical symposium on computer science education | 2004
Marja Kuittinen; Jorma Sajaniemi
Computer programming is a difficult skill for many students and new methods and techniques to help novices to learn programming are needed. This paper presents roles of variables as a new concept that can be used to assist in learning and gives detailed instructions on techniques to present roles to novices. These techniques are based on current learning theories and they have been used in a classroom experiment comparing traditional teaching with role-based teaching. The results suggest that the introduction of roles provides students a new conceptual framework that enables them to mentally process programs in a way similar to that of good code comprehenders; the use of role-based animation seems to assist in the adoption of role knowledge and expert-like programming skill.
ACM Transactions on Computing Education \/ ACM Journal of Educational Resources in Computing | 2008
Jorma Sajaniemi; Marja Kuittinen; Taina Tikansalo
Students understanding of object-oriented (OO) program execution was studied by asking students to draw a picture of a program state at a specific moment. Students were given minimal instructions on what to include in their drawings in order to see what they considered to be central concepts and relationships in program execution. Three drawing tasks were given at different phases of an elementary OO programming course where two animation tools were used for program visualization. The drawings were analyzed for their overall approaches and their detailed contents.n There was a large variability in the overall approaches and the popularity of various approaches changed during the course. The results indicate that students mental representations of OO concepts and program execution not only grow as new material is covered in teaching, but they also change. The first drawings treat methods as having primarily a static existence; later methods are seen as dynamic invocations that call each other. The role of classes in program execution fluctuates during learning, indicating problems in locating the notion of class with respect to, for example, objects. Two major sources of problems that manifested in many different forms were the relationship between object and method, and the role of the main method with respect to program state. Other problems were caused by overly simplistic understanding of object identification and improper use of application domain knowledge.
International Journal of Human-computer Studies \/ International Journal of Man-machine Studies | 1989
Pertti Saariluoma; Jorma Sajaniemi
Abstract Spreadsheet calculation causes a heavy memory load, since it is necessary to remember complex cell and calculation systems. A series of experiments were carried out to study the role of visual information chunking in spreadsheet calculation. The experiments showed that a possibility to visual information chunking substantially decreases the memory load caused by spreadsheet calculation. If subjects are able to induce the structure of a formula or a network of connected formulas, they usually learn it fast. The surface structure of a formula may cause subjects essential difficulties in chunking. Badly ordered formula networks, in which cell layers are embedded within each other and references cross each other, are difficult to learn and remember. Subjects are not able to abstract the deep structure and encode formula networks.
technical symposium on computer science education | 2006
Pauli Byckling; Jorma Sajaniemi
Roles of variables capture tacit expert knowledge in a form that can be taught in introductory programming courses. A role describes some stereotypic use of variables, and only ten roles are needed to cover 99% of all variables in novice-level programs. This paper presents the results from a protocol analysis of a program creation task in an experiment where roles were introduced to novices learning Pascal programming. Students were divided into three groups that were instructed differently: in the traditional way with no treatment of roles in lectures or program animation; using roles in lectures but not in animation; and using a role-based program animator in addition to using roles in lectures. The results suggest that the introduction of roles provides novices a new conceptual framework for better mental processing of program information and that the use of role-based program animation increases novices ability to apply data-related programming plans in program construction.
technical symposium on computer science education | 2007
Vesa Vainio; Jorma Sajaniemi
Novice programmers program tracing skills have been found to be poor but the difficulties leading to inefficient tracing are not well known. To study this issue, we conducted exploratory interviews that included program comprehension tasks with novice students and analyzed comprehension protocols to identify specific difficulties affecting novices ability to trace programs. Based on the qualitative analysis, we describe four specific difficulties students had with program tracing-single value tracing, confusing function and structure, inability to use external representations, and inability to raise abstraction level-and discuss ways to help students to overcome these difficulties.
International Journal of Human-computer Studies \/ International Journal of Man-machine Studies | 1994
Pertti Saariluoma; Jorma Sajaniemi
A common subtask in spreadsheet calculation is the transformation of verbal task instructions into spreadsheet formulas. This task can be used to study the relation of imagery to thinking. Research using physics and mathematics problems has indicated that mental transformation from verbal to mathematical representations is not necessarily direct but is intermediated by imagery. Therefore, a human-computer interaction task such as spreadsheet calculation provides a good task environment for analysing mental imagery operations, the role of imagery operations, and the role of intermediate imagery in thinking tasks. Testing the use of imagery in spreadsheet calculations also improves our understanding of representational systems used in this specific task and in user interfaces in general.Four experiments provided different types of evidence for the intermediate imagery hypothesis, which means that subjects do not directly transform verbal instructions into spreadsheet formulas. They first try to code an overall image of the areas referred to by verbal instructions, segment it into suitable fields, and only thereafter do they write down the set of formulas which best extract the information demanded. Typically, the field borders, used in this segmentation are often imagined and are not presented at all in the original verbal task instructions.Intermediate imagery is a relevant notion in discussing the construction of user models because the most important current models, such as GOMS, assume only propositional representations. Also, the use of images should be taken into account in designing spreadsheet packages by providing features which aid analog information processing.