Editing User:Mithil

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 4: Line 4:
== A: An introduction ==
== A: An introduction ==
* Please describe yourself in three sentences, one of them regarding your current studies.
* Please describe yourself in three sentences, one of them regarding your current studies.
** I'm Mithil Kumar, a third-year Computer Science Undergraduate student at Indian Institute of Technology Madras (IIT-M). I'm a quick learner, hard worker and always eager to learn something new.  
** I'm Mithil Kumar, a third-year computer science undergraduate student at Indian Institute of Technology Madras (IIT-M). I'm a quick learner, hard worker and always eager to learn something new.  
** Which languages do you speak?
** Which languages do you speak?
*** I'm well versed in English, Hindi, and Gujarati. I can also speak and understand a bit of german.  
*** I can communicate in English, Hindi, and Gujarati. I can also speak and understand little german.  
** What's your overall background? ''The general field you work in or are studying, e.g. computer science, physics, artificial intelligence, control theory...''
** What's your overall background? ''The general field you work in or are studying, e.g. computer science, physics, artificial intelligence, control theory...''
*** I'm a third-year Computer Science undergraduate student at Indian Institute of Technology Madras.
*** I'm a third-year Computer Science undergraduate student at Indian Institute of Technology Madras.
*** Following are a few of the many courses I have taken as a part of my undergraduate curriculum:
**** Data Structures and Algorithms
**** Advanced Algorithms
**** Discrete Mathematics
**** Graph theory
* 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?
** I think Google Summer of Code is a great opportunity to learn about Open Source community and apply some concepts learned during the curriculum, in practice. It'd be a great headstart to my professional career. I hope to gain professional and practical experience.
** I think Google Summer of Code is a great opportunity to learn about open source community and apply some concepts learned during the curriculum, in practice. It'd be a great headstart to my professional career. I hope to gain professional and practical experience.
** Please also describe your previous experience with the GSoC, if any. ''Includes any community-bonding, mentor experience or application, not necessarily accepted. We use this subquestion to identify which students are unfamiliar with how the program goes, providing further support. It has no negative impact on your rating!''
** Please also describe your previous experience with the GSoC, if any. ''Includes any community-bonding, mentor experience or application, not necessarily accepted. We use this subquestion to identify which students are unfamiliar with how the program goes, providing further support. It has no negative impact on your rating!''
*** This is my first GSoC experience.
*** This is my first GSoC experience.
* Why are you choosing Octave?
* Why are you choosing Octave?
**I opted for Octave because it overlaps with my area of interest. I have excellent Computer Science and Mathematical background which is the primary reason to opt Octave. Moreover, I have worked on Octave for a while. Hence it'd be a great opportunity to contribute to the Open Source Community.
** I opted for Octave cause it overlaps with my interest areas. I have excellent computer science and mathematical background which inclines me towards Octave.Also, I have worked on Octave for a while and I'd love to contribute to it.


== C: Contact ==
== C: Contact ==
Line 26: Line 21:
** Savannah :'''Mithil'''
** Savannah :'''Mithil'''
** Wiki : '''Mithil'''
** Wiki : '''Mithil'''
** Nabble : '''Mithil'''
* Which time zone do you live in? Will that change over GSoC duration? ''Perhaps DST adjustment or a relocation. Note that both UTC and GMT are not aware of daylight saving time! Please state UTC+x or -x.''
* Which time zone do you live in? Will that change over GSoC duration? ''Perhaps DST adjustment or a relocation. Note that both UTC and GMT are not aware of daylight saving time! Please state UTC+x or -x.''
** My time zone is UTC + 5:30. No, it'll not change during GSoC.  
** My time zone is UTC + 5:30. No, it 'll not change during GSoC.  
* Please state the timeframe (in UTC+0) when you feel most comfortable working during GSoC. Where are your time buffers?  
* Please state the timeframe (in UTC+0) when you feel most comfortable working during GSoC. Where are your time buffers?  
* ''Example: I usually code around 9.00 to 18.00 and could also try to start earlier (~7.00) for few days ;-)''
* ''Example: I usually code around 9.00 to 18.00 and could also try to start earlier (~7.00) for few days ;-)''
** I can work around 13.00 to 21.00 (in UTC + 0) but it would be flexible.
** I can work around 13.00 to 19.00 (in UTC + 0) but it would be flexible.


