98
edits
No edit summary |
|||
(37 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
[[Category:Summer of Code]] | [[Category:Summer of Code]] | ||
== A: An introduction == | == A: An introduction == | ||
Line 16: | Line 15: | ||
:- I have been coding since my 6th standard and as such, I have developed a working knowledge of how programming problems should be approached. | :- I have been coding since my 6th standard and as such, I have developed a working knowledge of how programming problems should be approached. | ||
:- My areas of interest are Machine Learning, | :- My areas of interest are Machine Learning, Data Structures, and Algorithms. | ||
:- I learn Machine Learning through online resources such as open research papers, blogs, and MOOCs since my college does not offer a course on this subject till the final year. | :- I learn Machine Learning through online resources such as open research papers, blogs, and MOOCs since my college does not offer a course on this subject till the final year. | ||
:- I have been coding for many years now, knowledge of Data Structures and Algorithms is something that I have gained through those years of practice and repeated attempts to optimize my code. | |||
:- I have been coding for many years now, knowledge of Algorithms is something that I have gained through those years of practice and repeated attempts to optimize my code | |||
*'''Why do you want to participate in the Google Summer of Code? What do you hope to gain by doing so?''' | *'''Why do you want to participate in the Google Summer of Code? What do you hope to gain by doing so?''' | ||
Line 61: | Line 58: | ||
* '''Please describe your experience with C++, Octave or Matlab m-scripts, OpenGL and Qt.''' | * '''Please describe your experience with C++, Octave or Matlab m-scripts, OpenGL and Qt.''' | ||
: | :'''MATLAB m-scripts:''' I am highly experienced with MATLAB m-scripts. A lot of my coursework assignments involve making m-scripts. Those assignments, have even asked me to make my own implementations of inbuilt MATLAB functions and I have been using that experience to contribute to Octave-Forge signal package. In addition to this, I also implement machine learning in Octave and have gained further experience of m-scripts by doing that. If selected, for GSoC 2018, I will approach my project, with m-scripts and so I consider my experience to be a big plus point. | ||
: | :'''C++:''' I am quite familiar with the C++ programming language and have used it for personal projects and problem solving. | ||
: | :'''OpenGL and Qt:''' I have never used OpenGL before. I have n:- I will be taking a formal course on Algorithms in my next semester.ever used Qt either but I've seen some Qt code of my friends. | ||
* '''Please describe your experience with other programming languages.''' | *'''Please describe your experience with other programming languages.''' | ||
: | :'''Python:''' I am proficient in Python. I use it as my go-to language for various tasks, mostly Machine Learning. | ||
: | :'''C:''' I am comfortable with C and have made a number of projects using it. | ||
: | :'''JAVA:''' I have 4 years of experience with JAVA, but I haven't used it for making projects. I use this language primarily for problem solving (competitive programming) questions. | ||
* '''Please describe your experience with being in a development team. ''Do you have experience working with open source or free projects?'' ''' | *'''Please describe your experience with being in a development team. ''Do you have experience working with open source or free projects?'' ''' | ||
:-The only experience I have with working on open source and free projects is the experience that I have got by | :-The only experience I have with working on open source and free projects is the experience that I have got by | ||
::a) contributing to some open source repositories on Github. | ::a) contributing to some open source repositories on Github. | ||
::b) contributing missing functions to the Octave-Forge Signal package. | ::b) contributing missing functions to the Octave-Forge Signal package. | ||
I do have the experience of working on a few projects with a team but those were small projects and we never used version control systems while making them. | :I do have the experience of working on a few projects with a team but those were small projects and we never used version control systems while making them. | ||
* '''Please describe the biggest project you have written code for and what you learned by doing so. Also, describe your role in that project over time.''' | *'''Please describe the biggest project you have written code for and what you learned by doing so. Also, describe your role in that project over time.''' | ||
: | :I'll assume that by 'biggest project', you mean the project which required me to play important roles and write a lot of code which required a lot of testing and debugging. | ||
I was the team leader in this project and as the leader, my primary roles were to.. | :In that sense, my biggest project was that of making an Arduino and LDR Sensors based maze solver bot with a team of four. The bot would traverse a maze in a 'trial run' and store all the correct paths (A path that would not lead to a dead end) in its memory whenever it encountered a 'T like' condition in the maze (A condition when more that one choice of path was available). After that, in any subsequent run, the bot would traverse the maze using the stored path (which avoided dead ends) and therefore, solve the maze in a shorter amount of time. | ||
:I was the team leader in this project and as the leader, my primary roles were to.. | |||
::a) Give directions to the team in a way that every team member's individual skill-set could be taken into use. | ::a) Give directions to the team in a way that every team member's individual skill-set could be taken into use. | ||
::b) Boost the morale of the team whenever it seemed like the project would not get completed in time. | ::b) Boost the morale of the team whenever it seemed like the project would not get completed in time. | ||
These were my primary roles as the leader. My technical role was to write the code or to make a 'functioning brain' of the bot. Roles of my team mates were to design the hardware, design testing tracks etc. | :These were my primary roles as the leader. My technical role was to write the code or to make a 'functioning brain' of the bot. Roles of my team mates were to design the hardware, design testing tracks etc. | ||
Some soft skills I learned from this project were.. | :Some soft skills I learned from this project were.. | ||
::a) How to work with a team. | ::a) How to work with a team. | ||
::b) The roles and importance of a leader. | ::b) The roles and importance of a leader. | ||
Some technical skills I learned were... | :Some technical skills I learned were... | ||
::a) Technicalities of Arduino, LDR Sensors, motor drivers etc. | ::a) Technicalities of Arduino, LDR Sensors, motor drivers etc. | ||
::b) Technicalities of writing an Arduino/C code. | ::b) Technicalities of writing an Arduino/C code. | ||
* '''Please state the commits and patches you already contributed to Octave.''' | *'''Please state the commits and patches you already contributed to Octave.''' | ||
:Patch submissions... | |||
::- I've contributed a patch for the db2pow[https://savannah.gnu.org/patch/?9587] function of the signal package. | |||
::- I've contributed a patch for the pow2db[https://savannah.gnu.org/patch/?9589] function of the signal package. | |||
::- I've contributed a patch for the modulate[https://savannah.gnu.org/patch/?9409] function of the signal package. | |||
:Other small contributions... | |||
:- I have also helped review the cconv[https://savannah.gnu.org/patch/?9570] function by suggesting a faster algorithm. My suggestion was considered and acted upon. | |||
:- I have also helped by updating the signal package wiki page[https://wiki.octave.org/Signal_package#Missing_Functions] and bringing it up-to-date with the patch tracker. Discussions can be seen here [http://lists.gnu.org/archive/html/octave-maintainers/2018-03/msg00188.html]. | |||
: | :I have also coded a small implementation[https://github.com/Sudeepam97/Did_You_Mean] of the project I plan to work on[https://wiki.octave.org/Summer_of_Code_Project_Ideas#Command_line_suggestion_feature]. This is a rough implementation which has been done for demonstrative purposes only and needs a lot of work. | ||
== F: Feeling fine == | == F: Feeling fine == | ||
Line 109: | Line 114: | ||
** '''IRC and mailing lists''' | ** '''IRC and mailing lists''' | ||
:: -I | :: -I am comfortable with IRC and mailing lists. | ||
** '''Mercurial or other source code management systems''' | ** '''Mercurial or other source code management systems''' | ||
:: -I am comfortable with git and while submitting patches | :: -I am comfortable with git and while submitting patches for Octave-Forge I have understood how Mercurial works. I understand how patches are contributed in the Octave community. | ||
** '''Mediawiki or other wiki software''' | ** '''Mediawiki or other wiki software''' | ||
:: -I learned a little while writing this application | :: -I learned a little while writing this application and I feel comfortable using them. | ||
** '''make, gcc, gdb or other development tools''' | ** '''make, gcc, gdb or other development tools''' | ||
Line 121: | Line 126: | ||
* '''What will make you actively stay in our community after this GSoC is over?''' | * '''What will make you actively stay in our community after this GSoC is over?''' | ||
:: -There are many things that I would like to complete in/add to Octave. | :: -There are many things that I would like to complete in/add to Octave. An example would be a signal package which is at par with MATLAB's signal toolbox. Things like these, and the fact that GNU Octave is such an important piece of software for me will make me stay in the community even after GSoC. | ||
== O: Only out of interest == | == O: Only out of interest == | ||
Line 161: | Line 166: | ||
* '''Did you select a task from our list of proposals and ideas? If yes, what task did you choose? Please describe what part of it you especially want to focus on if you can already provide this information.''' | * '''Did you select a task from our list of proposals and ideas? If yes, what task did you choose? Please describe what part of it you especially want to focus on if you can already provide this information.''' | ||
::Yes, I have decided to work on the '''command line suggestion feature | ::Yes, I have decided to work on the '''command line suggestion feature [https://savannah.gnu.org/bugs/?46881]'''. | ||
edits