lem-solving activity. Being engaged in
real-world projects with teams of developers, students see that programming is part of a complex, team-ori-ented, creative process that produces
software to benefit society. Working
closely with real clients, they see the
need for transparent and secure code,
extensive testing, and writing excellent user manuals and other supporting materials. They want to master
these activities to improve their systems rather than step through mere
academic exercises.
Another important HFOSS element
is the ethic of sharing and collaboration. For this reason, the HFOSS Project teams students with one another,
as well as with mentors, IT professionals, and HFOSS community members.
The HFOSS development process has
no room for lone programmers working in isolation.
Student feedback on these points
reflects these observations. For example, one student said, “[this activity]
shows how computer science can be
a very helpful field of study than what
we just know of it as programming in
different programming languages.”
Another said, “[this activity] definitely changed my views of how effective
software projects can be run. If we
work collectively for the greater good,
then we can get much more done.”
The HFOSS Project has focused on
individual courses and internships
and only just begun to address how its
approach might fit into an undergraduate curriculum. Reinforced throughout our experience is the longstanding
view that computer science must be
presented as a problem-solving discipline, and the more this value is built
into the computing curriculum the
more attractive it will be to a wider variety of bright students eager to solve
problems. Georgia Tech and other
institutions have begun exploring
curricular models that contextualize
programming within broader applications of computing ( http://www.in-
sidehighered.com/news/2006/09/26/
gatech). The HFOSS approach would
clearly complement such a model.
A common software industry complaint is that new computing graduates are strong on theory but lack practical understanding of the modern
IT workplace. A common complaint
Logo of the humanitarian foss Project
( http://hfoss.org).
from academics is that IT professionals want colleges and universities
to serve as training centers for their
latest programming languages and
software platforms. HFOSS addresses
both by recruiting computing and IT
professionals as advisers and mentors
for its summer interns. For example,
IT consultants from Accenture Corporation help mentor HFOSS students
and serve as advisers in project management and other areas. Students
appreciate the mentoring as they begin to understand the complexity of
software development. They see that
challenging problems rarely yield to
“textbook” solutions and that the design process is often a protracted interaction between programmers and
end users. One student said, “[this
activity] definitely helped me understand more options of the IT profession. Now I know one more aspect of
it, and how exciting it can be.”
Portable, sustainable model
If the HFOSS model is to make a positive contribution to undergraduate
computing curricula, it must continue to grow beyond the three campuses—Connecticut College, Trinity
College, and Wesleyan University—
where the Project began. During the
past 18 months, with the support of
the CPATH grant, we have seen evidence that such growth can be accomplished, as new HFOSS efforts began
at Bowdoin College, Brunswick ME,
and the University of Hartford, Hartford, CT. However, continued growth
requires development of a supportive
infrastructure and portable model
that is easily adopted by other institutions.
Part of the effort to build a sustainable HFOSS model must include
faculty development. Toward this
end, we held outreach workshops for
faculty at SIGCSE08 in Portland, OR,
and CCSCNE08 in Staten Island, NY,
( http://www.cs.trincoll.edu/hfoss/
wiki/SIGCSE_2008_ Workshop) to promote the HFOSS model as something
worth trying. Feedback from workshop participants indicates that the
humanitarian and FOSS aspects of the
effort both have substantial appeal to
computing faculty. However, despite
this basic appeal, many challenges
remain before more than a few other
schools are able to integrate HFOSS
into their computing curricula:
Faculty development. As with any
new pedagogical endeavor, developing a new approach to teaching software design requires considerable
initiative, time, and support. Faculty
need time to learn new languages and
tools and become active in the HFOSS
community on their own before they
are able to introduce HFOSS into their
courses. To support this endeavor we
are planning a summer training experience for faculty, similar to the
week-long NSF-funded Chautauqua
workshops ( http://www.chautauqua.
pitt.edu).
Software-tool support. Although
FOSS software technology is free, creating a platform of FOSS tools to support a course or student project requires considerable time and effort.
Faculty do not normally have time for
downloading and installing software
and making sure it works. One potential solution is a one-click installation
that works on a variety of platforms.
Another is for instructors to enlist
such support among their universities’ IT staff. The HFOSS project has
begun to develop resources and processes to help, including a set of free
and open Web-based resources, software tools, and other support materials ( http://repository.hfoss.org).
Community development. Being involved in HFOSS means taking an active role in one or more HFOSS communities or projects, a process that
can be somewhat bewildering and
intimidating, especially for large well-established projects. We have identi-