You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by thuan <du...@gmail.com> on 2019/04/01 23:49:01 UTC

Lam Gia Thuan - GSoC19 - Numbers 96: A few questions about the topic!

Dear Mr. Gilles, Mr. Eric Barnhill and other mentors of the Apache 
Numbers Project,

     my name is Lam Gia Thuan, a computer student at the Frankfurt 
University of Applied Sciences. My main interest is algorithmic problem 
solving. Albeit it is not really realistic, I am really proud that I 
have coded lots and lots of algorithms for as long as I can remember. 
For Java '8', I have one year of practical experience. As a student, I 
know my experience is nowhere enough, but I am willing to learn and do 
everything I can to complete the task.

     I find the topic "Port and redevelop interpolation libraries from 
commons-math" interesting since I will have the chance to work with 
different numeric algorithms and I can make a real impact upon 
completion since this fundamental library may be used by ten thousands 
of researchers in the world. Hence I would like to aim for it in GSoC 
2019. Nonetheless, there are still certain questions I would like to ask 
and I would appreciate it if you can give me your assistance so that I 
can fully understand the scope of this project. Thank you very much.

     In detail, I would like to ask the following questions:

 1. *What is the complete scope of this project?* Is it only NUMBERS-96
    or all NUMBERS-related JIRAs? I want to know it to ensure where to
    focus.
 2. *Is it okay if I am not familiar with Interpolation**'now'?* The
    truth is, Interpolation is an area I have not known about, which is
    why I find this task more exciting since I can definitely learn
    something completely new.
 3. Are there any specific requirements in terms of skills? *How do you
    assure that I have the skills (now or in the near future) that you
    need for this task?*
 4. By porting and redeveloping, is it only about translating to Java 8?
    I mean: *Will there be any research areas for improving the
    performance of these algorithms in time complexity and memory*? I
    really want to know, since I am thinking of a thesis topic after
    this and it would be great if I can make use of this project.
 5. *Do we implement any algorithms other than those available in
    commons-math?*
 6. By documentation, what kind of documentation would you expect? *A
    javadoc like the old commons-math or a user guide with examples like
    that of **JUnit 5
    <https://junit.org/junit5/docs/current/user-guide/>**?*
 7. By Java 8+, *do you expect Java 11 also*?
 8. In the JIRA, there is no requirement for tests?*Will we implement
    tests? If we do, will we implement both accuracy tests and
    performance tests?* I would like to know to put them in the
    deliverables.

     These are all the questions I have for now. I would be happy if you 
can help me clarify them, so that I can understand everything well 
enough for the project. If you have questions for me, please do not 
hesitate to let me know, and I will definitely give you the most 
positive reply.

     By the way, the link to the package summary in [ NUMBERS-96 ] has 
one wrong character ')' at the end, so it is basically inaccessible.

Happy Coding.
Lam Gia Thuan
/Computer Science Student at the Frankfurt University of Applied 
Sciences/Vietnamese German University./





Re: Lam Gia Thuan - GSoC19 - Numbers 96: A few questions about the topic!

Posted by Eric Barnhill <er...@gmail.com>.
Sorry, a bad keystroke combination sent that early, one reply is not
finished. Never alternate between vim in one window and gmail in the other.

 2. *Is it okay if I am not familiar with Interpolation**'now'?* The
>>     truth is, Interpolation is an area I have not known about, which is
>>     why I find this task more exciting since I can definitely learn
>>     something completely new.
>>
>
> Ideally you have:
>
>
1. Sufficient Java background demonstrable through a GitHUb repository, and
perhaps a track record of other collaborations
2. Sufficient mathematical background. You need to know something about
polynomials and related function families, how functions are approximated,
particularly least squares and weighted least squares, some familiarty with
calculus and numerical methods, some work with matrices as many
interpolations are found through solving a linear system, and  ideally some
knowledge of  Fourier and other frequency-domain methods.

Re: Lam Gia Thuan - GSoC19 - Numbers 96: A few questions about the topic!

Posted by Eric Barnhill <er...@gmail.com>.
Lam,

A warm welcome to you.  I have replied within your message below.

On Mon, Apr 1, 2019 at 4:49 PM thuan <du...@gmail.com> wrote:

>
>
>  1. *What is the complete scope of this project?* Is it only NUMBERS-96
>     or all NUMBERS-related JIRAs? I want to know it to ensure where to
>     focus.
>

It is only NUMBERS-96 and would focus on interpolation.


>  2. *Is it okay if I am not familiar with Interpolation**'now'?* The
>     truth is, Interpolation is an area I have not known about, which is
>     why I find this task more exciting since I can definitely learn
>     something completely new.
>

Ideally you have:



>  3. Are there any specific requirements in terms of skills? *How do you
>     assure that I have the skills (now or in the near future) that you
>     need for this task?*
>

Your proposal should point to some examples of previous Java coding that
show you have the necessary knowledge of Java and sufficient mathematical
background.


>  4. By porting and redeveloping, is it only about translating to Java 8?
>     I mean: *Will there be any research areas for improving the
>     performance of these algorithms in time complexity and memory*? I
>     really want to know, since I am thinking of a thesis topic after
>     this and it would be great if I can make use of this project.
>

I would be more concerned you grasped the basics of the interpolation
first. As far as this code library goes, there is almost certainly room to
improve its performance. As far as a thesis goes interpolation is a pretty
well worked out mathematical problem, but there are a lot of good CS
applications, for example in video games, that you could apply it to.


>  5. *Do we implement any algorithms other than those available in
>     commons-math?*
>

The current framework in commons-math is in my opinion good and the first
priority is to turn this into a freestanding library.


>  6. By documentation, what kind of documentation would you expect? *A
>     javadoc like the old commons-math or a user guide with examples like
>     that of **JUnit 5
>     <https://junit.org/junit5/docs/current/user-guide/>**?*
>

Both. You will need to follow Javadoc best practices, and you should
conclude the work with some kind of user friendly document.


>  7. By Java 8+, *do you expect Java 11 also*?
>

Target Java 8.



>  8. In the JIRA, there is no requirement for tests?*Will we implement
>     tests? If we do, will we implement both accuracy tests and
>     performance tests?* I would like to know to put them in the
>     deliverables.
>

There are already tests. Porting the tests will be step 1. Then we can
evaluate how good the testing coverage is and what changes to the test
library need to be made. That would be good experience for you I think.


>      By the way, the link to the package summary in [ NUMBERS-96 ] has
> one wrong character ')' at the end, so it is basically inaccessible.
>

I think Gilles just fixed that.