IN4050 – Introduction to artificial intelligence and machine learning

Course content

This course gives a basic introduction to machine learning (ML) and artificial intelligence (AI). With an algorithmic approach, the students are given a practical understanding of the methods being taught. This is also through making own implementation of several of the methods. The course covers supervised classification based on eg., artificial neural networks (deep learning) as well as un-supervised learning (clustering), regression, optimizing and reinforcement learning, as well as design of experiments and evaluation. Students also receive an introduction to philosophical fundamental problems and ethical questions related to ML / AI, as well as the field's history.

Learning outcome

After taking the course, you will:

  • have good insight into the main methods used in machine learning (ML) and artificial intelligence (AI)
  • have knowledge of the historical development of the field and challenges by making more general intelligent systems
  • be able to consider the pros and cons when choosing ML / AI methods for different applications and problems
  • be able to design and conduct experiments using the methods, with emphasis on evaluation and comparison
  • are able to implement algorithms for selected methods and combine them into hybrid systems
  • get experience with different ways of using a data set for training and testing
  • have knowledge of basic philosophical and ethical issues related to the development and application of ML / AI


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.


Formal prerequisite knowledge

In addition to fulfilling the Higher Education Entrance Qualification, applicants have to meet the following special admission requirements:

  • Mathematics R1 or Mathematics (S1+S2)

The special admission requirements may also be covered by equivalent studies from Norwegian upper secondary school or by other equivalent studies. Read more about special admission requirements (in Norwegian).

Recommended previous knowledge

Some experience with programming, preferably including the course INF2220 – Algorithms and Data Structures (continued).


2 hours of lectures and 2 hours of exercises each week.

Completion of mandatory assignments that will be more extensive that for the 'main course' is compulsory.


The course has an oral exam, but might get a 4 hours written digital exam if the number of students is high. All mandatory assignments must be approved to be allowed to take the exam.

Examination support material

No examination support material is allowed.

Language of examination

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

Grading scale

Grades are awarded on a scale from A to F, where A is the best grade and F is a fail. 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.

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: IN3050, INF3490 and INF4490.

Special examination arrangements

Application form, deadline and requirements for special examination arrangements.

Facts about this course






Spring 2020

This course is taught for the first time in spring 2020, thereafter every spring.


Every spring

Teaching language