Denna sida på svenska This page in English

Julia Course 2019

Graduate Course 2015, 5 ECTS credits

Course responsible: Mattias Fält, Fredrik Bagge Carlson, Kristian Soltesz,


The course is a seminar series aimed at learning to use the Julia language for scientific computations. Each seminar is followed by a homework exercise. There is an optional individual mini project at the end of the course.

Questions about Julia and the course can be asked here

Seminar times

Thursdays 10:15-12:00 in the Automatic Control Seminar Room (M2112:B).

Seminar Program


Date Topic Speakers
March 14 Introduction: About Julia, Stdlib, Plotting Mattias, Fredrik
March 21 Julia Machinery: Types, Multiple dispatch, Type Stability, Coding practices Mattias
March 28 Performance: Profiling, Memory layout, De-Matlabification, In-place calculations Fredrik
April 4 Developing: Package development, Debugger, Revise, Style guide, Packages, Testing Mattias
April 11 Control Tools: ControlSystems.jl, DifferentialEquations.jl, Modia? Fredrik
April 18  Optimization and Learning: Automatic differentiation, JuMP.jl, Optim.jl, ProximalOperators.jl, Convex.jl, Flux.jl Mattias/Fredrik
April 25  Distributed Computing Fredrik
May 2 Other topics: LanConnections.jl, LabProcesses.jl, your suggestions Mattias


Course repository

This repo contains presentations, code examples and homeworks.


Homework 1: Take one of your own favorite scripts and convert it to Julia.

Homework 2:

 * Warmup: do the exercises from the lecture here

 * Create a type TrackingFloat that behaves like a Float, but also keeps track of the largest value (in absolute value) that was ever used in an operation to create this TrackingFloat. See detailed instructions on the course repo: here

Homework 3:

Optimize a particle filter implementation. See instructions at here

Homework 4:

Create your own package, see instructions in presentation here

Homework 5:

Do something control related, see instructions here

Homework 6:



Page Manager: