Programplaner og emneplaner - Student
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
- Programme description
- 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
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.
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
- Systematic approach to dynamic modeling
- Linearization of nonlinear models
- Data driven dynamic modelling (system identification)
- State estimation
- Model-based PID-tuning methods
- Multivariable control methods
- Predictive control algorithms
- Implementation, testing and validation with numerical simulation.
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
All aids (a computer with MATLAB and Simulink included) are permitted, provided the rules for plagiarism and source referencing are complied with.
Assessment
Grade scale A-F.
Permitted exam materials and equipment
Two internal examiners. External examiner is used periodically.
Grading scale
Professor Tiina Komulainen
Examiners
Basic course in control theory, linear systems and system dynamics. Basic understanding of matrix algebra, statistics, and programming using MATLAB or similar.