0000000000020413

AUTHOR

Ville Tirronen

Teaching types with a cognitively effective worked example format

AbstractTeaching functional programming as a second programming paradigm is often difficult as students can have strong preconceptions about programming. When most of these preconceived ideas fail to be confirmed, functional programming may be seen as an unnecessarily difficult topic. A typical topic that causes such difficulties is the language of types employed by many modern functional languages. In this paper, we focus on addressing this difficulty through the use of step-by-step calculations of type expressions. The outcome of the study is an elaboration of a worked example format and a methodical approach for teaching types to beginner functional programmers.

research product

Study on the Effects of Pseudorandom Generation Quality on the Performance of Differential Evolution

Experiences in the field of Monte Carlo methods indicate that the quality of a random number generator is exceedingly significant for obtaining good results. This result has not been demonstrated in the field of evolutionary optimization, and many practitioners of the field assume that the choice of the generator is superfluous and fail to document this aspect of their algorithm. In this paper, we demonstrate empirically that the requirement of high quality generator does not hold in the case of Differential Evolution.

research product

Teaching programming by emphasizing self-direction: How did students react to the active role required of them?

Lecturing is known to be a controversial form of teaching. With massed classrooms, in particular, it tends to constrain the active participation of students. One of the remedies applied to programming education is to use technology that can vitalize interaction in the classroom, while another is to base teaching increasingly on programming activities. In this article, we present the first results of an exploratory study, in which we teach programming without lectures, exams, or grades, by heavily emphasizing programming activity, and, in a pedagogical sense, student self-direction. This article investigates how students reacted to the active role required of them and what issues emerged in …

research product

Web-wide imaging of paper; Analyzing the potential of on-line light transmittance measurement in quality control and diagnostics of paper

research product

Study on difficulties and misconceptions with modern type systems

Functional programming is often presented as an advantageous programming paradigm by its advocates, but many students and teachers consider it to be hard to learn. One particular hurdle in learning functional programming is mastering the modern type systems employed in these languages. In this article, we identify student difficulties with means of multiple choice questions embedded into the on-line materials of an introductory functional programming course. The most prevalent misconceptions were confusing with parametric polymorphism with subtyping, the assigning too much meaning to variables names, and confounding general language patterns with special cases.

research product

A Memetic Differential Evolution in Filter Design for Defect Detection in Paper Production

This article proposes a Memetic Differential Evolution (MDE) for designing digital filters which aim at detecting defects of the paper produced during an industrial process. The MDE is an adaptive evolutionary algorithm which combines the powerful explorative features of Differential Evolution (DE) with the exploitative features of two local searchers. The local searchers are adaptively activated by means of a novel control parameter which measures fitness diversity within the population. Numerical results show that the DE framework is efficient for the class of problems under study and employment of exploitative local searchers is helpful in supporting the DE explorative mechanism in avoid…

research product

Writing to Learn Programming? : A Single Case Pilot Study

This paper explores the use of writing-to-learn techniques in the context of programming education. It presents a pilot study where a writing assignment is introduced with the purpose of strengthening students' conceptual understanding of a programming construct. The intervention is evaluated using a single case research design, which is augmented by qualitative interview data. Students participating in the study were mildly positive towards the intervention and the results encourage more work on the topic. This work sets directions for further investigations into how writing-to-learn can strengthen programming education and contributes with insights into what kinds of results can be obtain…

research product

How Do Computer Science Students Use Distributed Version Control Systems?

The inclusion of version control systems into computing curricula enables educators to promote competences needed in real-life situations. The use of a version control system also has several potential benefits for the teacher. The teacher might, for instance, use the tool to monitor students’ progress and to give feedback efficiently. This study analyzes how students used the distributed version control system Git in several computing courses. We analyzed students’ commit log data in two advanced programming courses, a second-year introductory software engineering course, and two courses where students developed software products. This enables us to compare Git usage between introductory l…

research product

Classification and retrieval on macroinvertebrate image databases

Aquatic ecosystems are continuously threatened by a growing number of human induced changes. Macroinvertebrate biomonitoring is particularly efficient in pinpointing the cause-effect structure between slow and subtle changes and their detrimental consequences in aquatic ecosystems. The greatest obstacle to implementing efficient biomonitoring is currently the cost-intensive human expert taxonomic identification of samples. While there is evidence that automated recognition techniques can match human taxa identification accuracy at greatly reduced costs, so far the development of automated identification techniques for aquatic organisms has been minimal. In this paper, we focus on advancing …

