Final Days of GSoC 2019

Hello Friends! Final Evaluation is coming and this brings the GSoC project to an end. I believe it is my duty to let you know all about my contributions to Labplot during this project. I will try to make this post self-contained and will try to cover every detail. Let's try to answer some general questions. If something is left, please feel free to comment, I will get back to you asap.
What all Statistical Tests got added? This is the final list of statistical tests which got added during the course of the project:
T-TestTwo-Sample IndependentTwo Sample PairedOne SampleZ-TestTwo-Sample IndependentANOVAOne Way ANOVATwo Way ANOVALevene Test: To check for the assumption of homogeneity of variance between populationsCorrelation CoefficientPearson's RKendall's TauSpearman RankChi-Square Test for Independence So as many of you must have noticed, I have added almost all the features which I have promised in the proposal. For one or two which are left (noted down in TODO), all the…

Second Evaluation

I would say the second evaluation period: June 28, 2019 - July 22, 2019, was one of the most exciting period of my whole GSoC project. I had passed in the first evaluation, received payment and had gone partying with my brother. Things also got easier and I started enjoying coding in Qt.

During this period, I would say that I face these two major problems.

1) For the first evaluation, I had not done unit testing. I had only tested my features manually. So, It was time to create unit tests for each feature. I started reading about Qt unit tests, analysed source code of unit tests and wrote my own for previously implemented features. These unit tests were just not enough as I was taking a huge relative error of around 0.1. At that time my mentor pointed it out but I couldn't able to understand properly. So we left it for a while and started with new features. After completing new features (almost of what was intended to be done according to the proposal), I started creating unit te…

First Evaluation

After Bonding Period, Official Coding period started. I also started introducing the feature the first time from my side to any software. Till then, I had only changed portions of the code or added new ones in already existing files. Now, I had to add new source files. I started looking at the source code more deeply and started tracing back source files to its roots.

I become overwhelmed by seeing so many files interlinked so deeply with each other. For the first time, I was working on such a big project and now I had to contribute something real. So many lines of code confused me a lot. I wanted to get to the root of the code so that I can create my own branches in it. But it was not that easy for me. Moreover, till that time I wasn't aware of View/Model architecture and Signal Slot Mechanism which is the core of Qt programming.

I started seeking help. Then one of the Professor in my institute calms me down and advised me to start with main.cpp file in source code. In so much h…

Bonding Period

So my project got accepted and I entered into what is called the Community Bonding Period. This period is included in the GSoC timeline to let the students who got accepted get to know more about their community and mentors. 
During this period, we worked on adding small options in matrices (matrices can be designed in Labplot). These options are already added in the spreadsheet and I had to somewhat clone those to matrices. Then I also worked on the pivot table feature with Alexander Semke. Actually, he created the whole base and I only worked on showing hierarchical headers into it.  Parallelly, I also started looking at other softwares like SOFAJASP to know what all features are implemented there, how are they implemented and what things are missing in them. This helped me a lot to know what all should be done in the project and what should be the end result.

Project Proposal

I started working on junior bugs with the help of mentors. After my mentor got confidence over me and I got a little overview of the project, he asked me to started thinking of the project and to make a proposal.

So, we discussed what all to be done during these three months time and what all features need to be included. Our aim was to add statistically significant features to labplot. At that time labplot supported Regressions, Histogram Plots, Location Measures, Dispersion Measures and Shape Measures for statistical analysis but these features were not sufficient. They fail to answer some broad questions like, Is there any statistically significant difference between two or more groups? or What is the strength of the relationship between two variables and is this strength statistically significant to say that the two variables are correlated?.
The idea was to add more statistical relevant measures, which can answer the above-posed
questions. Along with adding these features, we pl…

How I got a project in Labplot KDE

When the organisation names got revealed, I started digging into projects to find out which one interests me a lot. Many projects were quite interesting but my restriction was coding language. Still, I started keeping a note of all the projects which interest me with a little note on what interests me in them and what are the skills required for that particular project. After completing the list, I shifted my focus from a huge number of projects to very few (almost 50). Originally, I planned to create a ranking of some sort and then start attacking individually from the top each one of them. But fortunately, I didn't have to do that much. When I was taking a quick look at the list, I notice labplot and it seems a perfect project for me. I had used KDE desktop before and I knew how big the KDE community is. I had already done some work on data analysis before (as a course and during my last year summer internship) and the language requirement was C++ and Qt. Though Qt (more broadl…

My Introduction to GSoC

Last year, during my summer vacations (May 2018 to July 2018), I was doing my summer internship at the Indian Institute of Technology Delhi. I was working with some of the wonderful students and researchers on the project and soon we all started getting to know each other well. I was a juniormost student there so I get to learn a lot from them. 
At that time one of my friend there (who is also my senior) told me about Google Summer of Code. She told me, how many her friends got benefitted from it and how their technical and communication skills increased drastically. I became curious, search about it a little on the internet, but got busy in project and college assignments and it slipped my mind. But in the month of February ( I think it was 21-22 Feb 2019), I was exploring various internship options and suddenly the idea of applying to GSoC struck my mind. I visited the official website and found out luckily the GSoC process had not started yet and in two-three days they were going to…