IN4110 – Problem Solving with High-Level Languages

Schedule, syllabus and examination date

Choose semester

Course content

This course provides an introduction to more advanced aspects of the scripting and programming language Python, e.g. object-oriented programming, regular expressions, interaction with the operating system, platform-independent code, efficient design of program systems with time-critical operations, extensions in compiled languages such as C/C++, data analysis and web programming. The course also provides a basic introduction to the scripting language Bash, testing and documentation of code, and version control system git. Special emphasis is placed on practical problem solving with a focus on interesting and study-relevant tasks.

Learning outcome

After taking this course you'll:

  • have knowledge of more advanced aspects of the Python programming language, including the use of regular expressions and interaction with the operating system
  • be able to write scripts in Python and Bash to automate your own work tasks
  • have knowledge of the version control system git and how code can be documented and tested
  • be able to use vectorization to write efficient programs in Python
  • be able to combine Python with compiled programming languages such as C and C++
  • be able to write a web user interface for Python programs
  • be able to use Python tools for advanced data analysis and machine learning
  • be able to write programs that solve problems from different disciplines, such as physics, medicine, biology and finance
  • have gained a deeper understanding of more advanced aspects of the Python language, such as efficient numerical calculations by extending Python with code written in C/C++ (extending Python)
  • have learned to run data analytics and machine learning with advanced Python packages (Pandas and scikit-learn).

Admission to the course

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.

Overlapping courses


2 hours of lectures and 2 hours of exercises each week. Lectures will be a combination of ordinary lectures and supervised project work and problem solving.


Portfolio assessment. Read more about requirements for submission of assignments, group work and legal cooperation under guidelines for mandatory assignments.

It will also be counted as one of your three attempts to sit the exam for this course, if you sit the exam for one of the following courses: IN3110 – Problem Solving with High-Level Languages, INF3331 – Problemløsning med høynivå-språk (continued), INF4331 – Problem solving with high level languages (continued)

Examination support material


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.

Special examination arrangements, use of sources, explanations and appeals

See more about examinations at UiO

Last updated from FS (Common Student System) June 26, 2022 1:20:57 AM

Facts about this course

Teaching language
Norwegian (English on request)