Applied Computational Modelling (MOD300)

In this course you will improve your coding and modelling skills through practical work on larger coding projects. You will learn how Python libraries and numerical methods introduced in previous courses such as DAT 120, MAF 310, as well as methods taught in this course, can be applied to real problems. Through group work, you will learn to code models that describe the real world and how we can use models to gain better insight into physical processes and optimize them. The models we work with will be relevant to different engineering disciplines: models of different physical systems, including models where uncertainty plays a central role, data-driven models such as machine learning models, and models with regulation (regulation engineering). Central to the course are applications, you will get an introduction to how we process, analyze data so that they can be used in machine learning models (feature engineering), compare models and data, development and implementation of simulation models to gain more insight into different processes, as well as reporting and communicating the results in written reports.

After completing the course, you will be well prepared to use Python to streamline your workflow both as a student and as an employee. You will also be well prepared to carry out larger project tasks such as a bachelor's thesis, know how to best construct a project report and present the results in a good and clear way.


Course description for study year 2024-2025

Facts

Course code

MOD300

Version

1

Credits (ECTS)

10

Semester tution start

Autumn

Number of semesters

1

Language of instruction

English, Norwegian

Content

NB! This is an elective course and may be cancelled if fewer than 10 students are enrolled by August 20th.

The course is divided into four parts: i) Introduction to good coding practice and report writing: how to code in such a way that the code can be reused and extended. How to write a good report. ii) Modeling of systems governed by the laws of nature, iii) Monte Carlo techniques for modelling processes with uncertainty, iv) Machine learning models for creating data-driven models of complex systems.

Examples of models and methods that can be taught: Ordinary differential equations and common solution methods, sensitivity analyses, filtering of data, application of integral and derivative (PID) controls, Monte Carlo integration, random walk, Markov chains, simulated annealing, machine learning (artificial neural network)

Learning outcome

Knowledge:

Have knowledge of how to use ordinary differential equations to model various processes

Have knowledge of how control theory can be applied to different systems

Have knowledge of how to create machine learning models using only data

Have knowledge of how uncertainty can be modelled

Skills:

Be able to construct mathematical models of various systems and solve these using appropriate solution methods

Using models to analyze realistic systems

Be able to write code that is modular and can be more easily extended

General competence:

Write project reports, and present results in a clear manner

Python programming, both functional and object-oriented programming

Experience with the most common Python libraries

Required prerequisite knowledge

None

Recommended prerequisites

DAT120 Introduction to Programming, MAF310 Numerical Modeling 1, STA100 Probability and Statistics 1

Exam

Portfolio

Form of assessment Weight Duration Marks Aid
Report 1 1/10 Letter grades All
Report 2 3/10 Letter grades All
Report 3 3/10 Letter grades All
Report 4 3/10 Letter grades All

The portfolio consists of four project reports. The first project report count for 1/10 of the grade, and the following three project reports count for 3/10 of the grade. The portfolio is not graded until all work has been submitted and the portfolio as a whole is graded.Resit options are not offered on the portfolio. Students who fail can complete portfolio assessment the next time the course is regular teaching.

Course teacher(s)

Course teacher:

Kjell Kåre Fjelde

Course coordinator:

Aksel Hiorth

Course teacher:

Aksel Hiorth

Head of Department:

Alejandro Escalona Varela

Method of work

Lectures and practical programming exercises. Students will be encouraged to work in groups of up to 3 people, but can also choose to work individually.

4 hours lectures with exercises. Throughout the semester there is a weekly lab 12:15-20:00, where students can work individually or in groups and get help from a lecturer or student assistant for the project assignments.

Open for

Computer Science - Bachelor in Engineering Energy and Petroleum Engineering, Vocational Path - Bachelor in Engineering Energy and Petroleum Engineering - Bachelor in Engineering Medical technology - Bachelor in Engineering
Admission to Single Courses at the Faculty of Science and Technology

Course assessment

There must be an early dialogue between the course supervisor, the student union representative and the students. The purpose is feedback from the students for changes and adjustments in the course for the current semester.In addition, a digital subject evaluation must be carried out at least every three years. Its purpose is to gather the students experiences with the course.

Literature

The syllabus can be found in Leganto