Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Matti Luukkainen is active.

Publication


Featured researches published by Matti Luukkainen.


technical symposium on computer science education | 2011

Extreme apprenticeship method in teaching programming for beginners

Arto Vihavainen; Matti Paksula; Matti Luukkainen

Learning a craft like programming is efficient when novices learn from people who already master the craft. In this paper we define Extreme Apprenticeship, an extension to the cognitive apprenticeship model. Our model is based on a set of values and practices that emphasize learning by doing together with continuous feedback as the most efficient means for learning. We show how the method was applied to a CS I programming course. Application of the method resulted in a significant decrease in the dropout rates in comparison with the previous traditionally conducted course instances.


integrating technology into computer science education | 2011

Extreme apprenticeship method: key practices and upward scalability

Arto Vihavainen; Matti Paksula; Matti Luukkainen; Jaakko Kurhila

Programming is a craft that can be efficiently learned from people who already master it. Our previous work introduced a teaching method we call Extreme Apprenticeship (XA), an extension to the cognitive apprenticeship model. XA is based on a set of values that emphasize doing and best programming practices, together with continuous feedback between the master and the apprentice. Most importantly, XA is individual instruction that can be applied even in large courses. Our initial experiments (n = 67 and 44) resulted in a significant increase in student achievement level compared to previous courses. In this paper, we reinforce the validity of XA by larger samples (n = 192 and 147) and a different lecturer. The results were similarly successful and show that the application of XA can easily suffer if the core values are not fully adhered to.


conference on information technology education | 2012

Three years of design-based research to reform a software engineering curriculum

Matti Luukkainen; Arto Vihavainen; Thomas Vikberg

Most of the research-oriented computer science departments provide software engineering education. Providing up-to-date software engineering education can be problematic, as practises used in modern software development companies have been developed in the industry and as such do not often reach teachers in university contexts. The danger, and often the unfortunate reality, is that institutions giving education in software engineering end up teaching the subject using outdated practices with technologies no longer in use. In this article we describe a three-year design-based research where the goal has been to design and reform a software engineering subtrack within our bachelor curriculum that would make it possible for the students to have strong up-to-date theoretical and practical skills in software engineering without a need to remove any of the existing theoretical aspects.


integrating technology into computer science education | 2013

Massive increase in eager TAs: experiences from extreme apprenticeship-based CS1

Arto Vihavainen; Thomas Vikberg; Matti Luukkainen; Jaakko Kurhila

Incorporating students to participate as teaching assistants in our CS1 as early as during their second semester has started a snowball effect, in which more and more students want to be a part of the experience. We allow students to contribute and take responsibility in a context they see as meaningful for teaching. The students-as-teachers approach means that they are mentored by senior teachers in the actual teaching context, which guarantees enough peer and faculty support for students undertaking the task. A significant percentage of our students (ca. 20%) participate as teachers. This has brought us several benefits: (1) new students are welcomed to the learning community by other students as representatives of the institution, not just student organizations, (2) students understand and undertake the responsibility of being a teacher early, and (3) a massive number of eager TAs.


conference on information technology education | 2013

Learning agile software engineering practices using coding dojo

Kenny Heinonen; Kasper Hirvikoski; Matti Luukkainen; Arto Vihavainen

Information technology and computer science educators are experiencing an industry-driven change from plan-based software engineering development processes to more people-oriented Agile software engineering approaches. While plan-based software engineering practices have traditionally been taught in lectures, Agile practices can often be best learned by experiencing them in a realistic situation. One approach for bringing Agile practices to the learning community is a coding dojo, where a group of participants solve a programming task together using test-driven development and pair programming. Coding dojo is a form of learning which values concrete experience in a realistic context. In our experiment, we embedded a coding dojo into the Agile practices part of our undergraduate software engineering course. The participating students considered the coding dojo a useful experience, and most of them (82%) would recommend participation in coding dojos for their fellow students, as well.


technical symposium on computer science education | 2012

A software craftsman's approach to data structures

Matti Luukkainen; Arto Vihavainen; Thomas Vikberg

