From Octave
Revision as of 16:38, 13 May 2013 by Siko1056 (talk | contribs) (Added to category "Summer of Code 2013 Applicants".)
Jump to navigation Jump to search

Public application template

A: An introduction

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

I am a student at a French school ENSIMAG.

    • Which languages do you speak?

I speak french english arabic fluently and intermediate spanish.

    • What's your overall background?

The general fields are Computer Science and Applied Mathematics

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

i want to gain experience. i like challenges and I want to participate in The GNU project.

  • Why are you choosing Octave?

Octave is actually very useful for us, although I never used before very recently. It is really meeting my area of studies.

C: Contact

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


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


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

8.00 to 18.00

E: Coding experience

This part is one of the more important ones in your application.

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

I have a little experience in m-scripting and an Intermediate level in C++ : Worked on small projects and exercises

  • Please describe your experience with other programming languages.

I have used Scilab for numerical problems, R for statistical use, C, Ada, shell-scripting, GNU make, LateX.

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

I never had a professional experience in a development team. Although, I worked various University projects in teams ( three to five people)

  • 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 in C. We were three and the subject was simulation of a MIPS CPU. First we identified the needs, then we agreed on an implementation, finally we realised several tests to validate our project. I participated in all of the tasks, starting from suggesting an implementation to the validation stage.

F: Feeling fine

  • Please describe (in short) your experience with the following tools:
    • IRC and mailing lists : Beginner
    • Mercurial or other source code management systems : Git user but i worked with hg to have access to Octave sources and how to use changeset
    • Mediawiki or other wiki software : never used before
    • make, gcc, gdb or other development tools : already used for many C and ada projects

O: Only out of interest

  • Did you ever hear about Octave before? Yes
    • If so, when and where? at the university but never used it before this GSoC application I was using Scilab.
  • What was the first question concerning Octave you could not find an answer to rather quickly?

is this the public or the private template ?

P: Prerequisites

  • Please state the operating system you work with.


    • an internet connection Yes
    • a computer Yes
    • a computer with your progressing work on Yes
  • Please describe the degree up to which you can install new software on computers you have access to.

all degrees.

S: Self-assessment

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

Criticism help us build a better tool. Criticism help us finding the Achilles ' heel of our programs and try to fix it.It help me find out about my weaknesses and make the most from others experience.

  • How autonomous are you when developing?

If I understand the problem I can be totally autonomous. else, I rather prefer working on a specific task that may seems at first sight, having no interaction with the project.

    • Do you like to discuss changes intensively and not start coding until you know what you want to do?

We must discuss a lot before starting to code,because mainly, a good idea may appear in the discussion and we are able to see the different problems that we could possibly face later on. Nevertheless, sometimes we have to begin to code to see it through. So, my conclusion, it is that dicussions before coding are mandatory but they don't have to last longer than it's should take.

    • Do you like to code a proof of concept to 'see how it turns out', modifying that and taking the risk of having work thrown away if it doesn't match what the project or original proponent had in mind?

Yes it happens sometimes. Particularly it happens when discussion are not deep enough. Even so, seeing how it turns out helps a lot sometimes if we don't have a better idea, because it may lead finding a solution and more importantly sometimes we don't take in account parameter that appears to us while doing this kind of experience.

Y: Your task

  • Did you select a task from our list of proposals and ideas?

Yes i choose implementing the incomplete sparse factorization project I want in particular to implement the CCS version of ilu and ichol in Core Octave using C++. I have studied how it work in theory. Then I started looking into building octave from sources.

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

I will identify the needs of the project during 1 week, after that during one week I will validate my first choice of implementation, I will also validate my functions and methods all the way long. During the last three or four weeks, I won't add any functionnalities, I will only validate and documentate my project.