ACIT4420 Problem-solving with scripting Emneplan

Engelsk emnenavn
Problem-solving with scripting
Master's Programme in Applied Computer and Information Technology
10 stp.


This course covers the use of scripting as a programming paradigm to solve challenges like automation and integration as well as data 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 integrating with other systems. Scripts can be written as a means to create tools that eases scientific work or automates tasks. However, they can also be used to make systems interact that would normally not. In most automated workflows, there are several scripts acting as the glue between otherwise incompatible systems. The course will use the Python programming language.


No formal requirements over and above the admission requirements.


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


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
  • has a deep understanding of how scripts can be used to integrate two systems
  • understands how scripting languages can be expanded through libraries
  • knows how to use standardized packages for mathematics and statistics


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
  • utilize a version control system for their code-base
  • use standard mathematics and statisticks packages to visualize and solve relevant problems


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
  • explain how automation and scripting can be used to automate workflows to experts and non-experts alike
  • develop solution strategies for and participate in discussions about mathematical and statistical problems using scripting tools


  • The Python programming language
  • Scientific Programming using Python
  • Automating tasks using Python
  • Git

Arbeids- og undervisningsformer

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 and lab-sessions where they work on exercises.

The second part will focus on the students completing a programming project. The project can be chosen from a portfolio of available problems. 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.

Arbeidskrav og obligatoriske aktiviteter

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

3 mandatory lab assignments (oblig)

Vurdering og eksamen

An individual project report between 5000 and 10000 words, not counting code appendix.

The exam can 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.

Hjelpemidler ved eksamen

All aids are permitted, provided the rules for plagiarism and source referencing are complied with.


Grade scale A-F.


Two internal examiners. External examiner is used periodically.


Nikolai Bjørnestøl Hansen