Julia mini-course

Per Rutquist

University of Freiburg, Department of Microsystems Engineering (IMTEK)

Wednesday, January 09, 2019, 10:30 - Wednesday, January 30, 2019, 11:30

Room 01-012, building 102 or room 01-014, building 103

An introduction to the Julia programming language; The mini-course consists of four one-hour lectures (before lunch) plus exercises (after lunch).

Lecture 1: Hello, World!
Jan 9, 10:30, room 01-012, building 102 (video, slides pdf)

  • Variables and types
  • Control flow (if, for, while, ...)
  • Functions, methods and dispatch
  • Dot-broadcast notation
  • Tips and tricks (avoiding common mistakes)
  • Getting help
  • Exercise 1

Lecture 2: Advanced Julia
Jan 16, 10:30, room 01-014, building 103 (video, slides pdf, IJulia-notebook)

  • Discussion of exercise 1
  • Closures
  • Parametric types
  • Expressions and interpolation
  • Macros
  • Generated functions
  • Exercise 2

Lecture 3: Writing a Package
Jan 23, 10:30, room 01-012, building 102 (video, slides pdf, IJulia-notebook)

  • Discussion of exercise 2
  • The structure of a Julia package
  • Development and Testing
  • Coding style
  • Dependencies
  • Interfacing with C 
  • Exercise 3

Lecture 4: Coding for performance
Jan 30, 10:30, room 01-014, building 103 (livestream, IJulia-notebook)

  • Discussion of exercise 3
  • What makes Julia fast?
  • How to write fast code
  • Benchmarking and profiling
  • A few useful packages
  • GPU programming (very briefly)