Turning Padawans into Jedis

Using worked examples to improve newcomers' skills in free software projects.

Many novice developers take part in free software projects to improve their skills, one of which is programming. However, developers who participate in Free Software projects face many difficulties in their first steps, and often have to learn on their own. In a previous study, we showed that 80% of newcomers end up giving up. They face barriers to learning the skills needed to perform a task, as well as getting help from project members. Without adequate support, newcomers become demotivated, consume community resources and end up giving up. The overall aim of this project is to support newcomers in acquiring skills from the outset of their contributions to a free software project. One aspect neglected in the literature is how newcomers acquire new skills in such projects and how it is possible to support this process. Free software projects offer a great opportunity for learning based on worked examples, which the literature shows is an effective approach to acquiring technical knowledge and skills in other contexts.

Free software projects openly publish their code and tasks. These tasks can be selected by developers to be solved. As well as developing skills by working on existing open tasks, beginners can analyze closed tasks (and the associated code), which can serve as worked examples. Thus, we propose to guide novices in the acquisition of skills through the use of worked examples and the mapping of skills that are needed to complete tasks in a way that novices learn from previously completed tasks. These strategies are unexplored in the literature related to Software Engineering, which is a highly complex, abstract and context-dependent activity.

Implementation of entire project can be found here: Code