Welcome to all this year's potential GSoC scholars!

139 views
Skip to first unread message

Martin Albrecht

unread,
Mar 4, 2015, 4:22:30 AM3/4/15
to fplll...@googlegroups.com
Hi all,

( the following e-mail was stolen/adapted from Bill Hart's e-mail to the FLINT
project: https://groups.google.com/forum/#!topic/flint-devel/6UMQ9Sehqf0 )

In order to save repeating the same information on list too often, we will
summarise it all in this thread. Please keep checking back here as we may add
further information.

fplll participates in the Google Summer of Code as a member of the Lmonade
umbella organisation. The Lmonade page with all the project proposals is here:

http://wiki.lmona.de/get_involved/projects

Assessing applications
=================

All the applications that are submitted to Lmonade are assessed by all the
Lmonade mentors. Not all the mentors will understand what the project is, so
your application must be written for them as much as for us.

To be accepted by Lmonade there are numerous requirements which must be met
(before the application deadline):

1) We require a piece of code from you which demonstrates familiarity with C++
coding and with the use of GitHub. It is desirable if you contribute a patch
to fplll itself, since this also shows us that you understand the layout of
the fplll project. However, this is not required if you have some code you
contributed to another similar Open Source project. We simply want to know how
well you can code and how well you understand algorithms.

2) We need to make sure you understand the mathematics for the project. In
most cases, this will be evaluated by looking at your application on Melange.
So please include enough details so that we can judge whether you understand
the maths. Don't be afraid to include some equations.

3) Blogging: it is very important that during the actual GSoC project that all
Lmonade scholars write weekly blogs on their progress. Therefore, we ask that
you write a sample blog post before the application deadline, which we can
look at.

4) Communication: we will judge the level of communication between you and the
relevant mentors for the project. In planning your application, we expect to
see communication back and forth between you and the mentors. Please try to
avoid questions such as "can you tell me what to do". We can help you much
better if you tell us specifically what it is you need to know. We are here to
help, but we need to know how we can help you.

5) The application on Melange. When evaluating these, we look to see how
detailed the timeline is, and how well the applicant has understood what it is
we want to implement. Applications that give more specific information and
which give realistic and carefully thought out timelines are much more likely
to be accepted. Discussing ideas you have with the mentors is key to getting
the level of detail right.

fplll patches
=========

If you would like to contribute a patch to fplll to demonstrate your
competence at C++ programming, you could for example implement a simple Gram-
Schmidt process. This would also demonstrate that you are familiar with basic
algorithms in the area.

Ideally we'd like to see a hundred or a couple of hundred lines of code;
enough to judge how well you can write code.

If you provide a code sample which is a patch of fplll, note that we review
all code before including it in fplll. We'll very likely ask you to make
changes before merging it. And we may or may not merge your code. Don't be too
concerned if we don't merge your code! The main objective is for us to be able
to judge your coding ability, and we can do that whether or not we decide to
merge your patch.

Please fork the fplll project on GitHub and push your changes to your GitHub.
You can then just initiate a pull request.

Some advice
==========

We think Lmonade has quite a number of excellent projects with top mentors. To
maximise your chances, you might like to apply for more than one project. For
example, as well as a core fplll project, you might also like to apply for the
Singular project, a FLINT project, or the Popov form project.

If the other project you apply for has completely different mentors, you
increase your chances of being accepted if someone just beats you for the
first project you applied for.

Applying for more than one project is not required. It is just a suggestion we
have. We've just noticed that some years we have two really good students
apply for the same project, and we can only take one of them due to mentor
over commitment. Other projects have no good applicants at all, and those same
students may have easily got picked for that project.

Of course you have to take your own time commitments into account. If you have
too much on at the moment, one really good application is better than two
average ones!

Cheers,
Martin

Martin Albrecht

unread,
Mar 11, 2015, 6:55:12 AM3/11/15
to fplll...@googlegroups.com
Hi there,

> 1) We require a piece of code from you which demonstrates familiarity with
> C++ coding and with the use of GitHub. It is desirable if you contribute a
> patch to fplll itself, since this also shows us that you understand the
> layout of the fplll project.

> However, this is not required if you have some
> code you contributed to another similar Open Source project. We simply want
> to know how well you can code and how well you understand algorithms.

I'd like to take that comment back, i.e. we definitely do require that you
provide us with some code related to fplll, given that writing mathematical
software can be quite different from other software projects.

In particular:

(1) we'd like to see some implementation of some mathematical algorithm
related to lattice reduction. We suggested computing the Gram-Schmidt matrix
because more people might be aware of this algorithm already than of, say,
LLL.

(2) we'd like to see that you understand how to contribute to fplll (of if you
don't ask questions so you can learn). For this, we'd like to see you
submitting a small pull request against the fplll repository which improves
fplll in a small way. For example, you could add some documentation or some
simple tests. It is not certain that this pull request or patch will be
merged, but the point is for you to get an idea of a workflow.

Sorry, for the update.

Cheers,
Martin
signature.asc

Sumit Sourabh

unread,
Mar 12, 2015, 7:09:12 AM3/12/15
to fplll...@googlegroups.com
Hello Matin,

   I'm a final year math PhD student at University of Amsterdam.

  I did my masters in math and scientific computing, and have a strong background in linear algebra, numerical methods, and statistics.

  I also have extensive programming experience during the course of my academic projects.

  I would be very interested in contributing to one of the mathematical algorithms and data structures projects. After reading your blog post I wrote the Gram-Schmidt algorithm https://github.com/sumitsourabh/fplll/blob/master/src/gs.cpp

 Please let me know what next step should I take to familiarize myself with the project.

Best,
Sumit.

Martin Albrecht

unread,
Mar 12, 2015, 9:26:07 AM3/12/15
to fplll...@googlegroups.com
Hi Sumit,

your function looks okay. However, can you go the extra mile of

a) producing a stand alone program gs which tests your function on a variety
of inputs

b) adding the appropriate entry to the build system such that your function is
automatically checked once when "make check" is called?

It's nice to see that you directly provide a pull request. Can you send a
second pull request fixing some small issues in fplll (say some documentation)
which we could actually potentially merge (just to work with the workflow).

Then, you'd have to indicate which of the projects you'd be interested in. Any
preferences?

Cheers,
Martin

Martin Albrecht

unread,
Mar 27, 2015, 4:46:48 AM3/27/15
to fplll...@googlegroups.com
Hi all,

just a quick reminder that the deadline for applications is today.

If you submitted an application make sure it includes enough details such as a
detailed timeline, that you sumitted a blog post and code samples.

All the best,
Martin
signature.asc
Reply all
Reply to author
Forward
0 new messages