Jaan Tollander de Balsch

Jaan Tollander de Balsch

Computational Scientist


Jaan Tollander de Balsch is a computational scientist with a background in computer science and applied mathematics. Professionally, he develops software packages for scientific computing using the Julia language and Git-based workflows. He values producing properly-tested and documented software packages with clean APIs that other developers can understand and use. He has applied these skills for developing software packages for simulation algorithms and mathematical optimization models and running code on high-performance computing environments.

  • MSc in Computer Science, 2018 - present

    Aalto University

  • BSc in Applied Mathematics, 2014 - 2018

    Aalto University


Fabricio Oliveira
Assistant Professor
“Jaan worked several times as a research assistant in summer positions in our group, developing applications related to optimisation. Being such a skilled software developer, he built professional-grade packages that could also be used by other members of the group collaboratively. He still is a member of our group and has made significant contributions in terms of our organisation, building our website and helping maintaining it, as well as our YouTube channel. Jaan is a brilliant young professional, perhaps one of the most talented I ever met, with a rare combination of strong technical and intellectual capabilities and social skills."


At Gamma-Opt, a research group that also a part of the System Analysis Laboratory, I worked at developing software packages for mathematical optimization models using the Julia language with JuMP modeling library. The models were based on earlier research produced by the other research group members. In addition to writing the source code, the development process included writing detailed documentation, unit tests, and configuring the packages. We used Git-based workflows, such as GitHub Actions, to automatically run unit tests and deploy documentation and GitHub Pages for hosting the documentation.

I also helped to set up the Gamma-Opt website and GitHub team and worked as a course assistant for the “Introduction to Optimization” teaching demo exercises over Zoom.

Research Assistant
Jun 2020 – Aug 2020 Helsinki Area, Finland
During summer 2020, I worked on creating a Julia package for decision programming, based on research done by Ahti Salo, Fabricio Oliveira, Juho Andelmin, and Olli Herrala. We can use decision programming to solve decision models, representing decision problems under uncertainty, modeled by influence diagrams. We can also embed decision models within other optimization models. The code is available in a repository at DecisionProgramming.jl with the documentation.
Research Assistant
Jan 2020 – Mar 2020 Helsinki Area, Finland
During spring 2020, I worked with Fabricio Oliveira and Lucas Condeixa on creating a Julia package for a transmission capacity expansion model, based on their previous research and outside research. The code is available in a repository at EnergySystemModeling.jl with the documentation.
Research Assistant
Jun 2019 – Aug 2019 Helsinki Area, Finland
During summer 2019, I worked with Fabricio Oliveira on creating a Julia package for a retail shelf space allocation model, based on his formulation and outside research. The work included programming the mathematical model, and creating visualizations, heuristics, and documentation. The code is available in a repository at ShelfSpaceAllocation.jl with the documentation.

Crowd Dynamics

Anton von Schantz
Doctoral Student
“Jaan Tollander de Balsch worked as an assistant in my doctoral research. His task was to develop simulation software for modeling crowd movement and evacuation. I soon realized that he takes the initiative and is a hard worker, as he quickly created a working prototype of the software. His best qualities are that he is an enthusiastic guy to work with and has an uplifting character."


Crowd dynamics studies the movement of crowds of humans people. My work focused on developing software for simulating crowd dynamics based on existing research results. We implemented the simulation using the Python programming language and its numerical computing packages. I wrote an extensive article about implementing the simulation mechanics, which you can read on my website at How to Implement Continuous-Time Multi-Agent Crowd Simulation. All software code is available at the github/crowddynamics.

Research Assistant
Jun 2017 – Aug 2017 Helsinki Area, Finland
During summer 2017, I continued development of the crowd dynamics simulation.
Research Assistant
Jun 2016 – Aug 2016 Helsinki Area, Finland
During summer 2016, I began working on developing and researching a simulation software of crowd dynamics with prof. Harri Ehtamo and Anton Von Schantz.

Bachelor’s Thesis

Research Assistant
Jun 2015 – Aug 2015 Helsinki Area, Finland
During summer 2015, I researched and wrote my Bachelor’s thesis for the department of mathematics and systems analysis with supervising professor Harri Hakula. My thesis On the Pointwise Convergence of Legendre Polynomials focuses on numerically exploring how a series expansion of step function (sign function) and V-function (absolute value function) using Legendre polynomials converges towards the real value at different points. We then compared the results against theoretical predictions of the convergence rates.

Polytechnic Sauna Society

Web Master
Jan 2019 – Present Helsinki Area, Finland
I created and maintain a website for the Polytechnic Sauna Society, an organization that belongs to the Aalto University Student Union


Strongest skills are in bold. Names are in italics.


Julia, Python, Bash, C++, C, Haskell, Scala, Markdown, LaTeX

Computer Science

Algorithm design, Data structures, Scientific computing, Theory of computation

Applied Mathematics

Mathematical modeling, optimization, JuMP.jl, Numerical analysis, Computer algebra

Machine Learning and Statistics

PyTorch, R, Stan, Deep learning, Bayesian statistics

Software Engineering

Git, GitHub, Git-based workflows, DevOps, JAMstack, Hugo

OS & Editors

Linux, Ubuntu, VSCode, Atom, JetBrains, Jupyter