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

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

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

thuan
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./




Reply | Threaded
Open this post in threaded view
|

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

Eric Barnhill
Lam,

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

On Mon, Apr 1, 2019 at 4:49 PM thuan <[hidden email]> 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.
Reply | Threaded
Open this post in threaded view
|

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

Eric Barnhill
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.