EPN-V2

ACIT4420 Problem-solving with scripting Course description

Course name in Norwegian
Problem-solving with scripting
Study programme
Master's Programme in Applied Computer and Information Technology
Weight
10.0 ECTS
Year of study
2025/2026
Curriculum
FALL 2025
Schedule
Course history

Introduction

This course covers the use of scripting as a programming paradigm to solve challenges like automation, integration, data manipulation and analysis. The focus is on understanding how scripting combined with utility libraries can be helpful in solving a task. Scripts can vary in length and complexity, but are normally written in a high-level language that focuses on ease of expression and readability as well as a powerful set of libraries for complex operations. Scripts can be written as a means to create tools that eases scientific work or automates tasks. They can also be used to make systems interact that would normally not. The course will use the Python programming language.

Required preliminary courses

No formal requirements over and above the admission requirements.

Learning outcomes

The student should have the following outcomes upon completing the course:

Knowledge

Upon successful completion of the course, the student:

  • has a deep understanding of how scripting with Python is utilized to automate common tasks
  • has advanced knowledge of scripting strategies that allow scripts to be robust against unforeseen failures and erroneous user input
  • has advanced knowledge of how a code-base can be maintained through version control systems
  • understands how scripting languages can be expanded through libraries
  • knows how to use standardized packages for mathematics and statistics

Skills

Upon successful completion of the course, the student can:

  • design and implement script-based tools
  • evaluate and discuss how scripting may or may not facilitate automation
  • use standard mathematics and statistics packages to visualize and solve relevant problems
  • utilize a version control system for their code-base

General competence

Upon successful completion of the course, the student can:

  • analyze automation approaches with regard to robustness and in relation to the intended tasks
  • develop solution strategies for and participate in discussions about mathematical and statistical problems using scripting tools
  • explain how automation and scripting can be used to automate workflows to experts and non-experts alike

Content

The assessment will be based on two part-exams:

1) Individual project report (4000-6000 words). The project report counts 80% of the final grade.

2) Individual project presentation (10 minutes). The oral examination counts 20% of the final grade

Both exams must be passed in order to pass the course.

The oral examination cannot be appealed.

New/postponed exam

In case of failed exam or legal absence, the student may apply for a new or postponed exam. New or postponed exams are offered within a reasonable time span following the regular exam. The student is responsible for registering for a new/postponed exam within the time limits set by OsloMet. The Regulations for new or postponed examinations are available in Regulations relating to studies and examinations at OsloMet.

Teaching and learning methods

This course is divided into two parts. The first part with focus on covering the particular scripting language used in this class, such as its syntax, use and some extra libraries. The first part will also cover the practice of using a version control system as the means to store the code-base. During this part, students will meet for weekly lectures/sessions and labs where they work on exercises.

The second part will focus on the students completing a programming project. The student will work individually on the project and submit a final code-base that also includes documentation. During this part, there may be lectures if needed, but most of the time will be spent on individual supervision of students in lab-sessions.

Practical training

Lab sessions.

Course requirements

The course covers several aspects of model-based control and estimation methods. The focus is on industrial applications, implementation, real life problems, and hands-on experience. The course gives an overview of state-of-the-art techniques, and provides students with tools to analyse and solve further industrial and research problems. Strong emphasis is given to the use of numerical simulation and scientific programming with Matlab/Simulink or similar.

Assessment

No formal requirements over and above the admission requirements.

Permitted exam materials and equipment

Upon successful completion of the course, the student:

Knowledge

Upon successful completion of the course, the student should have:

  • advanced knowledge in dynamic modeling for industrial applications
  • knowledge on how to evaluate suitability of different model structures and choose appropriate model for chosen industrial application
  • knowledge in state estimation techniques for linear systems
  • advanced knowledge in control strategy development
  • knowledge on how to evaluate different model-based control algorithms for multivariate systems
  • knowledge on how to select and argue for suitable combination of model-based control algorithms for a chosen industrial application.

Skills

Upon successful completion of the course, the student can:

  • apply systematic approach to develop nonlinear and linear dynamic models for chosen industrial application.
  • apply data-driven modelling methods to obtain dynamic models for a chosen industrial application.
  • implement, test, compare and validate nonlinear and linear dynamic models in simulation environment.
  • implement, test and validate linear techniques for state estimation in simulation environment
  • implement, test, compare and validate model-based control algorithms for multivariate systems in simulation environment.

General competence

Upon successful completion of the course, the student can:

  • develop, implement, test and validate control strategies for multivariate system using different model-based control and estimation methods.

Grading scale

Weekly lectures and exercises, assignments in groups of 2-3 students and one individual semester project.

Two guest lectures on selected topics given by experts from industry and academia.

Examiners

The following coursework must be approved before the student can take the exam:

Four assignments in groups of 1-3 students (1000 - 2000 words per assignment)