Data Structures (CS2) courses and course books do not usually put much emphasis in the process of how a data structure is engineered or invented. Instead, algorithms are readily given, and the main focus is in the mathematical complexity analysis of the algorithms. We present an alternative approach on presenting data structures using worked examples, i.e., by explicitly displaying the process that leads to the invention and creation of a data stucture and its algorithms. Our approach is heavily backed up by some of the best programming practices advocated by the Agile and Software Craftsmanship communities. It brings the often mathematically oriented CS2 course closer to modern software engineering and practical problem solving, without a need for compromise in proofs and analysis.


computer aided verification | 2001

EASN: Integrating ASN.1 and Model Checking

Vivek K. Shanbhag; K. Gopinath; Markku Turunen; Ari Ahtiainen; Matti Luukkainen

Telecommunication protocol standards have in the past and typically still use both an English description of the protocol and an ASN.1[5] specification of the data-model. ASN.1 (Abstract Syntax Notation One) is an ITU/ISO data definition language which has been developed to describe abstractly the values protocol data units can assume; this is of considerable interest for model checking as ASN.1 can be used to constrain/construct the state space of the protocol accurately. However, with current practice, any change to the English description cannot easily be checked for consistency while protocols are being developed. In this work, we have developed a SPIN-based tool called EASN (Enhanced ASN.1) where the behavior can be formally specified through a language based upon Promela for control structures but with data models from ASN.1. We use the X/Open standard on ASN.1/C++ translation so that our tool can be realised with pluggable components. We have used EASN to validate a simplified RLC in the W-CDMA (3G GSM) stack. In this short paper1, we discuss the EASN language, the tool, and an example usage.


international conference on agile software development | 2013

Early Start in Software Coaching

Thomas Vikberg; Arto Vihavainen; Matti Luukkainen; Jaakko Kurhila

The demand for software coaching and coaches is increasing. As our programming courses are organized according to the Extreme Apprenticeship method, it is relatively safe and straightforward to allow students to participate as coaches in our CS1 course even as early as their second semester. Safety is ensured by the hierarchical structure of CS1 course personnel that provides enough peer and faculty support for students undertaking the task of coaching. We briefly describe the Extreme Apprenticeship method as well as the organization and the learning objectives in our coaching environment. Results acquired from student coaches (N=46) indicate that the learning experience of coaching is highly valued and deemed especially educational for the coaches without harming the learning results of the coachees.


software engineering and advanced applications | 2017

Patterns for Designing and Implementing an Environment for Software Start-Up Education

Fabian Fagerholm; Arto Hellas; Matti Luukkainen; Kati Kyllönen; Sezin Gizem Yaman; Hanna Mäenpää

Todays students are prospective entrepreneurs and employees in modern, start-up like environments within established companies. In these settings, software development projects face extreme requirements in terms of innovation and attractiveness of the end-product. They also suffer severe consequences of failure such as termination of the development effort and bankruptcy. As the abilities needed in start-ups are not among those traditionally taught in universities, new knowledge and skills are required to prepare students for the volatile environment that new market entrants face. This paper reports experiences gained during seven years of teaching start-up knowledge and skills in a higher-education institution. We offer a collection of patterns that help educational institutions to design, implement and operate physical environments, curricula and teaching materials, and to plan interventions that may be required for project-based start-up education.


Archive | 2013

Test My Code: An Automatic Assessment Service for the Extreme Apprenticeship Method

Arto Vihavainen; Matti Luukkainen; Martin Pärtel

We describe an automated assessment system called Test My Code (TMC) which is designed to support instructors’ and students’ work in programming courses that use the Extreme Apprenticeship method. From the students’ point of view TMC is a transparent assessment service that is integrated to a industry-standard programming environment. TMC allows scaffolding during students’ working process, retrieves and updates exercises on the fly, and causes no overhead to the programming process. From the instructors’ perspective, TMC allows collaborative crafting of exercises with small goals that combine into bigger programs, gathering snapshots from students’ actual programming process, and collecting feedback. TMC has been successfully used in MOOCs in programming as well as in our university courses.

Collaboration


Dive into the Matti Luukkainen's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Arto Hellas

University of Helsinki

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge