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./ |
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. |
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. |
Free forum by Nabble | Edit this page |