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!) 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 are:

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 2020 Projects

  • Tejas Vaidhya
    A Lite BERT and Statistical Language Models
    JuliaText is a JuliaLang organization that provides packages to work with text. The aim of this project is to enrich TextAnalysis.jl with Framework...
  • Sharan Yalburgi
    Adding GPML capabilities to JuliaGaussianProcesses
    JuliaGaussianProcesses is an effort to build a robust Gaussian Processes framework in the Julia ecosystem. We would like to start off by adding the...
  • Arthur Lui
    BNP Benchmarks and Feature Comparisons for Turing and Other PPLs
    Probabilistic models, which more naturally quantify uncertainty when compared to their deterministic counterparts, are often difficult and tedious to...
  • Nirmal Praveen Suthar
    Deep Learning for 3D Computer Vision
    Neural Networks (NN) is one of the most fundamental building blocks of modern Computer vision and it has found its relevance in multiple domains like...
  • Kirill Zubov
    General partial differential equation solver using neural networks
    Differential equations are widely used in any scientific field. A new method of solving differential equations using deep learning methods has great...
  • Frank Schäfer
    High weak order stochastic differential equation solvers and their utility in neural stochastic differential equations
    DifferentialEquations is a Julia package for solving differential equations in a highly performant manner within an underlying unified user...
  • Koustav Chowdhury
    Implementation of a hash table based on SwissTable and adding Trees.jl to JuliaCollections
    The goal of this project would be to implement a fast open-addressed hash table inspired from Google’s flat_hash_map. In addition to this, I propose...
  • MartinuzziFrancesco
    Implementation of a Reservoir Computing library for timeseries prediction
    A leap forward in the accuracy of forecasting problems in chaotic time series has been recently obtained using Echo State Networks (ESN). This is a...
  • Ludovico Bessi
    Improving Surrogates.jl
    Surrogate modeling has become a staple in large-scale scientific computing applications like aerospace and chemical engineering where full...
  • Ching-Wen Cheng
    Leveraging Hugging Face Transformers package in Julia
    Bridge the gap between Python community and the Julia community for the state of the art natural language processing models.
  • Aadesh Deshmukh
    MLJTime - Adding Time Series Support For MLJ
    The main goal of the project is to port capability from​ sktime​ (Machine learning for time series) to MLJ universe & develop data container to...
  • Utkarsh .
    Performance Enhancements and Optimizations for Differential Equation solvers
    DifferentialEquations.jl comprises of leading-edge methods for solving Differential Equations and an extensive benchmark suite written purely in...
  • Saranjeet Kaur Bhogal
    Polychord Nested Sampling Algorithm Building and Integration with Turing in Julia
    Polychord is a nested sampling algorithm which is designed to sample from high-dimensional parameter spaces. Slice sampling is used at each iteration...
  • Uziel Linares
    Taylor models and a guaranteed ODE solver
    The Taylor Models are mathematical tools that enable the rigorous representation of functions by a polynomial expansion and a remainder that encloses...
  • Chen Zhao
    ZXCalculus.jl: ZX-calculus for Julia
    ZX-calculus is a graphical language that can characterize quantum circuits. It is a powerful tool that is usually used for quantum circuit...