A fresh approach to Technical Computing

Julia is a programming language for ease of use and performance, which is rapidly gaining momentum in all kinds of technical and scientific computing. Our community of users (including many past GSoC students!) have built state of the art packages for differential equations, machine learning, differentiable programming, mathematical optimization, physical modelling and probabilistic programming. A Summer of Code project in Julia is an opportunity to work at the bleeding edge of any of these exciting fields.

Work on the core language is welcome, but we are also acting as an umbrella organisation for several packages in the Julia ecosystem. The major ones are:

Flux, for machine learning; CuArrays.jl and the GPU programming stack; DifferentialEquations.jl, for solving differential equations; Turing.jl for probabilistic programming.

As well contributions to packages, we welcome self-contained projects that use these tools to do something interesting. For example, previous students have written speech recognition and reinforcement learning (e.g. AlphaGo) models for Flux’s model zoo, or been involved in our Neural ODEs work.

lightbulb_outline View ideas list


  • julia


  • Science and Medicine
  • technical computing
  • scientific computing
  • data science
  • machine learning
  • numerical computing
comment IRC Channel
email Mailing list
mail_outline Contact email

The Julia Language 2019 Projects

    Addition Of Baseline Models To Model Zoo
    Model zoo is a great compilation of deep learning and reinforcement learning algorithms. Currently state of the art baselines in terms of...
  • Arda Akdemir
    De-Bruijn Graph Constructor Package for De-novo Genome Assembly
    De-novo sequence assembly is the process of constructing a contiguous long sequence out of shorter sub-sequences produced by sequencing platforms,...
  • Tejan Karmali
    Differentiable Duckietown
    Julia language offers support for differentiable programming with the help of its AD. This projects leverages this to test differentiable programming...
  • Avik Pal
    Differentiable Ray Tracer in Julia
    Differentiable Programming is a programming paradigm in which we can differentiate through the program itself. It allows us to exploit the knowledge...
  • Andreas Peter
    Differentiable Tensor Networks
    This project aims to improve the tooling for tensor network algorithms in julia and demonstrate advantages of julia - composability, performance,...
  • Manjunath Bhat
    Enriching Model Zoo with Deep Learning Models
    The aim of this project is to enrich Flux Model Zoo with unsupervised deep learning models, in particular variants of Generative Adversarial...
  • Abhinav Mehndiratta
    GraphBLAS Implementation
    This project aims to get the GraphBLAS API working from Julia by connecting it to the SuiteSparse GraphBLAS implementation and creating a graph type...
  • Ayushk4
    Named Entity Recognition and Part-of-Speech APIs and models
    JuliaText is the JuliaLang organization that provides with packages to work with text. It currently lacks support for basic problems like Named...
  • Deepesh Thakur
    Native Julia ODE, SDE, DAE, DDE, and (S)PDE Solvers
    The DifferentialEquations.jl ecosystem has an extensive set of state-of-the-art methods for solving differential equations. By mixing native methods...
  • Kanav Gupta
    Performance Enhancements and General Fixes
    DifferentialEquations.jl is the state of the art differential equations solver that exists right now. Being written purely in Julia and having a huge...
  • Brandon Taylor
    Query.jl to SQL translation
    I want to write code to translate the syntax supported by Query.jl into SQL. Then, the queries can be sent to a variety of database softwares. I can...
  • Morten Piibeleht
    Rejuvenating Documenter
    Documentation, essential for any software project, needs to be as easy as possible to write and publish. For Julia packages, you can use the...
  • Johnny Chen
    Towards Better Images.jl Ecosystem
    This project aims to achieve a better ecosystem for Images.jl, an image-processing toolbox in Julia. Main contributions consist of user-friendly...