Open Source Projects in Programming Courses
Open Source Projects in Programming Courses
net/publication/221538928
CITATIONS READS
36 1,980
4 authors, including:
All content following this page was uploaded by Andreas Pedroni on 02 June 2014.
ABSTRACT directly into the classroom [4, 7]. In particular, open source
One of the main shortcomings of programming courses is software can be used to emphasize the importance of high
the lack of practice with real-world systems. As a result, quality software design, the role of design patterns, the need
students feel unprepared for industry jobs. In parallel, open of good documentation, and the relevance of social skills in
source software is accepting contributions even from inexpe- a real-world environment.
rienced programmers and achieves software that competes Over the last years, only a few instructors reported on
both in quality and functionality with industrial systems. their experimentation with open source software in the class-
This article describes: first, a setting in which students were room. Allen et. al. [1] used Dr. Java - an open source Java
required to contribute to existing open source software; sec- programming environment - to teach extreme programming
ond, the evaluation of this experience using a motivation techniques. Students of Fuhrman [3] freely chose an open
measuring technique; and third, an analysis of the efficiency source project which they inspected to propose corrections
and commitment of students over the time. The study shows in the design. Fuhrman did not require students to imple-
that students are at first afraid of failing the assignment, but ment their improvements, but many still did. Carrington [2]
end up having the impression of a greater achievement. It allowed students to choose from a list of open source projects
seems also that students are inclined to keep working on that are useful to software engineering and let them inspect,
the project to which they contributed after the end of the report, and extend the tools during his course. Except for
course. contributions by students to Dr. Java, these experiments
refrained from actively submitting changes, bug fixes, or im-
proved designs to the open source projects.
Categories and Subject Descriptors The assignment described here combines the freedom of
K.3.2 [Computer and Information Science Education]: choosing an arbitrary open source project with the ultimate
Computer science education goal of students contributing to it. Allowing students to
freely choose the project, on which they intend to work,
lets them adapt the assignment to their personal interests.
General Terms Requiring students to contribute back to the open source
Management, Experimentation, Human Factors project, increases the prestige of their work and the effort
that they are willing to put in the assignment. Students
Keywords experience all the tasks needed to adapt existing software:
understanding it, identifying a needed improvement, design-
Open source, Project, Assessment, Motivation, Communi- ing the solution, implementing, testing, and adapting to the
ties requirements for contribution. During this work, they need
to get socially involved with the other developers of the open
1. INTRODUCTION source project, having to deal with the communication prob-
We teach software engineering techniques, design patterns, lems that occur frequently with distributed development.
and project development models in our courses. Teaching This paper presents a thorough evaluation of the approach
these topics to students without actually exposing them to by using a questionnaire focusing on students’ motivation [6].
industry grade software may not only sound preachy, but The study compares the motivation of students working
may also leave no remaining impression. Open source soft- on an open source project to the motivation of a control
ware offers great opportunities to bring real-life experience group from another course working on a traditional (exer-
cise) project.
Section 2 reports on the course setup and describes the
project requirements imposed on the students. Section 3
Permission to make digital or hard copies of all or part of this work for provides a thorough evaluation based on a questionnaire
personal or classroom use is granted without fee provided that copies are from motivational psychology and shows the weaknesses and
not made or distributed for profit or commercial advantage and that copies strengths of using open source software. Section 4 extends
bear this notice and the full citation on the first page. To copy otherwise, to the motivational evaluation with results on students’ effi-
republish, to post on servers or to redistribute to lists, requires prior specific
permission and/or a fee.
ciency and commitment. After presenting the interpretation
SIGCSE’07, March 7–10, 2007, Covington, Kentucky, USA. of the results the article concludes in section 5.
Copyright 2007 ACM 1-59593-361-1/07/0003 ...$5.00.
2. COURSE SETUP
Table 1: Open source projects
This study focuses on two programming courses: an ad- Anteater: http://aft.sourceforge.net
vanced Java course (the experimental course, roughly 70 ArgoUML: http://argouml.tigris.org
Projects Suggested
students, master-level) and a course on concurrent object- JEiffel: http://se.ethz.ch/projects/benno baumgartner
oriented programming (the control course, roughly 30 stu- JSR’s: http://www.jcp.org
dents, master-level). Both courses are elective courses that Open Office: http://www.openoffice.org
Tomcat: http://tomcat.apache.org
can be chosen both by Bachelor and Master students, but XmlIO: http://www.bifrost.org/xmlio/index.shtml
also by post diploma students (e.g. PhD students). For the Azureus: http://azureus.sourceforge.net
project the experimental course required groups of students Eclipse: http://www.eclipse.org
(maximum 5 people) to contribute to a Java open source GPSylon: http://www.tegmento.org/gpsylon
project of their choice. The control course relied on a given JUnit: http://www.junit.org/index.htm
Projects Chosen
artificial project to be solved by groups of maximum 3 peo- Maven: http://maven.apache.org
CaCMS: http://cacms.sf.net
ple. The goal of the projects was in both cases to deepen
Other Projects
Columba: http://www.columbamail.org
the understanding of the lectures by putting the concepts FreeGuide TV: http://freeguide-tv.sourceforge.net
to work. Both projects spanned over 6 weeks and started Gham: http://www.hattrickitalia.org/gham
at the middle of the semester. For both courses the results Hunt for Gold: http://huntforgold.sourceforge.net
of the project influenced significantly the final grade of the JackSum: http://www.jonelo.de/java/jacksum
course (respectively 40% and 65% of the final grade). Jython: http://sourceforge.net/projects/jython
Tapestry: http://tapestry.apache.org
The following subsections describe each of the project as- WTflash: http://sourceforge.net/projects/wtflash
signments in more details.
current
QCMEt2 : questionnaires of the experimental group at the
behavior
motivation end of the open source project
QCMCt1 : questionnaires of the control group at the begin-
ning of the project
situation
(potential
QCMCt2 : questionnaires of the control group at the end of
stimuli) the project
The responses QCMEt1 , QCMEt2 , QCMCt1 , and QCMCt2
Figure 1: Basic model of classical motivational psy- can be used to compare the two groups in two dimensions:
chology [6]
• Motivational differences between the experimental and
the control group (comparing QCMEt1 to QCMCt1 and
4. they believe what they are doing is valuable and useful QCMEt2 to QCMCt2 ).
for themselves. • Motivational changes over time for both of the groups
(comparing QCMEt1 to QCMEt2 and QCMCt1 to QCMCt2 ).
5. they have social and/or academic goals that they pur-
sue. Differences at the beginning. The 18 items of the
QCM were combined into measures for each of the four di-
By comparing the above motivational influences for the open
mensions. Based on this data, the analysis uses T-Tests4
source project approach and the traditional project approach,
for independent sets to obtain the factors that differ signifi-
one can expect the open source project to increase personal
cantly between the two groups for each of the two points in
and situational interest (3) and to give them the impression
time (means are gathered in Figure 2).
that the task is more valuable and useful (4) than the tra-
The comparison shows that QCMEt1 and QCMCt1 differ
ditional projects’. One can also expect that the traditional
significantly for the factors probability of success and anxiety
project approach is better at providing assurance of success
(see (∗a) respectively (∗b) in Figure 2). The interpretation
(1) and impression of control (2).
of such a result is that when students begin to work on
To assess the validity of using an open source project
an assignment requiring contributions to a real-world open
against using a traditional project, a good indicator is to
source project, they feel more uncertain about their suc-
compare the motivation associated to both projects. The
cess and therefore their fear of failure is higher than for a
Questionnaire on Current Motivation (QCM) [6] assesses
traditional small “toy” project. More surprisingly, students
the current motivation of students working on a specific task
are at this point in time not significantly more interested
and therefore is well suited for such a purpose. The QCM is
or more challenged by the open source project than by the
based on the ”classical” model of motivational psychology
traditional project.
[6] (see Figure 1) that states that personal and situational
Differences at the end. The comparison of QCMEt2
factors influence the current motivation which in turn influ-
and QCMCt2 shows that the factors probability of success
ences behavior i.e. learning. It also benefits from a whole
and anxiety do not differ significantly between the experi-
theoretical psychology framework that allows to easily com-
mental and the control group any more. Interestingly enough,
pare and aggregate questions.
the level of confidence is identical in both groups. The fac-
The QCM itself uses 18 items (questions) that measure
tor interest changed (with p = 0.065): the interest of the
four factors of current motivation: anxiety (fear of failure),
experimental group in their project grew while the interest
probability of success, interest, and challenge. The full ques-
of the control group diminished. The interpretation is that
tionnaire is available online3 and reproduced in the Ap-
the fascination of working on an open source project settles
pendix. The QCM items formulate statements for which
in only after the first hurdle of basic understanding and in-
students assign 1 to 7 points depending on how much they
volvement. Working on a traditional project is interesting
agree with the statements (1: totally disagree, 7: totally
in the initial design phase but looses fascination over time.
agree). As an example:
Another interesting outcome can be detected by compar-
ing individual statements. First, the statement “If I succeed
I enjoy problem solving tasks like the ones that emerge in
with the project, I will feel a little proud of my proficiency”
the project work. 1 2 3 4 5 6 7
was significantly higher at the end of the projects for the
experimental group than for the control group. Second, the
3.2 Results statement “I would also work on a project like that in my
free time” also produced a significantly higher result for the
To assess the motivational implications of the open source experimental group. This is consistent with the following
project assignment, the students of the Java programming intuitive interpretation. On one hand, contributing to a
course filled in the QCM twice: once just after receiving the
4
project description, and the second time at the end of the T-Tests allow to determine if the means of data differ sig-
nificantly. In general, this is assumed to be the case if the
3
http://se.ethz.ch/people/pedroni/qcm.html calculated value p < 0.05.
real-life project is very likely to make students proud and 4. COMPLEMENTARY ITEMS
may even make them wish to continue contributing after The previous section showed how an open source project
the mandatory work is completed. On the other hand, hav- impacts on students’ motivation. To estimate students’ ac-
ing completed a project specifically designed for a course is tivity, learning effect, and commitment additional items com-
not that rewarding. plement the QCM. These questionnaires were distributed to
the students of the experimental course at three occasions
during the course period - at the beginning, in the middle,
*a d and at the end.
7.0 * From over thirty additional items covering questions about
*c *e the course, the weekly assignments, and the project, three
6.0
*b are detailed here. These three items all concern the project
and represent a general trend emerging from these additional
5.0 questions on the project5 .
The first item assesses activity. This item addresses how
4.0 much time is spent on the open source project. The second
item - learning effect - quantifies the students’ perception on
3.0 the knowledge learned because of the open source project.
experimental group
control group
The third item is the commitment that results from the
2.0
project work. This third item was evaluated only at the
middle and at the end of the course. The results of these
Interest (t1)
Interest (t2)
Challenge (t1)
Challenge (t2)
Anxiety (t1)
Anxiety (t2)
Success (t1)
Success (t2)
complementary three items help to identify improvements
for a future course.
4.1 Results
The item addressing the activity was: “I am putting much
Figure 2: Mean and standard deviation of the four effort into the project”. Students assigned 1 to 5 points cap-
factors with a range of possible values from 1.0 to turing how much they agree with this statement (1: totally
7.0. (*) denotes significant differences (p < 0.05). disagree, 5: totally agree). Figure 3 shows that the mean
effort invested in the open source project drops towards the
Comparison over time for both groups. The second middle of the project’s lifespan.
part of the evaluation was done using T-Tests for paired sets
of data to obtain significant changes over time. These tests 4.6
show that for the experimental group the values for the fac-
tors interest, anxiety, and probability of success significantly 4.4
improved (see (∗c), (∗d), and (∗e) in Figure 2). It seems
that students working on the open source project first un- 4.2