# Projects and ideas for GSoC 2015

## Notebook mode with execution from top to bottom

In the current notebook (both Sage notebook and IPython notebook) the cells can be executed in any order. From a teaching point of view this is terrible and from a scientific point of view this leads to highly non reproducible computations.

The purpose of this task is to have a new mode for the IPython notebook that would force computations from top to bottom. If a cell is executed, then the state in which it is executed must be the one you obtain by executing all the cells above it. In order to make it work, one needs to save the Python state after each cell.

note: this is note completely Sage oriented... (see with IPython people)

## native GUI

Adapt Spyder to work with Sage.

## generic dispatcher

In Sage there are various places where we have several possibilities to execute a task (e.g. calling pari or gap or a native sage function). It would be interesting to have a way of choosing the default parameters by performing benchmarkings at build time. That would also allow to check coherency between various implementations.