Skip to content

Commit

Permalink
add ideas
Browse files Browse the repository at this point in the history
  • Loading branch information
jhidding committed Apr 17, 2024
1 parent ffe6797 commit a170909
Show file tree
Hide file tree
Showing 2 changed files with 73 additions and 0 deletions.
1 change: 1 addition & 0 deletions config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ learners:

# Information for Instructors
instructors:
- overview.md

# Learner Profiles
profiles:
Expand Down
72 changes: 72 additions & 0 deletions instructors/overview.md
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
- Google
- (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)
-

0 comments on commit a170909

Please sign in to comment.