Boost logo

Boost :

Subject: [boost] [SoC] Summer of Code Project Ideas
From: Andrew Sutton (andrew.n.sutton_at_[hidden])
Date: 2010-03-08 08:52:43


I'm officially soliciting ideas for student projects for this year's 2010
Summer of Code.

If you're maintaining or contributing to a library and have some non-trivial
items on a TODO list, then suggesting that as a possible student project may
be a viable idea. Unlike the previous years, I think that proposing work on
sandbox libraries would also be a good idea. There is a substantial amount
of work in the sandbox that might be well-suited for student projects and
eventual (I hope) acceptance to Boost.

In general student projects should be tightly focused with a clear set of
goals to getting their work integrated into a mainline development branch
(be that trunk or sandbox). In general, we've noticed that ground-up
libraries almost always fail to be integrated or released independently
since they require a commitment longer than the summer. There are, of
course, notable exceptions to this rule.

If you are going to propose a student project, please keep in mind the
following things:
1. Students tend to go away in the fall.
2. If their work isn't tended after August, then it's largely forgotten
3. If the student is gone and their work is forgotten, then the project
didn't really succeed.

If you write down or submit a project, please include your expectations for
that work. And try to keep it small. That said, if you're too precise in the
specifications, we'll going to get a couple dozen proposals that simply
reiterate your expectations. But that's the nature of the beast.

Good ideas for projects might be:
== Data Structures and Algorithms==
Admittedly these have little impact on overall quality of Boost, but make a
nice sandbox for students to work in and can result in surprisingly good
code. Over the course of the summer 1 or 2 related data structures or a
family of related generic algorithms seems to make a nicely packaged
project.

==Extensions for Existing Libraries==
There are a number of Boost libraries that are very amenable to extension
(e.g., BGL, GIL, Math, etc.). Basically any library that doesn't have a
finite feature space. Non-intrusive changes (i.e., those that don't require
hacking on the existing bits) typically make good summer of code projects.

== Infrastructure Projects==
Projects that aren't part of Boost, but help us improve the quality of Boost
might make decent projects, but we've never had one proposed or accepted
that I'm aware of. Remember, we can't accept documentation projects so
"Write my documents" will not be a good student project (unfortunately ;)

==Applications of Boost==
This is a little different... It might be a good idea to have students build
real (example?) applications that use the Boost C++ Libraries. There are a
number of real benefits to having students work in this space. First, these
applications are very obvious clients of Boost. They can provide immediate
feedback on issues with the interface, usability, correctness, performance,
documentation, etc. Second, they might make really good examples of best
practice for using Boost. Third, they probably make nice student projects.

If you have any ideas, let's hear them. And remember, funded projects need
mentors.

Andrew Sutton
andrew.n.sutton_at_[hidden]


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk