INF4331 - Problem solving with high level languages

Schedule, syllabus and examination date

Choose semester

Course content

The course gives an introduction to fundamental and advanced aspects of the Python programming language, including data structures, regular expressions, interaction with the operating system, platform-independent code, advanced text processing, effective design of software with time critical oparations, and extensions in compiled langugages such as C and C++. The course also gives a basic introduction to the Bash scripting language, development tools such as git and github, and compiling, linking and profiling of C and C++ code. The main emphasis of the course is on practical problem solving. 

Learning outcome

After completing this course:

  • you are familiar with basic and morea dvanced aspects of scripting languages, Bash and the Python programming language, including data structures, regular expressions, and interaction with the operating system.
  • you can write scrips in Python and Bash to automate tasks in your own work.
  • you can use vectorization to write efficient Python programs.
  • you can combine Python with compiled languages such as C, C++, and Fortran.
  • you can write programs to solve tasks from a variety of fields, such as physics, medicine, biology, and finance.
  • get a deeper understanding of more advances aspects of the Python language, for instance efficient numerical calculations based on vectorisation, extending Python with code written in compiled languages, and embedding Python in compiled programs. 


Students admitted at UiO must apply for courses in Studentweb. Students enrolled in other Master's Degree Programmes can, on application, be admitted to the course if this is cleared by their own study programme.

Nordic citizens and applicants residing in the Nordic countries may apply to take this course as a single course student.

If you are not already enrolled as a student at UiO, please see our information about admission requirements and procedures for international applicants.


Two hours lectures and two hours exercises every week. The lectures will be a combination of regular lectures and guided project work and exercise solving. There are mandatory assignments. Rules for mandatory assignments


Portfolio examination.

Examination support material

Any examination support materials are allowed

Language of examination

You may write your examination paper in Norwegian, Swedish, Danish or English.

Grading scale

Grades are awarded on a pass/fail scale. Read more about the grading system.

Explanations and appeals

Resit an examination

Students who can document a valid reason for absence from the regular examination are offered a postponed examination at the beginning of the next semester.

Re-scheduled examinations are not offered to students who withdraw during, or did not pass the original examination.

Withdrawal from an examination

It is possible to take the exam up to 3 times. If you withdraw from the exam after the deadline or during the exam, this will be counted as an examination attempt.

Special examination arrangements

Application form, deadline and requirements for special examination arrangements.

Facts about this course






Every autumn


Every autumn

Teaching language