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.