Project Ideas for PSU Summer of Code 2015

As a mentoring organization, PSU is especially focused on two kinds of students: those proposing new open source project ideas, and those who have an academically-oriented coding project that might require a "special" mentor.

Propose Your Own!

We are really flexible in what we'll consider. Please propose any coding project (within reason) that you feel would be valuable to the larger open source and open tech community. We'd rather you spent the summer working on an idea that inspires you: originality and creativity in the proposal indicates to us that you are the kind of student that will fit well with GSoC at PSU. (Do make sure that you're proposing a coding project, though, and that it's not a better fit for some other GSoC organization.)

We Like Open Hardware

Since the beginning of GSoC, PSU has hosted software projects related to open hardware. We are open to your original hardware-related software ideas: firmware, drivers, tools, and high-level code to make open hardware useful.

A couple of caveats here. First, GSoC does require a software product as the primary work product to be evaluated at the end. If you are proposing to build your own hardware, this should be a small part of your overall proposal, and you should make it clear to us what will keep you from getting stuck at this step.

Second, there is no additional budget from GSoC for tools and supplies beyond the stipend Google pays every accepted GSoC student. If you need to buy or build things, we might be able to find something, but usually you will be on your own. Please don't propose large-budget projects: we want you to pocket most of your GSoC money if you're successful.

Bart Massey's Idea List

Here's a list of general project ideas edited by Bart Massey. Again, this is intended to inspire your creativity, not to be limiting.

  • Projects for my PSU CS 461/561 Open Source Software Development class. Potential students and others may want to look at past course projects there for ideas.

  • A GIS project from our local open-source GIS expert, PSU Org Admin David Percy. We have had several of these since 2011 with great results.

  • **The Dynamic Ecosystems and Landscape Lab at PSU is a foci of development for the LANDIS-II forest simulation model. LANDIS-II simulates forest succession, disturbance (including fire, wind, harvesting, insects), climate change, and seed dispersal across large (typically 10,000 - 20,000,000 ha) landscapes. Ideas page

  • **Dynamic simulations of convection in Earth's mantle are typically performed on several hundred to a few thousand cores of a supercomputer and produce large volumes of data. These data, describing the velocity, temperature, pressure, and composition of the mantle in both space and time, are typically stored infrequently due to disk space and I/O limitations. One consequence of infrequent output is that important information about the evolution of structures, including mantle plumes and sheet-like downwellings, in both space and time is discarded. There is a need for software to track features, represented as connected regions and as surfaces separating connected regions in these simulations. We solicit project proposals to implement 4D (three spatial dimensions plus time) feature-tracking as a feature in the community-supported 3D spherical geometry mantle convection code CitcomS. Mentored by Max Rudolph

  • Projects related to the various groups I'm involved with. There are a lot of these, and they can all use help. Examples include:

    • The (Portland State Aerospace Society)[], open hardware/software amateur sounding rockets.

    • may have their own Summer of Code projects. I would suggest that you start there with X Window System stuff, including XCB and Cairo. Assuming X.Org is accepted to GSoC this year, I will try to coordinate with the X folks on getting a good mentor for projects related to our joint interests. Otherwise, feel free to propose X-related things here.

    • The Nickle programming language. This is pretty stale these days. The main thing that might rejuvenate it is an LLVM (or similar) back-end, but I think that's a pretty challenging 12-week project.

  • Projects related to the various courses I've taught. Here are a few of the more interesting ones.

  • A variety of random projects I have lying around. Here's a few random examples. Note that these are only examples: we would prefer that you suggest something of your own.

    • SVG digital halftone generator. Something in C or Python suitable for inclusion in Inkscape would probably be best.

    • Building a Haskell EDSL for text processing.

    • Specifying and building a processor for a Mathematical Markdown language.

    • Extension work for Inform 7. There's a whole bunch of extensions begging to be written here. For example, I'm about 3/4 through a "books" extension.

    • Web work in Yesod. I'm really interested in what kinds of cool things could be done with this framework.

    • Audio processing in LADSPA/LV2. There's lots and lots out there, but there's always room for more.

    • Bluetooth audio work in Bluez 5. The infrastructure there now is both incomplete and fragile.

    • Image processing plugins for GIMP or NetPBM.

    • Information processing and storage work, for example in compression, crypto, hashing, etc.

  • You can see many of the things I'm interested in at BartForge and on my GitHub page.

  • See our open source page for more on these topics and others.

I hope these ideas help spark your interest.