IMPRS workshop 'Julia programming'

  • Start: Aug 31, 2022
  • End: Sep 9, 2022

1.  General information

Date: September 5-9, 2022
Starting time: 9.00 am
Ending time: noon
Place: B0.002, MPI for Biogeochemistry,Jena
Instructor: Fabian Gans, Nora Linscheid, Felix Cremer, Lazaro Alonso Silva
Category: Skill course
Credit points: 0.2 CP per course day

>> Register here by August 15, 2022

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

Day

Content

September 5

Basics with Felix

9:00 am

Editors, VSCode, Jupyter, Pluto?
differences to other programming languages
broadcasting
Package System, Environments
Performance considerations? @time, @btime
Developer packages

  • Revise
  • BenchmarkTools

Basic Plots
Have the exercise time for people who need some more programming intro in general
This might be a good intro book to link to: https://benlauwens.github.io/ThinkJulia.jl/latest/

September 6

Data visualisation with Lazaro

9:00 am

DataFrames CSV NetCDF

September 7

Day 3 with Fabian

9:00 am

Multiple dispatch, functional programming Differential Equations + Flux + Optim + ForwardDiff/Zygote

September 8

Day 4 with Nora

9:00 am

Day on ESDL, YAXArrays, data handling in general, dataframes ArchGDAL, Zarr, Rasters.jl

September 9

Free coding with all

9:00 am

Bring your data, your method, your problem

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.
Registration

Click here to register before August 15, 2022.

Go to Editor View