For the course inf5075 at UiO.