TIES5400 COM2: Julia for Scientific Computing (JSS34) (2 cr)

Study level:
Advanced studies
Grading scale:
Pass - fail
Language:
English
Responsible organisation:
Faculty of Information Technology
Curriculum periods:
2025-2026

Description

Julia programming language has recently gained great popularity among the open-source scientific community, having been increasingly adopted both in industry and academia. The Julia programming language aims to solve the so-called two-language problem, where you prototype in a language with easy syntax and, after validation, reimplement your code into a performance-focused language. In particular, the Julia programming language has a pleasant and expressive syntax, while still achieving C-like performance.

The Julia ecosystem has also rapidly developing, having now state-of-the-art libraries for differential equations, machine learning, mathematical optimization, data analysis and so on. These features make the Julia programming language an appealing alternative to MatLab or Python for research and development. During this course, Julia features and workflow will be given, focusing on machine learning and scientific computing for with examples from the natural sciences including energy applications.

The course is taught with sessions that blend lectures and practical sessions. Each session has a lecture in the first half and a practical component in the second designed to be completed in the session. Please bring a laptop on which you can install Julia.

Learning outcomes

By the end of the course participants will have gained familiarity with Julia and a variety of packages:
* Able to efficiently author and run Julia scripts and packages
* Able to make use of high level numeric and scientific libraries
* Able to train and use machine learning models using the Flux package
* Able to solve systems of differential equations using the SciML ecosystem
* Able to perform model-based optimization with JuMP 

Description of prerequisites

Basic programming skills; Prior exposure to scientific computing concepts would be helpful 

Completion methods

Method 1

Description:
Lectures and exercises
Evaluation criteria:
Pass/fail
Time of teaching:
Period 1
Select all marked parts
Parts of the completion methods
x

Participation in teaching (2 cr)

Type:
Participation in teaching
Grading scale:
Pass - fail
Evaluation criteria:
<p>Pass/fail</p>
Language:
English
Study methods:

Lectures and exercises 

Teaching