Graduate Course 2015, 5 ECTS credits
Course responsible: Mattias Fält, Fredrik Bagge Carlson, Kristian Soltesz,
The course is a seminar series aimed at learning to use the Julia language for scientific computations. Each seminar is followed by a homework exercise. There is an optional individual mini project at the end of the course.
Questions about Julia and the course can be asked here https://gitter.im/controljuliacourse/community
Thursdays 10:15-12:00 in the Automatic Control Seminar Room (M2112:B).
|March 14||Introduction: About Julia, Stdlib, Plotting||Mattias, Fredrik|
|March 21||Julia Machinery: Types, Multiple dispatch, Type Stability, Coding practices||Mattias|
|March 28||Performance: Profiling, Memory layout, De-Matlabification, In-place calculations||Fredrik|
|April 4||Developing: Package development, Debugger, Revise, Style guide, Packages, Testing||Mattias|
|April 11||Control Tools: ControlSystems.jl, DifferentialEquations.jl, Modia?||Fredrik|
|April 18||Optimization and Learning: Automatic differentiation, JuMP.jl, Optim.jl, ProximalOperators.jl, Convex.jl, Flux.jl||Mattias/Fredrik|
|April 25||Distributed Computing||Fredrik|
|May 2||Other topics: LanConnections.jl, LabProcesses.jl, your suggestions||Mattias|
This repo contains presentations, code examples and homeworks.
Homework 1: Take one of your own favorite scripts and convert it to Julia.
* Warmup: do the exercises from the lecture here
* Create a type TrackingFloat that behaves like a Float, but also keeps track of the largest value (in absolute value) that was ever used in an operation to create this TrackingFloat. See detailed instructions on the course repo: here
Optimize a particle filter implementation. See instructions at here
Create your own package, see instructions in presentation here
Do something control related, see instructions here https://github.com/mfalt/juliacourse/tree/master/lecture5