Ten students from five ACS institutions and one NITLE Southern Region
institution participated in the second annual summer Software
Engineering Internship at the ACS Technology Center. (See appendix for
a list of participating students and faculty.) The 2004 ACS Software
Engineering program began with a 5-week intensive curriculum covering a
number of key topics in software development, including building web
applications in Java, software testing using JUnit, database design, the
Unified Modeling Language, and--most importantly--the Extreme
Programming (XP) methodology, which was used throughout the 9-week
program.
Starting in week 3, students began work on the actual software
product--later named ELATED--which is a web-based program for managing
collections of digital media files.
Following the XP methodology,
student programmers worked in pairs and rotated tasks so that all team
members had the opportunity to work on each aspect of their project. In
addition, they conducted regular XP "stand-up" meetings, where
architecture and design were discussed, and prepared client
presentations for on-site contact with clients.
The resulting software product, named ELATED, reflects the quality and
commitment of the student and faculty participants. ELATED is a general-purpose, web-based application for managing digital media files. ELATED
is built on top of the Fedora Repository system (http://fedora.info), an
open-source Mellon-sponsored project to build technology for the
next-generation of digital libraries. An important goal of the ELATED
software was to simplify access to and use of Fedora, which is more a
framework than an end-user product. The intended impact of ELATED is to
allow Fedora to be more easily integrated into the IT infrastructure at
small institutions, while storing data in a manner consistent with the
long-term vision of the Fedora project. The ELATED software is
distributed through SourceForge, and is available at:
http://sourceforge.net/projects/elated. It has been downloaded a number
of times and praised by Fedora developers and is currently being piloted
at Rhodes College and Hamilton College.
This internship program has two major goals: creating software for the
ACS consortium and providing applied programming experience to students.
The 2004 internship succeeded in both areas. As one intern explains, "It was great to have hands-on experience with coding because we aren't
able to do a lot of that in class. It was especially beneficial to get
experience working on a very large project that required a great deal of
planning because I learned a lot about effective system design. Working
in pairs and with the group as a whole was also good real-world
experience." In general interns who go through this program gain the
confidence they need to know that the preparation they have received in
computer science at a small liberal arts college has made them
competitive in this field. When approaching a new job, they will be
able to learn quickly what they need to succeed.
The Fedora project was funded by
the Andrew W. Mellon Foundation to build an open-source digital
object repository management system based on the Flexible Extensible
Digital Object and Repository Architecture (Fedora). The new system
demonstrates how distributed digital library architecture can be
deployed using web-based technologies, including XML and Web services.