# Summer of Code

Octave has participated in the Google Summer of Code (GSoC) since 2011 (as part of GNU in 2011-2013 and 2015) and the ESA Summer of Code in Space (SOCIS) since 2012. Both programs continue to bring potential new contributors to Octave and have them work on interesting projects that could be merged into Octave or otherwise benefit the Octave community.

This page lists all current and past summer of code projects done for Octave under both programs.

## Current and Past Projects

### GSoC 2021

Student | Project Summary |
---|---|

Abdallah Elshamy | Jupyter Notebook Integration [blog] |

### GSoC 2020

Student | Project Summary |
---|---|

Abdallah Elshamy | JSON encoding/decoding [blog] |

### GSoC 2018

### GSoC 2017

Student | Project Summary |
---|---|

PiyushJain | Boolean operations on polygons |

Michele Ginesi | Make Specfuns special again |

urathai | Interval arithmetic on N-dimensional arrays |

Enrico Bertino | Convolutional neural networks |

### GSoC 2016

Student | Project Summary |
---|---|

Bumi | Generalized eigenvalue problem |

Chiara Segala | Exponential integrators |

Francesco Faccio | ode15s |

Amr Mohamed | Boolean operations on polygons |

Abhinav Tripathi | Symbolic package |

### SOCIS 2016

Student | Project Summary |
---|---|

Cristiano Dorigo | Iterative solvers for sparse linear systems |

### GSoC 2015

Student | Project Summary |
---|---|

Asma Afzal | Optimization package: Add Matlab-compatible lsqcurvefit, lsqlin, lsqnonlin, etc. |

Piotr Held | Interface to the TISEAN library |

Antonio Pino Robles | Improved performance of funm and related matrix functions |

### SOCIS 2015

Student | Project Summary |
---|---|

Carnë Draug | Bioformats for Octave, implement watershed, and improve regionprops and hist3 |

### GSoC 2014

Student | Project Summary |
---|---|

Eduardo Fernández | Incomplete matrix factorizations |

Eugenio Gianniti | Finite element modeling using an interface to FEniCS |

David Spies | Improvements to handling of sparse matrices |

### SOCIS 2014

Student | Project Summary |
---|---|

Jacopo Corno | Matlab-compatible ODE solvers |

### GSoC 2013

Student | Project Summary |
---|---|

Ahsan Said | Agora Octave web site |

Vytautas Jančauskas | Audio processing and file I/O functions |

Gedeone | General purpose finite element method library |

Andrej Lojdl | TeX rendering engine for plotting figures |

Carnë Draug | Improve N-dimensional image support in the image package |

Matheus Vieira Portela | GUI for manipulating closed-loop systems for the control package |

Riupeng Li | Incomplete sparse LU and Cholesky factorizations |

Kai Torben Ohlhus | Other improvements to sparse LU and Cholesky factorizations and [1] |

LYH | JIT compilation improvements |

### SOCIS 2013

Student | Project Summary |
---|---|

Roberto Porcù | Geometric integrators for Hamiltonian systems and ODE solvers |

### GSoC 2012

Student | Project Summary |
---|---|

Max Brister | JIT compilation using LLVM |

Jacob Dawid | Native Octave GUI |

Benjamin Lewis | Least squares spectral analysis toolbox |

### SOCIS 2012

Student | Project Summary |
---|---|

Wendy Liu | Agora Octave web site |

Andrius Sutas | Low-level I/O functions |

### GSoC 2011

Student | Project Summary |
---|---|

Daniel Kraft | Profiler for the Octave interpreter |