Juha Helminen
Aalto University
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Juha Helminen.
international computing education research workshop | 2010
Lauri Malmi; Judy Sheard; Simon; Roman Bednarik; Juha Helminen; Ari Korhonen; Niko Myller; Juha Sorva; Ahmad Taherkhani
This paper presents a preliminary analysis of research papers in computing education. While previous analysis has explored what research is being done in computing education, this project explores how that research is being done. We present our classification system, then the results of applying it to the papers from all five years of ICER. We find that this subset of computing education research has more in common with research in information systems than with that in computer science or software engineering; and that the papers published at ICER generally appear to conform to the specified ICER requirements.
international computing education research workshop | 2014
Lauri Malmi; Judy Sheard; Simon; Roman Bednarik; Juha Helminen; Päivi Kinnunen; Ari Korhonen; Niko Myller; Juha Sorva; Ahmad Taherkhani
We analyze the Computing Education Research (CER) literature to discover what theories, conceptual models and frameworks recent CER builds on. This gives rise to a broad understanding of the theoretical basis of CER that is useful for researchers working in that area, and has the potential to help CER develop its own identity as an independent field of study. Our analysis takes in seven years of publications (2005-2011, 308 papers) in three venues that publish long research papers in computing education: the journals ACM Transactions of Computing Education (TOCE) and Computer Science Education (CSEd), and the conference International Computing Education Research Workshop (ICER). We looked at the theoretical background works that are used or extended in the papers, not just referred to when describing related work. These background works include theories, conceptual models and frameworks. For each background work we tried to identify the discipline from which it originates, to gain an understanding of how CER relates to its neighboring fields. We also identified theoretical works originating within CER itself, showing that the field is building on its own theoretical works. Our main findings are that there is a great richness of work on which recent CER papers build; there are no prevailing theoretical or technical works that are broadly applied across CER; about half the analyzed papers build on no previous theoretical work, but a considerable share of these are building their own theoretical constructions. We discuss the significance of these findings for the whole field and conclude with some recommendations.
koli calling international conference on computing education research | 2012
Ville Karavirta; Juha Helminen; Petri Ihantola
In this paper, we present a tool that facilitates the learning of programming by providing a mobile application for Parsons problems. These are small assignments where learners build programs by ordering and indenting fragments of code. Parsons problems are well-suited to the mobile context as the assignments form small chunks of learning content that individually require little time to go through and may be freely divided across multiple learning sessions. Furthermore, in response to previous analysis of students using a web environment for Parsons problems, we describe improvements to the automatic feedback given in these assignments.
koli calling international conference on computing education research | 2014
Arto Vihavainen; Juha Helminen; Petri Ihantola
While computing educators have put plenty of effort into researching and developing programming environments that make it easier for students to create their first programs, these tools often have only little resemblance with the tools used in the industry. We report on a study, where students with no previous programming experience started to program directly using an industry strength programming environment. The programming environment was augmented with logging capability that recorded every keystroke and event within the system, which provided a view on how the novices tackle their first lines of code. Our results show that while at first, the students struggle with syntax -- as is typical with learning a new language -- no evidence can be found that suggests that learning to use the programming environment is hard. In a two-week period, the students learned to use the basic features of the programming environment such as specific shortcuts. Although we observed students using copy-paste-programming relatively often, most of the pasted code is from their own previous work. Finally, when considering the compilation errors and error distributions, we hypothesize that the errors are a product of three factors; the exercises, the environment, and the data logging granularity.
koli calling international conference on computing education research | 2013
Petri Ihantola; Juha Helminen; Ville Karavirta
Scaffolded learning tasks where programs are constructed from predefined code fragments by dragging and dropping them (i.e. Parsons problems) are well suited to mobile touch devices, but quite limited in their applicability. They do not adequately cater for different approaches to constructing a program. After studying solutions to automatically assessed programming exercises, we found out that many different solutions are composed of a relatively small set of mutually similar code lines. Thus, they can be constructed by using the drag-and-drop approach if only it was possible to edit some small parts of the predefined fragments. Based on this, we have designed and implemented a new exercise type for mobile devices that builds on Parsons problems and falls somewhere between their strict scaffolding and full-blown coding exercises. In these exercises, we can gradually fade the scaffolding and allow programs to be constructed more freely so as not to restrict thinking and limit creativity too much while still making sure we are able to deploy them to small-screen mobile devices. In addition to the new concept and the related implementation, we discuss other possibilities of how programming could be practiced on mobile devices.
Journal of Information Technology Education : Innovations in Practice | 2010
Jussi Nikander; Juha Helminen; Ari Korhonen
Introduction Spatial data is data that is located in a multidimensional space (Laurini & Thompson, 1992). In other words, each spatial data item is identified by a set of coordinates, which define its location in relation to other data items. Thus, each spatial data item contains spatial information (coordinates) that describes the location of the item and associated attribute data that describes what it represents. Spatial data is used in numerous disciplines, such as geographic information systems (GIS), computer graphics, robotics, virtual reality, computer-aided design, biology, VLSI design, and many others. In the context of GIS and related disciplines, the data is assumed to model geographic locations on the Earths surface and their associated properties. In this paper, we discuss spatial data in this context. In GIS, there are at least two coordinate axes (x and y, which represent geographical longitude and latitude), and two additional ones (height and time) can also be used. Spatial data algorithms (SDA) are algorithms designed to process and manipulate such data and spatial data structures are entities used to store the data. Spatial data structures are based on regular non-spatial data structures such as arrays and trees, as well as algorithms that manipulate these basic structures. However, the multidimensional nature of spatial data makes them more complex than the basic data structures. This also makes the design and implementation of efficient spatial data algorithms more difficult. For example, dictionary structures for spatial data must be able to locate data items according to their coordinates instead of using one-dimensional key values. Furthermore, the spatial nature of the data makes teaching spatial data algorithms more challenging than basic non-spatial data structures and algorithms. For example, in order to show both how data items are related to each other and how they are arranged in a data structure, typically two illustrations are required: one to show the data items and the space they occupy, and another to show the data structures. Consequently, the learner must be able to connect the illustrations in order to comprehend how the data is organized. In basic data structures, on the other hand, the relationships between the data items are typically distinguishable with just a single picture. SDA and associated data structures are an integral part of geoinformatics, a branch of science where computer science is applied to cartography and geosciences. The data geoinformatics studies is location data on the Earths surface, and therefore SDA are required for efficient storage and processing. Geoinformatics is also closely related to cartography, and therefore many different kinds of illustrations are used. Maps are the most fundamental way to represent spatial information. Visualization of maps is in itself a large, varied and important field (Slocum, McMaster, Kessler, & Howard, 2004). However, since many spatial data sets have several properties for each location, other visualization methods are also required for understanding the data. For example, multivariate visualization techniques such as parallel coordinate plots or star plots can be used in conjunction with map views. A map view shows how the data is distributed geographically, while other views show what information the data contains. Software Visualization (SV) is a branch of software engineering that aims to use graphics and animation to illustrate the different aspects of software (Stasko, Domingue, Brown, & Price, 1998). Price, Baecker, and Small (1993) divide SV into two subcategories: program visualization (PV) and algorithm visualization (AV). PV is the use of various visual techniques to enhance the human understanding of computer programs. It is typically used to illustrate actual, implemented programs. AV, on the other hand, illustrates abstractions of algorithmic concepts and is independent of any actual algorithm implementation. …
international computing education research workshop | 2012
Juha Helminen; Petri Ihantola; Ville Karavirta; Lauri Malmi
software visualization | 2010
Juha Helminen; Lauri Malmi
koli calling international conference on computing education research | 2013
Juha Helminen; Petri Ihantola; Ville Karavirta
2013 Learning and Teaching in Computing and Engineering | 2013
Juha Helminen; Petri Ihantola; Ville Karavirta; Satu Alaoutinen