Jorma Sajaniemi’s research while affiliated with University of Eastern Finland and other places

What is this page?


This page lists works of an author who doesn't have a ResearchGate profile or hasn't added the works to their profile yet. It is automatically generated from public (personal) data to further our legitimate goal of comprehensive and accurate scientific recordkeeping. If you are this author and want this page removed, please let us know.

Publications (73)


Teaching Programming: Going beyond "Objects First
  • Article

11 Reads

·

20 Citations

Jorma Sajaniemi

·

Chenglie Hu

The prevailing paradigm in teaching elementary program- ming uses Java as the first programming language and the "objects first" approach as the conceptual basis. This approach has several short- comings, e.g., high drop-out rates and poor skills in basic constructs like loops. This paper suggests an alternative approach that combines a strong start in basic constructs with early object-orientation. The key idea of our approach is to start with concepts that are common to both procedural and object-oriented programming, i.e., basic control and data structures and a simple form of the interplay between responsi- bility and implementation. Only then various abstraction mechanisms— procedural, functional, object-oriented, and data as well as the interplay between responsibility and implementation in these abstractions—will be introduced. The alternative approach is also compared with the ACM Computing Curricula.


Fig. 1. Human program comprehension as a process.
Table 1 . Internal knowledge representation in selected models of human program comprehension.
Fig. 2. An overview of APC.
Table 2 . Mental model characteristics.
Fig. 3. An overview of machine learning enhanced automatic program comprehension.

+3

Introducing Learning into Automatic Program Comprehension
  • Article
  • Full-text available

153 Reads

Automatic program comprehension applications, which try to extract programming knowledge from program code, share many fea- tures of human program comprehension models. However, the human trait of learning seems to be missing among the shared features. We present an approach to integrate machine learning techniques into auto- matic program comprehension, and present an example implementation in the context of automatic analysis of roles of variables.

Download

An Experiment on the Effects of Engagement and Representation in Program Animation Perception

13 Reads

When visualization tools utilized in computer science education have been evaluated empirically, the results have been controversial. The extent to which the tools have benefited learning has remained unclear, as well as the ways through which the benefit has been achieved. In our research, we have chosen to vary type of students' engagement and representation of the visualization tool in a series of experiments, in order to investigate the phenomena taking place during individual viewing of visualizations. In the current experiment, we varied student engagement using two different tasks to perform during viewing; data flow task (D) and control flow task (C). Repre-sentation of visualization was varied by using two versions of the program ani-mator; one with special images and animation, and one without. The results show that while the distribution of visual attention of the participants performing task D was steady throughout the time, the participants performing task C focused their visual attention at the beginning almost solely on the code, and increased their visual attention to the other parts of the visualization on the second half of the viewing. The participants performing task D also benefited most from the tool, at least regarding programming knowledge.


Citations (59)


... For instance, 'tip of the iceberg' is a visual metaphor frequently used to describe that something being discussed, encountered, felt, or experienced is a relatively small proportion of a much larger concept, situation or problem that remains unexplored (Schuman, Rowe, Glazer, & Redding, 1977). Furthermore, verbal metaphors and their visual counterparts are also commonly used in scientific writings (Robson, 1985), medicine (Marcos, 1997), biology (Shilo, 2013), physiology (Paton, 1992), chemistry (Bhushan & Rosenfeld, 1995), psychiatry (Alyami et al., 2015), psychology (Nash, 1962;Stott et al., 2010), computer science (Carroll & Mack, 1985;Petre & Blackwell, 1999;Stützle & Sajaniemi, 2005), and films (Forceville, 2015). ...

Reference:

Enhancing suicide risk assessment through the use of visual metaphor
An Empirical Evaluation of Visual Metaphors in the Animation of Roles of Variables

Informing Science The International Journal of an Emerging Transdiscipline

... Although the study found some important differences, a larger sample size may have allowed more precise characterisation of differences between sub-groups. While a larger number of participants would give greater confidence in the findings, we note that studies of small numbers of participants (ranging from 10 to 30 participants) are commonly published in the health services research and survey research literature [34,[48][49][50][51][52]. The nature of eye tracking data also facilitates the collection of a large number of data points within a relatively small sample-i.e. ...

Comparison of Three Eye Tracking Devices in Psychology of Programming Research
  • Citing Conference Paper
  • January 2004

... Se encarga de estudiar la cognición de los programadores de computadoras, así como herramientas y métodos para actividades relacionadas con la programación y su aprendizaje. Aborda también la usabilidad desde el punto de vista humano y una gran variedad de fenómenos, desde problemas de principiantes hasta el conocimiento de los expertos, desde la etapa de diseño hasta la etapa de pruebas y desde programas cortos e individuales hasta grandes sistemas creados en colaboración (Sajaniemi, 2008). Existen por lo menos cinco paradigmas psicológicos desde los cuales se abordan los problemas de la programación (Curtis, 1988): 1) Diferencias individuales. ...

Psychology of Programming: Looking into Programmers’ Heads

Human Technology

... However, users expressing low self-efficacy may also be unintentionally downplaying their proficiency. Previous research highlights that technical spreadsheet proficiency is often expressed in the context of one's domain knowledge [22], [23]. Therefore, it is important to consider not only general spreadsheet self-efficacy (GSE), which concerns general technical spreadsheet proficiency, but also contextspecific self-efficacy (CSSE), or proficiency in the context of one's work-related tasks. ...

A mental model perspective for tool development and paradigm shift in spreadsheets

International Journal of Human-Computer Studies

... That is, it should consist of a small number of parts that interact in ways that can be easily understood. " [37, p. 265] As others before [37,77,83,120], we distinguish between conceptual simplicity of program behavior and syntactic simplicity; we focus on the former. ...

From Procedures To Objects: A Research Agenda For The Psychology Of Object-oriented Programming Education

Human Technology

... Computer programming is a complex skill with cognitive and noncognitive challenges (McCracken et al., 2001). To develop flexible programming skills, students need to learn programming syntax (Altadmri & Brown, 2015;Sajaniemi & Navarro-Prieto, 2005), understand programming concepts (Bayman & Mayer, 1983;Cañas et al., 1994;Ma, 2007;Ma et al., 2007;Sirkiä & Sorva, 2012), and coordinate and apply this knowledge to solve novel problems (see Qian & Lehman, 2017 for a review). Students also need to regulate emotions that arise during learning (Bosch et al., 2014;D'Mello & Graesser, 2011), maintain motivation and engagement, and persist in the face of failure (Renumol et al., 2010). ...

Roles of variables in experts’ programming knowledge

... Mental models: Developers have mental models of the spreadsheets with which they develop or interact [47] [48][49] [50]. Thus, understanding their mental models will lead to better knowledge of why spreadsheet development is error-prone and enable the development of new tools and techniques that better correspond to spreadsheet developers' cognitive abilities. ...

A domain terms visualization tool for spreadsheets

... Since labels have been successfully employed in the past for annotating and explaining cells [4,19,26,29], we use labels to explain a set of references by one or two (row and/or column) labels ℓ ∈ Lab = Val ∪ Val × Val. More precisely, based on a relationship L ⊆ A × A where (a, a ′ ) ∈ L whenever the ...

Visualizing the Problem Domain for Spreadsheet Users: A Mental Model Perspective