Students are also eager to engage
the HFOSS methodology, which differs from the traditional mode of
undergraduate instruction. Working
with mentors and in teams on real-world development projects is a motivator for students, despite the extra
challenge it means for instructors.
Similarly, working with local clients
and international development communities is another motivator. For
example, students get to see directly
that writing good documentation is
as important as writing good code.
The quality of their work improves as
they recognize their increased level of
public accountability. This message
is constantly reinforced by mentors,
peers, and clients.
Depending on the specific course or
project, students come with different
levels of expertise, ranging from no
prior programming experience for an
introductory course to having nearly
completed the major requirements for
upper-level and software-engineering
courses. Engaging students through
HFOSS must be done with sensitivity
to their backgrounds and interests.
But the projects themselves are rich
and varied enough to accept contributions from students with different
backgrounds. For example, students
with no programming experience are
still able to make significant contributions in requirements-gathering
and documentation-writing.
4
We’ve found the sudents are comfortable working in virtual teams and
groups, having grown up with Facebook and Instant Messenger and
interacting with friends through all
kinds of electronic media. They respond equally well to wikis for working collaboratively on documents
and presentations and sharing their
source code on Sourceforge. One student said, “I now have a better understanding of what it is like to work with
and contribute to a team of people,
even when I may never meet them in
person.”
new Demographic
Computer science has not been
broadly attractive at the undergraduate level, especially to women and other underrepresented groups. An April
2006 article in Computing Research Association Bulletin, based on data from
The hfoss
development
process has
no room for
lone programmers
working in
isolation.
the National Science Foundation and
other sources, reported “[c]omputer
science has the dubious distinction
of being the only science field to see
a fall in the share of its bachelor’s
degrees granted to women between
1983 and 2002” ( http://www.cra.org/
wp/ index.php?p= 83).
Attracting women and other underrepresented groups to computing
remains a particularly challenging
HFOSS Project objective. Only four
women were enrolled in a 13-student
introductory course in spring 2008,
and for the summer 2008 internship
program, only six out of 29 applicants
were women. Of the 10 CPATH-funded
summer interns only three were women, and two others were African-American. These numbers are not good,
though they are somewhat better than
the numbers in non-HFOSS computer science courses. For example, the
fall 2008 CS1 courses offered at Connecticut College, Trinity College, and
Wesleyan University included only
10 women and two African-American
students out of a total of 69 students.
While this data is too sparse to
support conclusions one way or the
other regarding the appeal of HFOSS
to women and other historically underrepresented groups, evaluations
received from participating students
suggest that the HFOSS approach has
the potential to attract more women
students to computing in the future.
The responses from them suggest they
speak positively about the project to
their female friends. To help address
this issue, we will, in summer 2010,
extend the HFOSS Project to include
a women’s college and a traditionally black university. However, given
the relatively small number of women
and minorities who come to college
with an interest in computing in the
first place, the initiative may not solve
the problem altogether; the solution,
if there is one, may ultimately extend
beyond the academy.
A widespread misconception
about computing is that it is all about
programming or coding. At most U.S.
schools the introductory sequence focuses largely on teaching a programming language, further reinforcing
this misconception. The HFOSS approach addresses it by contextualizing
programming within a broader prob-