research product

Benchmark database for fine-grained image classification of benthic macroinvertebrates

Managing the water quality of freshwaters is a crucial task worldwide. One of the most used methods to biomonitor water quality is to sample benthic macroinvertebrate communities, in particular to examine the presence and proportion of certain species. This paper presents a benchmark database for automatic visual classification methods to evaluate their ability for distinguishing visually similar categories of aquatic macroinvertebrate taxa. We make publicly available a new database, containing 64 types of freshwater macroinvertebrates, ranging in number of images per category from 7 to 577. The database is divided into three datasets, varying in number of categories (64, 29, and 9 categori…

research product

Flipping and Blending : An Action Research Project on Improving a Functional Programming Course

This article reports on an action research project on improving a functional programming course by moving toward a practical and flexible study environment—flipped and blended classroom. Teaching the topic of functional programming was found to be troublesome using a traditional lectured course format. The need to increase students’ amount of practice emerged while subsequent challenges relating to students’ independent practical coursework were observed. Particular concerns relating to group work, learning materials, and the attribute of flexibility were investigated during the third action research cycle. The research cycle was analyzed using a qualitative survey on students’ views, teach…

research product

Automatic image‐based identification and biomass estimation of invertebrates

Understanding how biological communities respond to environmental changes is a key challenge in ecology and ecosystem management. The apparent decline of insect populations necessitates more biomonitoring but the time-consuming sorting and expert-based identification of taxa pose strong limitations on how many insect samples can be processed. In turn, this affects the scale of efforts to map and monitor invertebrate diversity altogether. Given recent advances in computer vision, we propose to enhance the standard human expert-based identification approach involving manual sorting and identification with an automatic image-based technology. We describe a robot-enabled image-based identificat…

research product

Stopping injection attacks with code and structured data

Injection attacks top the lists of the most harmful software vulnerabilities. Injection vulnerabilities are both commonplace and easy to exploit, which makes development of injection protection schemes important. In this article, we show how injection attacks can be practically eliminated through the use of structured data paired with cryptographic verification codes upon transmission. peerReviewed

research product

Making teaching of programming learning-oriented and learner-directed

Programming education has been traditionally realized in the form of lecturing, but other approaches are under discussion. These emphasize active participation on the part of students, and, as a research activity, consider pedagogic questions holistically. We join this discussion by stating a course design in which we promote a learning-oriented study culture where learning should not be characterized principally as the task of meeting some predefined completion requirements. Moreover, we want our course to be learner-directed meaning that students should take control over their own learning process. Grounded on these goals, this discussion paper gives us a starting point for a subsequent a…

research product

Estimating Programming Exercise Difficulty using Performance Factors Analysis

This Work in Progress Paper studies student and exercise modelling based on pass/fail log data gathered from an introductory programming course. Contemporary education capitalizes on the communications technology and remote study. This can create distance between the teacher and students and the resulting lack of awareness of the difficulties students encounter can lead to low student satisfaction, dropout and poor grades. In many cases, various technological solutions are used to collect individual exercise submissions, but there are little resources for indexing or modelling the exercises in depth. Exercise specific feedback from students may not be easily obtainable either. In the presen…

research product

Critical Exploration of Flexible Delivery

This work-in-progress research article presents an introductory qualitative study on students' perceptions of a flexibly delivered, modular computer science course. Many contemporary approaches to education rely in various ways on flexible delivery of course content. This is often done to capitalize on modern technology and the web, and to put the student ‘in the center.' However, it is becoming manifest that these approaches may challenge both the students and the equity between them, making it important to understand the effects of flexible delivery in terms of the students. In the voice of our students, flexible delivery was seen as a largely positive approach, reducing stress, promoting…

research product

A replication study on the intuitiveness of programming language syntax

AbstractIn this article, we present a replication of an empirical experiment that evaluates intuitiveness and comprehensibility of keywords relating to different concepts in programming languages, originally conducted by Stefik and Gellenbeck. Novice programmers face many barriers when learning programming. One of these barriers is syntax, which for many languages is not designed based on empirical evidence. The purpose of the experiment was to provide more empirical evidence on the subject, to find out if the results of the original experiment can be replicated and if conducting the experiment in an environment where English is not the native language affects the results. The results of ou…

research product

Fixed versus Growth Mindset Does not Seem to Matter Much

Psychology predicts that a student’s mindset—their implicit theory of intelligence—has an effect on their academic performance. We attempted to corroborate this in the computer science education context by asking the students on two bachelor-level courses, typically taken in the third year of studies, to fill out a standard mindset questionnaire, and analyzing their answers in relation to their grades on those courses. In a sample of 133 students, with only 24 (18 %) students with a clear fixed mindset, there is no detectable correlation between the students’ mindsets and their course grades. An ordinal logistic regression estimates, at the 95 % confidence level, a statistically nonsignific…

research product

Automatic image-based identification and biomass estimation of invertebrates

1. Understanding how biological communities respond to environmental changes is a key challenge in ecology and ecosystem management. The apparent decline of insect populations necessitates more biomonitoring but the time-consuming sorting and expert-based identification of taxa pose strong limitations on how many insect samples can be processed. In turn, this affects the scale of efforts to map and monitor invertebrate diversity altogether. Given recent advances in computer vision, we propose to enhance the standard human expert-based identification approach involving manual sorting and identification with an automatic image-based technology. 2. We describe a robot-enabled image-based ident…

research product

Incorporating teacher-student dialogue into digital course material : Usage patterns and first experiences

This work-in-progress research investigates teacher-student communication via Learning Management Systems (LMS) in highly populated courses. An LMS called TIM (The Interactive Material) includes a specific commenting technology that attempts to make teacher-student dialog effortless. The research goal is to explore students’ willingness to use the technology and identify patterns of usage. To these ends, a survey with both Likert and open-ended questions was issued to CS1 and CS2 students. A favorable student evaluation was observed while several critical viewpoints that inform technology development were revealed. We noticed that besides appreciating the possibility of making comments, man…

research product

Flipping and Blending : An Action Research Project on Improving a Functional Programming Course

This article reports on an action research project on improving a functional programming course by moving towards a practical and flexible study environment—flipped and blended classroom. Teaching the topic of functional programming was found to be troublesome using a traditional lectured course format. The need to increase students’ amount of practice emerged, while subsequently challenges relating to students’ independent practical coursework were observed. Particular concerns relating to group work, learning materials, and the attribute of flexibility were investigated during the third action research cycle. The research cycle was analyzed using a qualitative survey on students’ views, t…

research product

Evaluating the performance of artificial neural networks for the classification of freshwater benthic macroinvertebrates

Abstract Macroinvertebrates form an important functional component of aquatic ecosystems. Their ability to indicate various types of anthropogenic stressors is widely recognized which has made them an integral component of freshwater biomonitoring. The use of macroinvertebrates in biomonitoring is dependent on manual taxa identification which is currently a time-consuming and cost-intensive process conducted by highly trained taxonomical experts. Automated taxa identification of macroinvertebrates is a relatively recent research development. Previous studies have displayed great potential for solutions to this demanding data mining application. In this research we have a collection of 1350 …

research product

A Study on scale factor in distributed differential evolution.

This paper proposes the employment of multiple scale factor values within distributed differential evolution structures. Four different scale factor schemes are proposed, tested, compared and analyzed. Two schemes simply employ multiple scale factor values and two also include an update logic during the evolution. The four schemes have been integrated for comparison within three recently proposed distributed differential evolution structures and tested on several various test problems. Numerical results show that, on average, the employment of multiple scale factors is beneficial since in most cases it leads to significant improvements in performance with respect to standard distributed alg…

research product

Fitness diversity based adaptation in Multimeme Algorithms:A comparative study

This paper compares three different fitness diversity adaptations in multimeme algorithms (MmAs). These diversity indexes have been integrated within a MmA present in literature, namely fast adaptive memetic algorithm. Numerical results show that it is not possible to establish a superiority of one of these adaptive schemes over the others and choice of a proper adaptation must be made by considering features of the problem under study. More specifically, one of these adaptations outperforms the others in the presence of plateaus or limited range of variability in fitness values, another adaptation is more proper for landscapes having distant and strong basins of attraction, the third one, …

research product

On the design of effective learning materials for supporting self-directed learning of programming

This paper reports on the action research that studies how to implement self-directed learning of programming in the academic context. Based on our findings from the previous steps with this research agenda, we focus on the design of learning materials. That is, we aim to facilitate the students' self-directed learning by developing illustrative and concise materials that the students could use to efficiently develop theoretical understanding of the learning topics. In designing the materials, we will rely on the cognitive load theory as the guiding theoretical framework. The paper demonstrates the planning stage of our second action research cycle.

research product

An enhanced memetic differential evolution in filter design for defect detection in paper production.

This article proposes an Enhanced Memetic Differential Evolution (EMDE) for designing digital filters which aim at detecting defects of the paper produced during an industrial process. Defect detection is handled by means of two Gabor filters and their design is performed by the EMDE. The EMDE is a novel adaptive evolutionary algorithm which combines the powerful explorative features of Differential Evolution with the exploitative features of three local search algorithms employing different pivot rules and neighborhood generating functions. These local search algorithms are the Hooke Jeeves Algorithm, a Stochastic Local Search, and Simulated Annealing. The local search algorithms are adap…

research product

Differential Evolution with Fitness Diversity Self-adaptation

This chapter proposes the integration of fitness diversity adaptation techniques within the parameter setting of Differential Evolution (DE). The scale factor and crossover rate are encoded within each genotype and self-adaptively updated during the evolution by means of a probabilistic criterion which takes into account the diversity properties of the entire population. The population size is also adaptively controlled by means of a novel technique based on a measurement of the fitness diversity. An extensive experimental setup has been implemented by including multivariate problems and hard to solve fitness landscapes. A comparison of the performance has been conducted by considering both…

research product

Understanding beginners' mistakes with Haskell

AbstractThis article presents an overview of student difficulties in an introductory functional programming (FP) course taught in Haskell. The motivation for this study stems from our belief that many student difficulties can be alleviated by understanding the underlying causes of errors and by modifying the educational approach and, possibly, the teaching language accordingly. We analyze students' exercise submissions and categorize student errors according to compiler error messages and then manually according to the observed underlying cause. Our study complements earlier studies on the topic by applying computer and manual analysis while focusing on providing descriptive statistics of d…

research product

A framework for evaluating student interaction with automatically assessed exercises

Automatic assessment has become a widely used technique in programming courses. Even though modern techniques can practically ensure functional correctness of student solutions, it is less clear how to promote quality interaction between students and the automatic assessment systems. In this article we propose a simple analytical framework for studying student interaction with the automatic assessment systems and use it to study our functional programming course.

research product

Issues with a course that emphasizes self-direction

In this paper, we examine a master's level course that emphasizes self-direction on the part of students. The course is run by weekly group assignments and requires independent work such that only one mandatory classroom session is arranged each week. Our specific research interests are how students responded to the setting of this kind and whether they demonstrated self-direction during the course. We surveyed the students' view of the course, their group work experience, and their study habits, and analyzed the resultant survey data for themes. The results suggest that while the pass rate was considerably high and the course was regarded as well-organized by the students, there were sever…

research product

In-Flow Peer Review

Peer-review is a valuable tool that helps both the reviewee, who receives feedback about his work, and the reviewer, who sees different potential solutions and improves her ability to critique work. In-flow peer-review (IFPR) is peer-review done while an assignment is in progress. Peer-review done during this time is likely to result in greater motivation for both reviewer and reviewee. This workinggroup report summarizes IFPR and discusses numerous dimensions of the process, each of which alleviates some problems while raising associated concerns.

research product

Human experts vs. machines in taxa recognition

The step of expert taxa recognition currently slows down the response time of many bioassessments. Shifting to quicker and cheaper state-of-the-art machine learning approaches is still met with expert scepticism towards the ability and logic of machines. In our study, we investigate both the differences in accuracy and in the identification logic of taxonomic experts and machines. We propose a systematic approach utilizing deep Convolutional Neural Nets with the transfer learning paradigm and extensively evaluate it over a multi-pose taxonomic dataset with hierarchical labels specifically created for this comparison. We also study the prediction accuracy on different ranks of taxonomic hier…

research product

Memetic Differential Evolution Frameworks in Filter Design for Defect Detection in Paper Production

This chapter studies and analyzes Memetic Differential Evolution (MDE) Frameworks for designing digital filters, which aim at detecting paper defects produced during an industrial process. MDE Frameworks employ the Differential Evolution (DE) as an evolutionary framework and a list of local searchers adaptively coordinated by a control scheme. Here, three different variants of MDE are taken into account and their features and performance are compared. The binomial explorative features of the DE framework in contraposition to the exploitative features of the local searcher are analyzed in detail in light of the stagnation prevention problem, typical for the DE. Much emphasis in this chapter …

research product