From Octave
Revision as of 16:06, 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 speak Russian and English. My background includes Discrete Mathematics, 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 and be a part of the entire community. Furthermore, gained working experience and skills would help me to become a professional contributor.

Why are you choosing Octave?

I became a user of Octave due to the Machine Learning online course provided by Stanford University. And the Octave project proposes to integrate knowledge of machine learning with programming. Finally, I found pretty useful possibility to interact with the contributors and creators of Octave.

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 and Linear Algebra courses. In Machine Learning course I needed to implement different learning algorithms 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. I am working on the project based on the Arduino microchip.

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 develop 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 in this project 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 and my own ideas, which I would like to implement in a real life. In addition, I hope to find new colleagues and exchange some experience with them after GSoC will 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 at least 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 -