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
Recommended prerequisites
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 HiorthCourse teacher:
Nestor Fernando Cardozo DiazCourse coordinator:
Enrico RiccardiMethod 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