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 work with data, development of models, comparing model and data, 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 2023-2024
Course code
MOD300
Version
1
Credits (ECTS)
10
Semester tution start
Autumn
Number of semesters
1
Exam semester
Autumn
Language of instruction
Norwegian
Content
The subject 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) Regulation technique: how to model systems that need satisfactory regulation, 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, 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
Recommended prerequisites
Exam
Form of assessment | Weight | Duration | Marks | Aid |
---|---|---|---|---|
Prosjektoppgave | 1/1 | Letter grades |
Portfolio assessment: 4 project assignments with reports, one report pass/fail and three reports weighted equally. The projects last for about 2 weeks. No written or oral exam. If a student fails or wants to improve his or her grade, he or she must take the course again.
Course teacher(s)
Course coordinator:
Aksel HiorthCourse coordinator:
Alejandro Escalona VarelaMethod 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 lecture with exercises