From Octave
Revision as of 22:20, 1 April 2017 by 1besser1 (talk | contribs)
Jump to navigation Jump to search

A: An introduction

  • Please describe yourself in three sentences, one of them regarding your current studies.

My name is Nikita Gordiienko, at the moment I’m studying Computer Science at National Technical University of Ukraine "Igor Sikorsky Kyiv Polytechnic Institute". I am first year student and speak both Russian and English. My background includes several courses of advanced calculus???????, Computer Science, and Machine Learning.

  • Why do you want to participate in the Google Summer of Code? What do you hope to gain by doing so?

This is the first time I participate at GSoC. I believe that it is a great chance to apply all already gained skills in order to solve the real problem and consequently help the community and become a part of it. In addition, learning unknown for me technologies and pieces of advice from the maintainers of Octave would give me many unique skills. So gained during GSoC working experience would help me to become a specialist in this area of studies.

  • Why are you choosing Octave?

I became a user of Octave due to the Machine Learning online course provided by Stanford University. The Octave project proposes to integrate knowledge of machine learning with programming. Finally, I found the possibility to interact and work with the contributors and creators of Octave pretty exciting. I hope they will share their great experience with me.

C: Contact

  • Please state the (unique and identical where possible) nick you use on IRC and any other communication channel related to Octave.

IRC nick: 1besser1 Email:

  • Which time zone do you live in? Will that change over GSoC duration?

My time zone is Eastern European Summer Time (EEST) +0300 UTC and it should not change during GSoC.

  • Please state the timeframe (in UTC+0) when you feel most comfortable working during GSoC. Where are your time buffers?

I am flexible but expect to work from 8:00 to 12:00 and from 16:00 to 21:00. I could code also around 12:00 to 15:00 for few days.

E: Coding experience

  • Please describe your experience with C++, Octave or Matlab m-scripts, OpenGL and Qt.

I have used Octave scripts since my enrollment in Machine Learning course on the Coursera and Linear Algebra course at Kyiv Politechnial University in Ukraine. In Machine Learning course I needed to implement different learning algorithms as Matlab m-script and in Linear Algebra I checked all my solutions using Octave. I have medium working experience with C++ and only started participating in projects as a C/C++ developer. At the moment I am working on the project based on the Arduino microchip with several students from my university. I have read documentations about OpenGl and Qt but have no parctical experience.

  • Please describe your experience with other programming languages.

I have done the project with R.

  • Please describe your experience with being in a development team.

I am new to this.

  • 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.

My biggest project was my research work, which was published several times and presented at different science fairs (like Google Science Fair). I asked my friend to help with developing a simple Android application to collect acceleration data from smartphone and then wrote all my code with R in order to analyze the data using different methods like cluster analysis. The main goal of the project was to find some correlations between data and actual human fatigue. So, during the project my role was shifted from soft developer to statistical analyst. In a result, we learned how to work with statistical languages and efficiently analyze a big amount of data. Also, this project improved my programming and teamworking skills.

  • Please state the commits and patches you already contributed to Octave.

I hope, I will start contributing to Octave this summer.

F: Feeling fine

  • Please describe (in short) your experience with the following tools: We only use this question to determine where you need guidance, not for rating! We by no means expect you to be familiar with all of these and you'll won't necessarily need them while working with us.
  • IRC and mailing lists

I use the mailing list to contact my mentors during the projects in order to ask for a piece of advice.

  • Mercurial or other source code management systems

I’ve read the documentation of Mercurial and I’ve started to use it. I’m familiar with Git.

  • Mediawiki or other wiki software

I’ve just started to use my account and to explore

  • make, gcc, gdb or other development tools

  • What will make you actively stay in our community after this GSoC is over?

I think that after participating in GSoC I would have a better understanding of Octave as a developer and would have some experience. I believe that this experience is crucial in starting generating my personal ideas, which I would implement. In addition, all gained skills would help me to find and fix some bugs more efficiently. In addition, I hope to find new colleagues and cooperate with them after GSoC close.

  • Did you ever hear about Octave before?

I’ve used Octave during my online course on Machine Learning.

  • What was the first question concerning Octave you could not find an answer to rather quickly?

P: Prerequisites

  • Please state the operating system you work with.

Ubuntu 16.04, Windows 10, Windows 8

  • Please estimate an average time per day you will be able to access an internet connection, a computer, a computer with your progressing work on.

I will be able to access it for all day.

  • Please describe the degree to which you can install new software on computers you have access to.

I can install any software, which works with Ubuntu or Windows.

S: Self-assessment

  • Please describe how useful criticism looks from your point of view as committing student.

I think the criticism is the most useful way to understand mistakes and disadvantages. I like being criticized because after it I can see what aspects I need to improve. However, compliments help me to understand that I am moving on the proper way.

Y: Your task

  • 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 would like to work on the project “Neural Networks package: Convolutional Neural Networks”

  • Please provide a rough estimated timeline for your work on the task.

During the GSoC I plan to work 40 hours a week. This is the Timeline I want to follow: (the schedule will be better defined every week till the end of GSoC):


  • -familiarize with the community (using mailing list, IRC Channel, giving my contribution to short projects)
  • -familiarize with Mercurial and autotools
  • -study of SUNDIALS library, Oct and MEX files


  • -deeper study of the existing documentation of Google's library TensorFlow
  • -comparison between ode15s and the other ODE solvers
  • -have some practices in parallel computing using several PCs in order to perform task
  • -Keep in touch with the community and the mentor and have some consultations in the problematic aspects

Work period (June):

  • -
  • -
  • -

Mid-term evaluation

July -

August -