Javis Projects – Summer of Code

Javis: Julia Animations and VISualizations

Javis.jl is a general purpose Julia library to easily construct informative, performant, and winsome animated graphics. Javis provides a powerful grammar for users to make animated visuals. Users of Javis have made animations to explain concepts in a variety of fields such as mathematical concepts like Fourier transformation to brain imaging of EEGs. It builds on top of the Julia drawing framework Luxor by adding functions to simplify the creation of objects and their actions.

The Summer of Code Javis projects aims at simplifying the creation of animations to explain difficult concepts and communicate to broad audiences how Julia is a strong tool for graphics creation.

Below you can find a list of potential projects that can be tackled during Google Summer of Code. If interested in exploring any of these projects, please reach out to:

Thanks for your interest! 🎉

General Improvement to User Experience

Mentors: Ole Kröger, Jacob Zelko

Recommended skills: General understanding of Luxor and the underlying structure of Javis.

Difficulty: Medium

Description: This project is split across several tasks that are manageable enough to be worked on by a single student in the Google Summer of Code period. These small tasks come together to create an easier and understandable syntax for Javis-based animated graphic creation. The following list are the smaller tasks one could work on:

Graph and networks

Mentors: Ole Kröger, Jacob Zelko

Recommended skills: Knowledge about graph theory and LightGraphs.jl

Difficulty: Hard

Description: Javis could be a powerful platform to easily animate problems and their solutions in a variety of different fields. Currently, Javis lacks the ability to visualize graphs. The goal for this project would be to add graph support to Javis by supporting interoperability with LightGraphs.jl. The animation of flows and shortest path is something that's extremely valuable for teaching as well as in practical analysis of graph networks. To learn more about the current thoughts surrounding this problem, check this issue for more information.

Linear algebra

Mentors: Ole Kröger, Jacob Zelko

Recommended skills: Basic to intermediate knowledge about linear algebra.

Difficulty: Easy

Description: Linear algebra is of invaluable importance all across different fields of mathematics and engineering. Enabling the easy creation of visualizations regarding rotations, matrices and other concepts is helpful in educating students about this amazing branch mathematics. Here are a few issues related to tasks that could be worked on to bring about this capability: