TITLE: An Open-Source Repository for Course Projects
AUTHOR: Eugene Wallingford
DATE: January 16, 2008 12:02 PM
DESC:
-----
BODY:
I don't write many entries for the purpose of passing on
a link, but I am making an exception for the
Repository for Open Software Education
(ROSE), being hosted by a group at North Carolina State
University that includes
Laurie Williams.
You know I am a big fan of project-based courses, and
one of the major impediments to faculty teaching courses
this way is creating suitable projects. For example,
every time I teach compilers, I face the task of choosing
or creating a programming language for students to use as
their source. I like to use a language that is at least
a little different than languages I've used in the past,
for a couple of reasons, and that is hard work.
For more generic project courses in software engineering,
the problem is compounded by the fact that you may want
your students to work on an existing system, so that they
can encounter issues raised by a larger system than they
might write from scratch themselves. But where will
such large software come from? Sites like SourceForge
offer plenty of systems, but they come at so many levels
of completeness, complexity, documentation, and accessibility.
Finding projects suitable for a one-semester undergraduate
course in the morass is daunting.
ROSE aims to host open-source projects that are of suitable
scope and can grow slowly as different project teams extend
them. Being targeted at educators, the repository aims to
record information about requirements, design, and testing
that are often missing or inscrutable in other open-source
projects. At this point, ROSE contains only one project
larger than 5K lines of code, but that will change as
others contribute their projects to the repository.
As Laurie noted in her announcement of ROSE, for a few years
now the CS education community has had a
Nifty Assignments
repository, which offers instructors a set of fun,
challenging, and battle-tested programming assignments
to use in lower-division courses. ROSE will host larger
open-source projects for use in a variety of ways. It
is a welcome addition.
-----