== E: Coding experience ==
== E: Coding experience ==
Line 37: Line 31:
* 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.
** '''C++''': I have 2-3 years of experience with C++ and I'm well aware of the Object Oriented concepts of C++.
** '''C++''': I have 2-3 years of experience with C++ and I'm well aware of the Object Oriented concepts of C++.
** '''Octave or Matlab''': I started using Octave during my last summer research and then continued using it for Andrew NG's Machine Learning course (MOOC). I have been actively following the octave code base and thus I have a pretty decent grasp over m-scripts.  
** '''Octave or Matlab''': I started using Octave during my last summer research and then continued using it for Machine Learning course(Online course). I have been actively following the octave code base and thus I have a pretty decent grasp over m-scripts.  
** '''OpenGL and Qt''': I have no prior experience in both of them but I'm eager to learn about them if necessary.
** '''OpenGL and Qt''': I have no prior experience in both of them but I'm eager to learn about them if necessary.
   
   
* Please describe your experience with other programming languages.
* Please describe your experience with other programming languages.
** C:I have over 4 years of experience in C which I picked during my school days and continued in college.  
** C:I have over 4 years of experience in C which I picked during my school days and continued in college.  
** Python: I'm well versed in Python. I have worked on a number of Python projects.
** Python: I'm well versed in python. I have worked on a number of python projects.
** Java: I can also write well-structured modular code in Java, which was a part of college curriculum.  
** Java: I can work with Java, which I picked up during one of the college course.  


* 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?''
** I have been a part of my Institute startup where I was a part of Frontend development team. I have no prior experience with Open Source or free project but I'd love to start by contributing to Octave.  
** I have been a part of my Institute startup where I was a part of frontend development team. I have no prior experience with open source or free project but I'm sure this would be a great start for me.  


