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 and GSoD students!) has built state of the art packages for differential equations, machine learning, differentiable programming, mathematical optimization, physical modeling, 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 organization for several packages in the Julia ecosystem. The major ones include but are not limited to:

As well as 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
  • julialang


comment IRC Channel
email Mailing list
mail_outline Contact email

The Julia Language 2021 Projects

  • Alessandro Cheli
    Applied equality saturation with Metatheory.jl
    Metatheory.jl is a general purpose metaprogramming and algebraic computation library for the Julia programming language, supporting the novel...
  • Niklas Schmitz
    Automatic differentiation in density-functional theory
    Density functional theory (DFT) is a key driving force in modern quantum chemistry, with applications ranging from materials science to drug...
  • Luca Ferranti
    Developing IntervalLinearAlgebra.jl
    The goal of this project is to implement the IntervalLinearAlgebra.jl package within the JuliaIntervals organisation and have the first release at...
  • William Kimmerer
    Differentiable GraphBLAS
    Graphs are a ubiquitous and versatile data structure, which allow the representation of problems and systems across a vast array of domains like...
  • Manikya Bardhan
    FastAI.jl Development
    Aim is to build all the portions of the FastAI.jl package, inspired by the fastai Python library, which will provide high-level components that can...
  • Arsh Sharma-1
    General Improvements to User Experience in Javis
    Javis.jl is a graphical animation/visualization package for the Julia Language which fetches motivation from Grant Sanderson's Python based animation...
  • Archana Warrier
    GSoC Proposal - Causal and counterfactual methods for fairness in machine learning
    Machine learning models are being used to assess loan and job applications, in bail, sentencing and parole decisions, and in an increasing number of...
  • Xuanda Yang
    Implement Escape Analysis in Julia Compiler
    Escape analysis is a classic problem in compiler analysis. Julia compiler has an existing AbstractInterpreter framework for managing inter-procedural...
  • Ross Viljoen
    Implementing Advanced Variational Gaussian Process Models
    Gaussian processes (GPs) are flexible probabilistic models with a wide a variety of applications. However, in their simplest form they scale...
  • leachim
    Improving Turing’s documentation and tutorials
    I would like to extend and update Turing’s documentation and include novel examples that show how to best use Turing’s capabilities in an applied...
  • Carol Mak
    Involutive Markov Chain Monte Carlo in Turing
    To realise the full potential of probabilistic programming languages (PPLs), it is essential to automate the inference of latent variables in the...
  • Paulina Martin
    MCMC Chains improvements
    In the last decades, Bayesian statistics has gained ground in the modelling of phenomena. Despite its advantages, to implement a Bayesian framework...
  • Aayush Sabharwal
    Model Serialization and Pathfinding for Agents.jl
    Agent-based models (ABMs) are simulations in which autonomous entities (known as agents) react to their environment (which includes other agents)...
  • Vasanth Mani Vasi
    Music Transformer
    The field of deep learning has had numerous impressive advancements over the last few years. Music generation has always been a difficult application...
  • Michał Łukomski
    MuZero implementation
    The goal of this project is to implement the MuZero algorithm in Julia, with the following expected benefits: attract people from the model-based RL...
  • Huu Long Nguyen
    Particle Swarm Optimization for Hyperparameter Tuning in MLJ
    Machine learning models have demonstrably achieved significant success in data classification and prediction across innumerable industries and...
  • Adarsh Kumar
    Plug and Play Language Models in Julia
    While pre-trained language models like GPT-2 provided with Transformers.jl can generate coherent text, controlling and steering of text towards the...
  • Siddharth Bhatia
    Redesigning GridWorlds.jl
    Environments are a crucial component of reinforcement learning (RL). Grid worlds are a broad class of tile-based games that are easy to create, and...
  • Anant Thazhemadam
    Tight-Binding Atomic Graph Neural Networks
    Virtually all properties of interest arise from electronic interactions between the atoms of a crystal. The work I propose aims to develop a...
  • Elias Little
    What You See Is What You Rest Security
    Adding security features to the What You See Is What You REST addition to Pluto notebooks, and creating simple methods to deploy notebooks as REST...