Google Summer of Code - Project Ideas

This page coordinates the Google Summer of Code projects under the lmonade organization umbrella.

No GSoC 2016 and on!

We have not applied to be a mentoring organization for Google Summer of Code in 2016. This page preserves the state it was for GSoC 2015.

Please do not spam the following organizations and mentors with requests. Use general project mailing lists if you need help to get started with development. Thank you for your interest!

Introduction

As a mentoring organization, lmonade promotes ideas to improve various open source/free scientific software, especially computational algebra and image processing projects.

Scientific software poses many interesting challenges that provide a concrete introduction to data structures and algorithms as well as various application areas. Proposed projects are usually immediately useful in research, yet they still serve as a good starting point for new developers. We hope that seeing the results will encourage contributors to stick around and help with more advanced problems later on.

lmonade is an umbrella organization for the following projects:

lmonade

lmonade

lmonade is a platform for development and distribution of mathematical software. It creates an environment where software can be installed on various GNU/Linux distributions and OSX without administrative rights. Development of certain mathematics packages under this environment is also supported.

Website | lmnd-devel@googlegroups.com | #lmnd on Freenode

FLINT

FLINT

FLINT is a C library for number theory. As a part of Sage and Singular, it provides fast arithmetic and factorization for univariate polynomials over the integers and finite fields. For most of this functionality, FLINT has the fastest implementation available, among commercial and open source software packages.

Website | flint-devel@googlegroups.com | #lmnd on Freenode

fplll

fplll

fplll contains several algorithms on lattices that rely on floating-point computations. This includes implementations of the floating-point LLL reduction algorithm, offering different speed/guarantees ratios. It contains a 'wrapper' choosing the estimated best sequence of variants in order to provide a guaranteed output as fast as possible. In the case of the wrapper, the succession of variants is oblivious to the user. It also includes a rigorous floating-point implementation of the Kannan-Fincke-Pohst algorithm that finds a shortest non-zero lattice vector, and the BKZ reduction algorithm.

Website | fplll-devel@googlegroups.com | #lmnd on Freenode

FriCAS

FriCAS

Fricas is a general purpose system for doing mathematics by computer. It is a descendant (fork) of Axiom. It is especially useful for symbolic calculations, mathematical research and for the development of new mathematical algorithms. FriCAS has a strongly-typed high-level programming language for expressing a mathematical concepts. Over 1,000 mathematical domains and categories are collected in the FriCAS Library.

Website | fricas-devel@googlegroups.com | #lmnd on Freenode

http://old.ilastik.org/ilastik-logo_name_tagline.png

ilastik

ilastik is a simple, user-friendly tool for image classification and segmentation that aims to enable non-experts to apply machine learning algorithms to their image processing problems

Website | ilastik-gsoc@ilastik.org | #ilastik on Freenode

Singular

Singular

Singular is a computer algebra system for polynomial computations, with special emphasis on commutative and non-commutative algebra, algebraic geometry, and singularity theory.
Singular provides basic multivariate polynomial data structures in Sage as well as most of the advanced commutative algebra functionality. Macaulay2 relies on Singular for multivariate polynomial factorization.

Website | libsingular-devel@googlegroups.com | #lmnd on Freenode

Aldor

Aldor

Aldor is a programming language with an expressive type system well-suited for mathematical computing and which has been used to develop a number of computer algebra libraries. Originally known as A#, Aldor was conceived as an extension language for the Axiom system, but is now used more in other settings.

Website | aldor-devel@googlegroups.com | #lmnd on Freenode

LinBox

LinBox

LinBox is a C++ template library for exact, high-performance linear algebra computation with dense, sparse, and structured matrices over the integers and over finite fields.

Website | linbox-devel@googlegroups.com | #lmnd on Freenode

Prospective Students

If you are a student interested in working on a project related to scientific software in general, we'd love to have you apply to lmonade for the Google Summer of Code.

You should join the lmnd-devel@googlegroups.com mailing list and take a look at the Project Ideas section below. These ideas are intended to give a general description of what each project is looking for. You're strongly encouraged to talk with developers from these projects to learn more about them and flesh out your proposal.

Application deadline is Friday, March 27th. We strongly encourage you to submit your application(s) much earlier than this so you can work with your prospective mentor(s) in refining your application. You should use the template provided here to make sure your application includes all the information required.

By Friday, April 3rd all prospective students are required to have completed the following to pass final screening:

The code contribution is intended to demonstrate your ability to work with the project's toolchain, your current programming skill in contrast with the goals stated in your application, and your ability to work with the project's developers.

This page from the Python Software Foundation describes our expectations from students and mentors during the summer.

Projects list

The project ideas list is here. This list is meant to be a starting point. You are welcome to scale the scope of the project up or down as needed. Remember, your project needs to have deliverables in less than 3 months of full-time work. Be ambitious but not too ambitious ;)

You can also apply with an idea of your own as long it fits into the lmonade umbrella. In this case, make sure to write a description following the guidelines on the new projects page and get in contact with the organization as soon as possible through the mailing list lmnd-devel@googlegroups.com. We will be happy to work with you to develop your idea and find mentors.

Mentors

This is a list of the people who have proposed projects and volunteered to help students implement these tasks. Since lmonade is an umbrella organization, not all mentors might be familiar with a certain project. The mailing list for the relevant software project and IRC channel are the preferred communication methods to contact an organization about a project.

Feel free to write to the organization admins in case you need assistance with anything else.

get_involved/gsoc (last edited 2016-02-26 14:49:29 by BurcinErocal)