EPN

ACIT4420 Problem-solving with scripting Emneplan

Engelsk emnenavn
Problem-solving with scripting
Studieprogram
Master's Programme in Applied Computer and Information Technology
Omfang
10.0 stp.
Studieår
2020/2021
Timeplan
Emnehistorikk

Innledning

This course covers the use of scripting as a programming paradigm to solve challenges like system automation and integration as well as data analysis. 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 mean 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.

Forkunnskapskrav

No formal requirements over and above the admission requirements.

Læringsutbytte

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 is utilised to automate common tasks
  • has advanced knowledge of scripting strategies that allow his/her 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

Skills

Upon successful completion of the course, the student:

  • can design and implement script-based tools
  • can design and implement a script-based service
  • can utilize a specialized library to integrate their script with a subsystem or framework
  • can evaluate and discuss how scripting may or may not facilitate system automation
  • can explain and discuss how system automation forms a part of system administration best practices
  • can utilize a version control system for their code-base

 

General competence

Upon successful completion of the course, the student:

  • can analyse automation approaches with regard to robustness and in relation to his/her intended tasks
  • can explain how systems automation and scripting is used to facilitate workflow and automation tasks to experts and non-experts alike

Innhold

  • The Python programming language
  • Scientific Programming using Python
  • Automating tasks using Python
  • Utility libraries for interacting with other subsystems and frameworks
  • 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

None.

Vurdering og eksamen

Exam autumn 2020 due to Covit-19:

The exam will consist of two parts:

1. Portifolio with 7 assignments, counting 50 % of the grade

2. An indivudual project report between 4000 and 6000 words, not coutning code appendix, couting 50 % of the grade.

Both parts must be passed, and be passed in the same semester.

[Exam earlier]:

An individual project report between 6000 and 12000 words, not counting code appendix.

Hjelpemidler ved eksamen

All aids are permitted.

Vurderingsuttrykk

For the final assessment a grading scale from A to E is used, where A denotes the highest and E the lowest pass grade, and F denotes a fail.

Sensorordning

One internal examiner. External examiner is used periodically. The exam grade can be appealed.