IN3050 – Introduction to Artificial Intelligence and Machine Learning

Schedule, syllabus and examination date

Choose semester

Changes in the course due to coronavirus

Autumn 2020 we plan for teaching and examinations to be conducted as described in the course description and on semester pages. However, changes may occur due to the corona situation. You will receive notifications about any changes at the semester page and/or in Canvas.

Spring 2020: Teaching and examinations was digitilized. See changes and common guidelines for exams at the MN faculty spring 2020.

Course content

This course gives a basic introduction to machine learning (ML) and artificial intelligence (AI). Through an algorithmic approach, the students are given a practical understanding of the methods being taught, in particular through making their own implementations of several of the methods. The course covers supervised classification based on e.g., artificial neural networks (deep learning), as well as unsupervised learning (clustering), regression, optimization (evolutionary algorithms and other search methods) and reinforcement learning, in addition to 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 insight into the main methods used in machine learning (ML) and artificial intelligence (AI)
  • have knowledge of the historical development of the field
  • be able to design and conduct experiments using the methods, with emphasis on evaluation
  • be able to consider the pros and cons when choosing ML / AI methods for different applications
  • be able to implement algorithms for selected methods
  • have knowledge of basic philosophical and ethical issues related to the development and application of ML / AI

Admission to the course

Students at UiO register for courses and exams in Studentweb.

Special admission requirements

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).

Some experience with programming preferably including the course IN2010 – Algorithms and Data Structures

Overlapping courses


2 hours of lectures and 2 hours of exercises (computer lab) each week.

Submission and approval of mandatory assignments are required. Read more about requirements for submission of assignments, group work and legal cooperation under guidelines for mandatory assignments.


The course has a 4 hour written digital exam, but might get an oral exam if the number of students is low.

All mandatory assignments must be approved to be allowed to take the exam.

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: IN4050 – Introduction to Artificial Intelligence and Machine Learning, INF3490 – Biologically inspired computing (continued) and INF4490 – Biologically Inspired Computing (continued).

Examination support material

No examination support material is allowed.

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.

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.

Special examination arrangements, use of sources, explanations and appeals

See more about examinations at UiO

Last updated from FS (Common Student System) Aug. 10, 2020 2:15:00 PM

Facts about this course

Teaching language