* 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.
** Currently, I'm working on my curriculum project which manages and monitors a number of systems connected via the same network. It is a client-server Web Application. I have worked on client side data extracting part and soon I'll shift to backend team. Here is some of my documented work: [https://github.com/Mithil-Leua?tab=repositories]
** Currently, I'm working on my curriculum project which manages and monitors a number of systems connected via the same network. It is a client-server web application. I have worked on client side data extracting part and soon I'll shift to server side backend team. Here is some of my documented work:[https://github.com/Mithil-Leua?tab=repositories]


* Please state the commits and patches you already contributed to Octave. ''This question (one of the most important parts by the way) is the only part of your application our wiki admins will edit for you even after the application deadline. Code sometimes speaks louder than many words do.''
* Please state the commits and patches you already contributed to Octave. ''This question (one of the most important parts by the way) is the only part of your application our wiki admins will edit for you even after the application deadline. Code sometimes speaks louder than many words do.''
Line 72: Line 66:
** Yes, I have heard of Octave before.
** Yes, I have heard of Octave before.
** If so, when and where? How far have you been involved already?
** If so, when and where? How far have you been involved already?
*** I have extensively used Octave over the past year, beginning with my Summer Research Intern at Purdue University, followed by assignments in Andrew NG's Machine Learning Course.  
*** Last summer during my research intern at Purdue University, Professor Ananth Gramma advised me to have a look on "Octave-Networks Toolbox". After that, I used it for my Machine learning course by Andrew NG.


* What was the first question concerning Octave you could not find an answer to rather quickly? ''Of course, ore than one question can be stated. We try to improve based on this each year! Includes learning how to use it, code, website, GSoC application, …''
* What was the first question concerning Octave you could not find an answer to rather quickly? ''Of course, ore than one question can be stated. We try to improve based on this each year! Includes learning how to use it, code, website, GSoC application, …''
** I had a hard time to find "Building guidelines" for Octave. It'd be great to put the contents of "HACKING" file to a web page.
** I couldn't find "Building guidelines" for Octave. It'd be great to put the contents of "HACKING" file to a webpage.


== P: Prerequisites ==
== P: Prerequisites ==
Line 97: Line 91:


* How autonomous are you when developing:
* How autonomous are you when developing:
** I tend to code based on my approach to the problem, I try to figure out the bugs or inefficiencies (If any) for a while. If I don't find any solution then I don't hesitate to ask for a help. I also ask for suggestions after completing my code.  
** I tend to code based on my approach to the problem, I try to figure out the bugs or inefficiencies(If any) for a while. If I don't find any solution then I don't hesitate to ask for a help. I also ask for suggestions after completing my code.  
** Do you like to discuss changes intensively and not start coding until you know what you want to do?
** Do you like to discuss changes intensively and not start coding until you know what you want to do?
*** Yes, I prefer to discuss the approach intensively before coding. I think it is more suitable to write bug-free code at once and it also eliminates the some of the inefficiencies involved.
*** Yes, I prefer to discuss the approach intensively before coding. I think it is more suitable to write bug-free code at once and it also eliminates the some of the inefficiencies involved.
Line 105: Line 99:
== Y: Your task ==
== Y: Your task ==
* Did you select a task from our list of proposals and ideas?
* Did you select a task from our list of proposals and ideas?
**Yes, I have selected a task from the list of proposals.
**Yes, I selected a task from the list of proposals.
** 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. ''Please also wiki-link the page for your elaborated proposal here.''
** 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. ''Please also wiki-link the page for your elaborated proposal here.''
***I chose the project "Improve logm,sqrtm and funm" [http://wiki.octave.org/Summer_of_Code_Project_Ideas#Improve_logm.2C_sqrtm.2C_funm]. I'd like to focus on the algorithmic part where we would discuss the inefficiencies involved in the current implementation and come up with new efficient ways to complete the task. I'm reading about different methods / Algorithms involved in Matrix exponential functions.After that, I'd shift to implementation of the required functions.
***I chose the project "Improve logm,sqrtm and funm" [http://wiki.octave.org/Summer_of_Code_Project_Ideas#Improve_logm.2C_sqrtm.2C_funm]. I'd like to focus on the algorithmic part where we would discuss the inefficiencies involved in the current implementation and come up with new efficient ways to complete the task.I'm reading about different methods/Algorithms involved in Matrix exponential functions.After that, I'd shift to implementation of the required functions.


* Please provide a rough estimated timeline for your work on the task. ''This should include the GSoC midterms and personal commitments like exams or vacation ("non-coding time"). If possible, include two or three milestones you expect.''
* Please provide a rough estimated timeline for your work on the task. ''This should include the GSoC midterms and personal commitments like exams or vacation ("non-coding time"). If possible, include two or three milestones you expect.''
[[Category: Summer of Code]]
[[Category: Summer of Code]]
 
** I would update the timeline after working out the finer details with mentors.
**Community Bonding Period ( 4th May - 30th May)
***1st Week: Understanding the code base and reading about the research work going on in the relevant area.
***2nd Week: Discussing possible areas of improvement with the mentors. Getting an abstract idea about the implementation.
***3rd Week: Proposing new functions which could be included, study about them and constantly review ideas with mentors.
***4th Week: Fixating on the proposed upgrades and schedule.
 
**Phase I ( 1st June - 30th June)
***1st Week: Profile the present code of expm, sqrtm and logm. Implement efficient algorithms as m script functions (if any).
***2nd Week: Change possible functions to equivalent C++ functions.
***3rd Week: Review the work done and consult mentors for suggestions.
***4th Week: Work on suggestions and then wind up the Phase I. Start preparing for the Phase II.
 
**Phase II ( 1st July - 28th July)
***1st Week: Confer about the new functions which could be added and then implement them.
***2nd Week: Profile the code to identify weak sections and then improvise accordingly.
***3rd Week: Review Phase II.
***4th Week: Work on suggestions and look back through Phase I and Phase II.
 
**Phase III ( 29th July - 29th August)
***1st Week: Complete pending work ( if any ).
***2nd Week: Identify bugs and documenting the project.
***3rd Week: Get feedback and finalize the Submission.
***4th Week: Wait for Evaluation :)
Please note that all contributions to Octave may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Octave:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)