Software for the course

Although our course is heavily based on mathematical methods, it is a course designed for (control) engineers, which is to say that our main shared goal is to learn to solve engineering problems by using the mathematical methods. And except for the simplest textbook problems, the needed methods are numerical, which inevitably means that our course must have a strong software component.

On the other hand, our graduate course is not just a vocational training in using a dedicated software tool. Instead, we are going to implement the methods introduced in our course by ourselves, at least to some degree, and even if at a prototype level. We believe that this is the best way to learn the potentials and limitations of the methods, even if ultimately – when solving real industrial problems – we may want (or be forced) to use use software tools developed by specialists.

Julia

In our course we are going to use the Julia programming language for implementation of the methods and numerical experimentation. The language and its compiler and standard libraries are free (and open source), ane a rich ecosystem of packages is available. Julia is a modern language, similarly high-level as Matlab or Python, but with a performance comparable to C or Fortran.

Julia is going to be used not only by the course lecturer(s) when demonstrating the methods in the lectures, these online lecture notes and exercises, but also by the students when programming the solutions to assigned homework problems. In order to reduce the load on students, incomplete code snippets will be provided, which students will have to complete only in the core algorithmic sections.

Below we give some basic information about Julia, including links to learning resources.

Install Julia

Instructions for all platforms are at https://docs.julialang.org/en/v1/manual/installation/.

Install VS Code

The most recommendable IDE is VS Code https://code.visualstudio.com. Julia Extension https://code.visualstudio.com/docs/languages/julia can be installed within VS Code.

Documentation

The official documentation is available at https://docs.julialang.org/en/v1/. It can also be downloaded as a PDF file. Programmers fluent with Matlab or Python will find this overview of differences https://docs.julialang.org/en/v1/manual/noteworthy-differences/#Noteworthy-Differences-from-other-Languages useful.

Discussion forum

An active discussion forum exists https://discourse.julialang.org. But you may perhaps start by asking questions on our own course forum within the Teams platform.

Back to top