wiki:SoC2012

Version 3 (modified by Andrew Sutton, 11 years ago) ( diff )

--

Google Summer of Code 2012

Welcome to the Boost C++ Libraries' home page for Google Summer of Code (GSoc). This page provides information about student projects, proposal submission templates, advice on writing good proposals, and links to information on getting started writing with Boost.

This year Boost is looking to fund work on a number of different kinds of proposals:

  • toolkit-like extensions to existing libraries,
  • finishing or extend sandbox libraries,
  • new data structures and algorithms, and
  • multiple competing proposals for the same project.

For projects involving new or experimental libraries, the process of getting source code "Boost-branded" can take much longer than a single summer. In many cases, it can take much longer than a single year. Even if a library is accepted, there is an expectation that the original author will continue to maintain it. Building a library as part of Boost can easily entail a multi-year commitment. For this reason, we are willing to consider multi-year GSoC projects. However, prospective students must limit the scope of their work to a single summer. We may invite the most successful students to re-apply in 2013.

Requirements

Students must submit a proposal. A template for the proposal can be found here here. Hints for writing a good proposal can be found here.

We strongly suggest that students interested in developing a proposal for Boost discuss their ideas on the mailing list in order to help refine the requirements and goals. Students who actively discuss projects on the mailing list are also ranked before those that do not.

Projects

The following projects have been suggested by potential mentors. If the descriptions of these projects seem a little vague... Well, that's intentional We are looking for students to develop requirements for their proposals by doing initial background research on the topic, and interacting with the community on the mailing list to help identify expectations.

Projects from previous years can be found here. There are still a number of interesting projects found in these pages.

Boost Polygon: Straight Skeleton of Polygons Algorithm Extension

The straight skeleton is a well-known and very useful geometric operation. Specifically it provides the basis for a correct polygon resizing algorithm. To be most useful the straight skeleton algorithm implementation would need to be general enough to allow edge weighted straight skeleton (analogous to the relative pitch of the portion of the roofline related to that edge), handle multiple disjoint polygons with holes simultaneously, allow bounded skeleton computation as an optimization for resizing, be numerically robust and on the same order of computational complexity as polygon clipping in the common case (when bounded). As a simplifying assumption the input and output coordinate space can be assumed integer.

A good project proposal will include details about the problem and how they will be addressed and background information about the student, especially related to C++ experience and computational geometry experience. Successful project completion will lead to eventual release of the algorithm as part of Boost.Polygon.

Feature Requests

Some project ideas might be culled from the Feature Requests in the issue tracking system. Note that feature complexity varies per component and per issue. If you plan to submit a proposal for a Feature Request, you should definitely confer with the library maintainer for some initial ideas about complexity and feasibility. Proposals grouping a number of related Feature Requests might also be of interest.

Note: See TracWiki for help on using the wiki.