GSoC 2018 Students Announced



@mschauer I do plan on taking up Bayesian Inference on SDEs, currently I am working on implementing multiple shooting objective (within DiffEqParamEstim.jl) primarily for SDEs. The link you provided is quite detailed and I think it will be really helpful in setting up support for SDEs in DiffEqBayes.jl. Thanks!


I may be able to provide a bit of expertise on the latter.


I’ve been dealing with making a thread-safe regex package for Julia recently, I’d be happy to answer questions also (I’m in the Julia Gitter chat room frequently).


I’m Pietro Vertechi, PhD student from Champalimaud Neuroscience Programme in Lisbon. I’ll be working with Shashi on developing a web-app (based on WebIO and InteractNext) to provide a graphical interface to do simple data-wrangling and visualizations with JuliaDB tables. If you’re curious a proof of concept can be found here

I’ve been using Julia for a while, but only started contributing in the last year and this is my first GSoC.



Hi everyone,

I’m Sebastian, currently studying Physics at HU Berlin. Many of you might have already seen me around here in the last few years :slight_smile:

In this year’s GSoC I’ll work on bringing performance linting to Juno (with @Harsha as my mentor) – Julia generally has a few performance related gotchas (type instabilites, anyone?) everyone should be aware of, but the user experience around finding them is a bit … meh. For that reason I aim to provide a nice UI around the sort of automated analysis Traceur.jl does, hopefully with automatic fixes for more common mistakes.

During this time I’ll also make sure to update Juno for 0.7 (here’s to a release before JuliaCon).



Hello everyone! I am Yingbo Ma, and I am a first year undergraduate student who is majoring in mathematics and physics in University of California, Irvine. My mentors are Jiahao Chen and Chris Rackauckas.

My project is primarily about stiffness detection and switching algorithm but also includes index reduction on differential algebraic equations. Stiffness is a common phenomenon in numerically solving differential equations. However, algorithms which can efficient solve stiff equations are not good at solving non-stiff equations, and vise versa. Users have the hassle of having to choose between stiff solvers and non-stiff solvers, if the nature of the equations are not known. The stiffness detection and switching algorithm aims to help users automatically choose a suitable algorithm for a specific problem. Differential algebraic equations often arise from modeling problems, e.g. rigid body dynamics in robotics. One usually needs to do index reduction by hand or needs to use a CAS. Numerical solvers often target low index problems, while rigid body dynamics problems normally have an index number of three because of Lagrange multipliers. Thus, automatic index reduction algorithms are a huge productivity booster for end users.


Hello everyone,
I’m Prakhar Srivastava currently in Junior year at GGSIPU in New Delhi studying in Computer Science. This is my first GSoC and I’m thrilled to be a part of such active and vibrant community!
I’m selected in JuliaAstro organization and my proposal is to port the useful ERFA functions to Julia. I’m very excited to work on it this summer and contribute to Julia community!

My mentors are: @helgee and @giordano


Hello everyone!

My name is Lauri Nyman and I’m a third-year undergraduate student of Applied Mathematics at Aalto University, Finland. This is my first GSoC and I’m excited to be a part of the Julia community!

For the GSoC project, I will be implementing an eigenvalue problem solver for sparse nonsymmetric matrices in native Julia. The aim is to replace the current implementation that relies on ARPACK, and to have this method included in the package IterativeSolvers.jl. The motivation behind this native Julia implementation is that Julia would become more lightweight as well as diverse in the sense that the new ‘eigs’-function could be used with different number types as well. My project will be mentored by Harmen Stoppels (@stabbles).

I’m looking forward to the exciting summer!


Hello everyone!
I am Neethu Mariya Joy, currently a second-year CS undergrad at BITS Pilani, India. I am really glad to be a part of this community!

My project is to make web demos for Flux using FluxJS.jl, the js export for Flux.jl. I’ll be making models of agents playing games like breakout, pong, go and other artistic demos. My mentors are Christopher Rackauckas and Jane Herriman.

Looking forward to a great summer!


Hello everyone,

I am Sayan Sinha, a second-year undergraduate student from the Indian Institute of Technology Kharagpur, India. I shall be working on building GPU kernels, along with their optimisation and testing. I would be mentored by @sdanisch, @vchuravy, @Keno and @ChrisRackauckas.

The primary aim of my project is to develop efficient GPU kernels for generic matrix multiplication, convolution, pooling and batch normalisation in GPUArrays.jl. This would also help speed up Flux.jl in the presence of a GPU. Along with that, I’ll be creating tests and benchmarks for various versions of the kernels developed.

This is my first time with GSoC, and I am grateful to the community for providing me with this opportunity. Along with that, I would like to thank @MikeInnes and my mentors for supporting me throughout the proposal submission period.

