Course

Advanced Python programming with subsurface applications (E-MOD324)

One of the four-micro-course program created for professionals who need to incorporate Python programming in their daily work, but who have little or no background in Python.


Course description for study year 2025-2026. Please note that changes may occur.

Facts

Course code

E-MOD324

Credits (ECTS)

4

Semester tution start

Spring

Language of instruction

English

Number of semesters

1

Exam semester

Spring

Content

This micro-course is the last in a four-micro-course program created for professionals who need to incorporate Python programming in their daily work, but who have little or no background in Python. At the end of this course, students will be able to recognize the structure of codes, develop unit tests, and identify strategies for robust and readable codes.

The skills and knowledge developed in this course provide a basis for incorporating basic programming tasks into workflows where repetitive tasks may be automated through coding. Students will have the opportunity to apply these skills in domain-specific tasks (e.g. subsurface applications).

Learning outcome

At the end of the course, students can:

i Acquire knowledge of large simulation code structure, for e.g., on subsurface applications.

ii Design and write unit tests: specific and comprehensive.

iii Identify the function of portions of Python libraries.

iv Substitute libraries with dummy functionalities.

v Logs and error handling and improve readability in codes.

vi Integrate data analytics and machine learning in Python libraries.

vii Acquire and use advanced technical vocabulary for Python programming.

Required prerequisite knowledge

None

Recommended prerequisites

All previous micro-courses (none for module 1).

Exam

Form of assessment Weight Duration Marks Aid
Home exam 1/1 2 Weeks Passed / Not Passed All


The assignment is a practical coding project. The students will submit the code with internal documentation and the output with a short explanation.

Re-submission of project follows the next offering of the course; re-enrollment is not required.

Course teacher(s)

Course teacher:

Aksel Hiorth

Course coordinator:

Enrico Riccardi

Method of work

a This is a project-based course where the students learn concepts and their application to practical problems. We use multiple forms of dissemination: the student learns from teaching material prior to the class. In the class, physical teaching is mixed with guided coding activities during 2 days. After the class, virtual meetings are held to discuss the student coding project.

b Teaching material available prior to the course meeting

c 2 days physical teaching with integrated lectures and labs

d Python programming on laptop/computer during meetings and at home

e Two virtual meetings during the micro-course to assist with the project

f Physical meeting of one day at the end of the micro-course to discuss the project outcomes

Open for

Course assessment

There must be an early dialogue between the course supervisor, the student union representative and the students. The purpose is feedback from the students for changes and adjustments in the course for the current semester.In addition, a digital course evaluation must be carried out at least every three years. Its purpose is to gather the students experiences with the course.
The course description is retrieved from FS (Felles studentsystem). Version 1