IMPRS-gBGC course 'Julia' 2019

1.  General information

Date: January 16-18, 2019
Starting time: 9.00 am
Place: B0.002, MPI for Biogeochemistry, Jena
Instructor: Fabian Gans
Category: Skill course
Credit points: 0.2 CP per course day


2.  Concept

The course gives an introduction to the relatively young Julia programming language. The core goal of the language is to combine the expressiveness dynamism of languages like R, Python and matlab with the speed of Fortran or C.
The course is targeted at people with some programming experience in another programming language who are interested to dive into an adventure and explore different ways to get your research done. The course will focus on explaining the differences between Julia and other common scientific programming languages and how this enables new ways to implement common methods in data analysis and modelling. Emphasis will be laid on how to write well-structured and performant code in Julia. Day 1 of the course will focus on introducing the language, while day 2 and 3 will be in a workshop-format to get an introduction to the package ecosystem and to try the newly learned concepts hands-on.


3.  Agenda

January 16 
9:00 am

Basic setup of your Julia environment, packages, plotting, editors.
The (hidden) type system
Julia's most important concept: multiple dispatch
Best practises on functional programming, loops and vectorization

January 17
9:00 am

Case study on solving differential equations. We start with a very simple manual ODE solver and then switch to the DifferentialEquations.jl package and try to solve a differential equation parameter optimization problem.

January 18
9:00 am

Case study on deep learning und Flux.jl. We start with basic neural networks and extend them by designing our own layers.


For questions or topic suggestions, please contact Fabian Gans. If you want to bring your own data/model/problem to the course and want to work on a problem on day 2 or 3, please contact the instructor and we will discuss the feasibility for the course.


4.  What you need to prepare

Bring a laptop.

Please also make sure that you can access the internet via WLAN (BGC-users, if you have a BGC-account; BGC-guests, if you don't have an account)


5.  Feedback

Click here to see the feedback of the participants. Statistics and statements should not be taken as an exhaustive or exclusive list.


Go to Editor View