FOSSEE Summer Fellowship 2020 - Scilab

Please keep visiting this page for updates
Last updated on 01 April 2020

Due to the outbreak of COVID-19 and travel restrictions placed by IIT Bombay, the FOSSEE Summer Fellowship 2020 will be offered remotely. The FOSSEE team will contact the selected candidates through emails soon.

General Instructions:
  1. There are two screening tasks available under Scilab course.
  2. You can select either one of them or choose to do both the tasks as per your convenience. We recommend you to focus on one task and submit it successfully.

Note: It is mandatory to finish both the parts, Part A and Part B to consider your submission for fellowship.

Part A: Case study 1

In this part, you have to do a case study based on a chosen topic. You will have to solve it using Scilab and submit it along with a report. Here are the details :

  1. Choose a case study topic specific to your domain/interest. To know more on how to select a topic see Guideline-1.
  2. Code the solution to your chosen case study topic using Scilab. See Guideline-2 to be followed while coding the solutions.
  3. Write a Technical Report based on your case study (minimum 4 pages). Strictly follow the template given here.

Part B: Case study 2

In this part, you have to propose a topic for a case study. You have to write an abstract about the proposed topic and how will you solve it using Scilab. You have to only submit the abstract. Here are the details :

  1. Choose a case study topic specific to your domain/interest. To know more on how to select a topic see Guideline-1.
  2. Prepare a one-page abstract describing how will you solve the chosen problem using Scilab.

Technical Requirements: Knowledge of Scilab and Xcos

Resources :

  1. Refer to Spoken Tutorials on Scilab to start learning Scilab.
  2. Click here to explore Scilab Textbook Companion (TBC).
  3. Click here to explore Scilab Lab Migration (LM).
  4. Click here to learn some advanced concepts and applications of Scilab.

Procedure to submit :

  1. Prepare a project directory (e.g. suppose abc student is submitting the task, file name should be 'abc_scilab_case_study').
  2. In this directory, create two separate directories for each case study with names Case_study1 and Case_study2
  3. Case_study1 directory must contain main .sce file, dependencies (as mentioned in Guideline-2) and PDF of technical report. Each file name should be same as the directory.
  4. Case_study2 directory must contain PDF of abstract.
  5. Compress the project directory in .zip format and submit. No other formats will be accepted.
  6. Click here to upload your submission.

Evaluation criteria :

The completed Case Study Project will be evaluated on

  1. The complexity of the problem. Validated results using other sources/references
  2. Quality of the report
  3. Case studies based on Xcos will be appreciated.
  4. If plagiarism is observed, your submission will be rejected.
  5. In case your submission is found to be in the same lines with/ copied from another submission, both the submissions will be rejected.
Description of the Screening Task :

Develop a Scilab toolbox to compute the transpose of a given nxm matrix. The functional implementation must be done using C. The function must be named as “transpose” and it must be callable from Scilab. Write a short help document giving clear instructions on how to setup, build and test your work. Clearly mention the versions of software, OS, etc.

Technical Requirements: C/C++, Scilab 6.0.x, Octave 4.4.1 and above, Ubuntu 18.10/Debian 10

Note: Scilab6 C API is very different from Scilab5 C API. Consider this while browsing help online.


  1. Scilab 6 API:
  2. Example Scilab-Octave toolbox:
  3. Scilab toolbox help:

Procedure to Submit:

  1. Create a private repository on
  2. Push your Scilab toolbox on to this repository
  3. Add the user “fossee-dev” as a collaborator to your private repository
  4. Click here to submit your Github repository link.

Evaluation Criteria: The code will be evaluated based on 

  1. Originality, correctness of the output and how it handles arbitrary type and number of inputs without crashing.
  2. Also, the clarity and quality of the help document giving step-by-step instructions to build, load and use your code will be considered during evaluation.