The Julia Language

A fresh approach to Technical Computing

Technologies
javascript, c/c++, llvm, julia, gpu
Topics
graphics, numerical computing, linear algebra, high performance computing, plotting
A fresh approach to Technical Computing

Julia is a fast and flexible language for technical computing. While young among programming languages, at just over five years since its public release, it's rapidly gaining momentum. The community of around 150,000 users (and growing) have together built over 1300 packages (and counting). Scientists and engineers in particular are excited about Julia's ability to move ideas rapidly from prototype to production, with a flexible and interactive workflow that doesn't compromise on performance. You can learn more about Julia’s features at http://julialang.org/.

Compared to more established languages, Julia's package library is small and still coming of age – but for you, that's a great opportunity! Joining us for Google Summer of Code is a great way not only to build the packages and features you've always wanted and learn about something new, but also for those contributions to become core parts of Julia's ecosystem and used by many thousands of people. The scope of possible work is endless, but could include areas as diverse as developing the web stack, improving data munging facilities, hacking the compiler, or building packages for areas as life sciences, finance, physics, data science, machine learning, or something completely different! If that sounds interesting to you, please send an application, or reach out to us at https://discourse.julialang.org/ with any questions.

2017 Program

Successful Projects

Contributor
Shivin Srivastava
Mentor
dextorious, Chris Rackauckas
Organization
The Julia Language
Efficient Finite Difference Discretizations of Partial Differential Operators
JuliaDiffEq is the most popular github organization for solving differential equations in Julia.Currently, it has an assorted collection of Ordinary...
Contributor
Zhang Shiwei
Mentor
one-more-minute, Ranjan Anantharaman
Organization
The Julia Language
New Features for Flux.jl
Flux.jl is a high-level neural network library in Julia, which has an intuitive API, easy to debug, and performant. One of the key features of...
Contributor
Yingbo Ma
Mentor
Problematic Developer, Chris Rackauckas, Christoph Ortner
Organization
The Julia Language
Native Julia Solvers for Ordinary Differential Equations Boundary Value Problem: A GSoC proposal
This is a proposal for the project "Native Julia solvers for ordinary differential equations and algebraic differential equations". There is no...
Contributor
Harmen Stoppels
Mentor
Andreas Noack
Organization
The Julia Language
Native Julia implementations of iterative solvers for numerical linear algebra
The IterativeSolvers.jl package is currently lacking some well-known iterative methods such as QMR and BiCGStab(l) for solving linear systems and...
Contributor
Jameson Quinn
Mentor
Benjamin Deonovic
Organization
The Julia Language
Improving and demonstrating Julia statistical models' MCMC: CrossCat example
General-purpose statistical modeling tools such as OpenBugs and Stan allow using easy-to-build modular likelihood models to fit models to data...
Contributor
Divyansh
Mentor
Seth Bromberger
Organization
The Julia Language
Parallel Graph development
Parallel Graph development I am interested in working on parallel graph algorithms and an efficient data structure to represent Graphs, which take...
Contributor
Tejus Gupta
Mentor
Tim Holy
Organization
The Julia Language
Image Segmentation and HOG features
I propose to Add a package for image segmentation as a part of JuliaImages with the following algorithms * Thresholding - Otsu’s method and...
Contributor
KrishnaKanhaiya
Mentor
Chris Rackauckas, Gabriel Gellner
Organization
The Julia Language
Optimization and Bayesian Techniques for the parameter estimation of Differential Equations
Differential equation models are widely used in many scientific fields that include engineering, physics and biomedical sciences. The so-called...
Contributor
Animesh Kashyap
Mentor
Tim Holy
Organization
The Julia Language
Image Segmentation
Image Segmentation is described as one of the most important aspects of image processing. Image segmentation is the process of partitioning an image...
Contributor
Akshay Sharma
Mentor
Lyndon White`, Chris Rackauckas
Organization
The Julia Language
An Artificial Neural Network Differential Equation solver for Julia
The purpose of this project is to develop a flexible library of NN solvers (NeuralNetDiffEq.jl) which are able to utilize parallelization, and plugs...
Contributor
Dorisz Albrecht
Mentor
Tamas Papp
Organization
The Julia Language
Hamiltonian Approximate Bayesian Computation
Likelihood-based methods have many appealing features, but they are difficult to use for models which do not have a closed-form, tractable likelihood...
Contributor
Joel Mason
Mentor
Shashi Gowda
Organization
The Julia Language
Rebuilding Interact.jl with WebIO.jl
Interactive data exploration is an increasingly important component of data science. Interact.jl and Escher.jl are good libraries that have the...
Contributor
Sarvjeet Ghotra
Mentor
Jacob Quinn
Organization
The Julia Language
Middlewares for common web application chores
Implementation of mid-level features - specifically routing, load-balancing, cookie/session handling, and authentication.
Contributor
Sebastian Pfitzner
Mentor
one-more-minute
Organization
The Julia Language
Integration of Documentation facilities into the Juno IDE
Juno as an IDE (and, since the introduction of JuliaPro, the quasi-standard IDE for Julia) has matured quite a bit during the last years, but the...
Contributor
Yiannis Simillides
Mentor
Chris Rackauckas, Bart Janssens
Organization
The Julia Language
A Wrapper for the FEniCS Finite Element Toolbox
We will create a wrapper for the FEniCS toolbox in Julia, using PyCall.jl , to allow Julia users direct access to the FEniCS functionality. This will...
Contributor
Kenta Sato (bicycle1885)
Mentor
one-more-minute, Shashi Gowda
Organization
The Julia Language
Parallelism in Bio.jl
Support parallelism in Bio.jl based on Dagger.jl