Skip to content

baggepinnen/juliacourse

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NOTE: This repo reflects an old version of the course, please see juliacourse2022 for a later iteration.

juliacourse

A short course in Julia for scientific programming

This version of the julia course is given at the Acoustic Reserach Laboratory @ National University of Singapore. The original course was given for graduate students at Dept. Automatic Control at Lund University, with course webpage: http://www.control.lth.se/education/doctorate-program/julia-course/julia-course-2019/

Teachers: Fredrik Bagge Carlson (@baggepinnen)

Upcoming

Session on Thursday 14/11 Control systems and DSP

Install ControlSystems.jl and ControlSystemIdentification.jl by running

using Pkg
Pkg.update()
Pkg.add("ControlSystems")
Pkg.add("ControlSystemIdentitifaction")
Pkg.add("DSP")
Pkg.add("LPVSpectral")
Pkg.add("https://github.com/baggepinnen/SpectralDistances.jl")
Pkg.add("Interact")
Pkg.precompile()

Follow further install instructions for WebIO if you want to use the interactive elements of the notebooks.

To run the identification notebooks, run the following in the terminal

git clone https://github.com/JuliaControl/ControlExamples.jl.git

Lectures

(preliminary schedule)

Previously under upcoming

Session on Monday 4/11 Optimization and Learning

It's recommended that you install the following packages before the session

using Pkg
Pkg.add(PackageSpec(name="Flux",rev="master")) # We will use the latest version of Flux
Pkg.add("IJulia")
Pkg.add("Optim")
Pkg.add("JuMP")
Pkg.add("Zygote")
Pkg.add("ForwardDiff")
Pkg.add("Ipopt")
Pkg.add("GLPK")
Pkg.precompile() # OBS!!! Only run this statement if you do it before the session, it will take a long time to finish.

Session on Thursday 24/10 Parallel and distributed computing

Recommended reading: Parallel computing in Julia


Session on thursday 17/10 1600 hrs Workflow and Design patterns and antipatterns

Recommended reading: Modules, Workflow tips


Session on monday 7/10 1600 hrs Types, functions multiple dispatch

Recommended watching The Unreasonable Effectiveness of Multiple Dispatch | Stefan Karpinski | JuliaCon 2019


Session on thursday 3/10 (Lecture 1: Intro) Before this session, it would be great if participants have a working Julia installation, and maybe also have given the getting started section of the manual a cursory read. Visit https://julialang.org/ and download Julia v1.2 (or v1.3-rc2 if you want to use the new multi-threading support, I use this version). If you prefer working in an IDE, I use Juno (based on atom), but vs-code, vim and emacs are also well supported.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 92.9%
  • TeX 3.8%
  • Julia 2.8%
  • Other 0.5%