IMPRS workshop 'Julia programming'
- Start: Aug 31, 2022
- End: Sep 9, 2022
1. General information
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
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.
Basics with Felix
Editors, VSCode, Jupyter, Pluto?
differences to other programming languages
Package System, Environments
Performance considerations? @time, @btime
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/
Data visualisation with Lazaro
DataFrames CSV NetCDF
Day 3 with Fabian
Multiple dispatch, functional programming Differential Equations + Flux + Optim + ForwardDiff/Zygote
Day 4 with Nora
Day on ESDL, YAXArrays, data handling in general, dataframes ArchGDAL, Zarr, Rasters.jl
Free coding with all
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)
Click here to register before August 15, 2022.