Xcos Fellowship 2019


  • The registration for FOSSEE Summer Fellowship 2019 starts on 1 February 2019.
  • For registration, click here.
  • To view the complete list of projects, click here.


Click here to know the important dates. 

Resources to learn scilab/xcos: http://spoken-tutorial.org/tutorial-search/?search_foss=Scilab&search_language=English

You are expected to finish one of the two of the following tasks:

Screening Task 1

  • Develop 10 or more nontrivial textbook examples in Xcos.

Examples are available on xcos.fossee.in/example . You may refer to these examples to understand how to develop your own examples. We expect applicants to show originality. You may refer to IEEE papers and textbooks to develop examples.

Screening Task 2

Take a look at the following bugs currently on xcos-on-web and try to solve at least one of them. The language skill you need has been listed with the bug.


  • python 3: Prestart SCILAB_MIN_INSTANCES scilab-adv-cli instances. SCILAB_MIN_INSTANCES will be set in config.py. Send the scilab command to one of the available instances. Remove the instance on completion / timeout. Restart instances as required.
  • python 3: Cleanup scilab-adv-cli instances on shutdown.
  • python 3: Add start time when command is run. Add a timeout to the scilab-adv-cli instance. At the end of the timeout, kill the scilab-adv-cli instance and return error.
  • mxgraph (js): We are using mxgraph for the canvas elements. Upgrade mxgraph to a recent version and test its working.
  • mxgraph (js): duplication of code. some functions are repeated. Cleanup the code to avoid repeated functions.
  • mxgraph (js): understanding of the architecture. Understand how mxgraph works. What functions are required to be overwritten? What is the role of each function overwritten? Make a directed block diagram using mxgraph. Each block will have input and output ports. For some type of blocks, the input and output ports can be changed by changing the properties of the block. Ensure that these functions work: adding a block, deleting a block, changing some properties of a block, adding input / output ports to a block, reducing input / output ports from a block, resizing a block, and moving a block around.
  • Add a validation framework for input of parameters of the blocks on double clicking them. Any input in the popup will be validated. On validation failure, it will highlight that block and ask the user to update it.
  • js: Add a cleanup framework for input of parameters of the blocks on double clicking them.

Procedure and Evaluation:

Install Ubuntu .

  1. Install Scilab 5.5.0/5.5.2.
  2. Add comments in the xcos model that explain the problem statement, and what the input arguments are, and generate an appropriate graphical output . Lucid comments that provide information about the example code will score highly.
  3. For the second task, you will be judged on code quality, correctness of output , and the methodology used. Please provide a readme file.
  4. Even if you don’t solve the bug, if your approach is impressive, you will be awarded points for it.
  5. Cite your references. On no account will plagiarism be tolerated. Such submissions will be rejected summarily.

Code Submission

Via Moodle:

If you have any Xcos fellowship related doubts, please email us

If you have a Xcos related query, please post your query on forums.fossee.in under ‘Scilab’. Please do not email us xcos related doubts. Such emails will be ignored.