Looking forward to an excellent learning experience this summer and beyond.

Sayan Sinha.


Hello everyone,

I am Shubham Maddhashiya, a second-year undergraduate student from the Indian Institute of Technology Kharagpur, India. This is my first GSoC and I’m excited to be a part of the Julia community!

My project is to implement Variable Step Size Multistep Methods, Variable Order Variable Step Size Multistep Methods, IMEX Multistep Methods and IMEX Runge-Kutta Methods.

My mentors are @Christopher Rackauckas and @Gabriel Gellner.

Looking forward to a great summer!


Hey everyone, I’m Aditya and I will be working on the “PiCraft.jl” package.
This package allows us to control a Minecraft world on the Java and Raspberry Pi Minecraft editions. Controlling the world mostly means the ability to teleport players to any coordinates and placing blocks of any specified type on any set of coordinates.
Using programming allows us to generate a lot of complicated structures very easily and saves a great deal of time. Minecraft is very popular because people like to build stuff in it however at times it can get repetitive and boring. This package will reduce the boring aspects of building.
The reason this project is important to the community is that it will help us get children excited to build stuff and hopefully they get an introduction to Julia and Programming.
If there are any Minecraft fans out here who would like to test some features and have some fun building things you never thought you could, ping me on slack. I would really like to hear what you have to say.
Thanks for this opportunity and good luck to everyone.


My kids were really into Minecraft about 5 years ago, when they were 7 and 10 years old, to the point that I even set up a Minecraft server on my MacPro for their friends and them to play on, in a controlled environment.
One of the most interesting things for them to use was the ComputerCraft mod, which provided a Lua interpreter, programmable “turtles”, and other ways of writing Lua programs to affect the Minecraft world.
Of course, I would have much preferred if they could have been able to learn Julia instead :nerd_face: (although I do like Lua a lot).
This sounds like a very fun GSoC project!


Hello everyone!
I am Eeshan Gupta, a second year undergrad at Indian Institute of Technology, Kharagpur, India. As a part of GSoC, I will be working on JuliaIntervals, especially on the IntervalRootFinding and IntervalOptimisation packages. David Sanders will be mentoring my project.

I will be implementing various techniques for Guaranteed Root Finding and Global Optimization using Interval Arithmetic in Julia. Root Finding is the problem of finding all roots of any function in a given box, whereas Global Optimization is the problem of finding the global minimum and maximum of any function. These packages contain methods for solving these in a guaranteed way, using interval analysis.

I am very excited to be working with the Julia community and having a wonderful summer!


Hi @eeshan9815
if you or @dpsanders feel motivated to implement topological (Lefshetz) index computation (see e.g. the discussion in here) in IntervalRootFinding, feel free to ask me any questions.

This is really less complicated than it sounds (no need to chase commutative diagrams; just count roots with “topological multiplicity”, which is the sign of the determinant of the jacobian; the only tricky part is computing the multiplicity for maybe-roots with maybe-non-invertible jacobian)

But I’m not familiar with the codebase, am not an active user of the JuliaIntervals world, and do not plan to implement this myself in the near future. I am working on some other computational topology stuff though, so there might be overlap.

Otherwise, welcome and have a nice summer!


Hello, everyone!
My name is Mikhail (Michael), and I am a PhD student in physics and mechanics, specialising in magnetism.

During the GSoC event, I want to create something useful for researchers and to help them in simulating n-body interactions. Examples include movement of celestial objects such as planets, stars and even colliding galaxies; charged particles gyrating in alternating magnetic or/and electric fields like electrons and protons in a bubble chamber; dynamics of neutral molecules like ideal gas simulation or behaviour of sophisticated protein chains.

To conduct fast simulations of those systems in Julia I am going to develop and implement tools in DiffEqPhysics.jl. There will be created a convenient interface for n-body simulations combining solvers of differential equations with approximation methods validated from the physical point of view.

Mentors: dextorious, David Sanders, Christopher Rackauckas


Hello, everyone!

My name is Ziyi Xi, and I’m a final year undergraduate student in the University of Science and Technology of China majoring in geophysics and CS. And In this autumn, I’ll come the US to be a PhD student in scientific computing. I’m very sorry for my late reply… I have just passed a deadline of my national innovation program.

This year, I’m planning to work on SpecialFunctions.jl with my mentor: Simon Byrne. I’m very grateful to have a good mentor who have a great understanding of both scientific computing and mathematics.

As for the project, I will try to implent some Special functions in pure Julia. It’s meaningful for the reason of good maintenance and taking the performance advantage of Julia computing. At the moment, I’d like to refer to some existed libraries in other programming languages to see the algorithms they have used, and adapt them if the license permits. I think it’s practical.

Once again, I’m very happy to join this community! Thanks!