generated from carpentries/workbench-template-md
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
73 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -67,6 +67,7 @@ learners: | |
|
||
# Information for Instructors | ||
instructors: | ||
- overview.md | ||
|
||
# Learner Profiles | ||
profiles: | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
--- | ||
title: Lesson Overview | ||
--- | ||
|
||
## Audience | ||
|
||
People know how to program in either Python or R (never both!) | ||
|
||
## Goal | ||
|
||
Create new Julia advocates. Win them over by showing technical superiority. World Domination! | ||
|
||
## Setup | ||
|
||
- TODO: Create named env that people can precompile | ||
|
||
## Scope | ||
|
||
- Introduction to Julia: 1st day | ||
- using Pluto | ||
- basics of Julia: 3h | ||
- basic flow control | ||
- broadcasting | ||
- Multiple dispatch | ||
- Parametric types | ||
- do syntax (similar to Python `with`) | ||
- Plotting with Makie: 1h | ||
- mis-en-place: 3h | ||
- creating a package | ||
- best practices: | ||
- use modules | ||
- use functions | ||
- only globals when const | ||
- ... | ||
- testing | ||
- Revise | ||
- VSCode | ||
|
||
- Efficient computing: 2nd day | ||
- Performance analysis: 2h | ||
- The compiler is slow | ||
- BenchmarkTools | ||
- Profiling | ||
- Type stability: | ||
- `@code_warntype` | ||
- Cthulu | ||
- useful libraries: 30min | ||
- (scipy) there is none: | ||
- SciML stack (Abel says: overengineered wrappers) | ||
- JuMP | ||
- quadrature, root-finding, ode-solving, optimisation | ||
- (pandas) Dataframes.jl | ||
- Parallel programming: 2h | ||
- Channels | ||
- Tasks | ||
- Threads | ||
- Transducer based stuff | ||
- mention: GPU | ||
- mention: Distributed: https://github.com/JuliaParallel/ClusterManagers.jl | ||
|
||
## Guiding examples | ||
|
||
Principle: examples that are not *too* technical, but give the participants the feeling that we're solving real-world problems. | ||
|
||
- Computing $\pi$ for realz | ||
- Mandelbrot | ||
- Lorenz attractor | ||
- k-means clustering | ||
- generate data, process, optimise! (analysis pipeline example) | ||
- | ||
|