Jump to content

DAT255 Deep Learning Engineering

Course description for academic year 2023/2024

Contents and structure

Deep learning is a sub-field of machine learning and is what both launched and propels the recent surge of interest in artificial intelligence. The course focuses on deep learning and its applications in computer vision, natural language processing, and recommendation systems. The methods, tools, and techniques covered by the course are widely applicable, and the course aims to be instructive to anyone wanting to apply deep learning to any task.

In addition to a solid understanding of deep learning, the course will provide you with hands-on experience designing and deploying deep learning solutions for practical, real-life problems using state-of-the-art techniques and software frameworks from machine learning, machine learning engineering, and deep learning. You will experience first-hand how deep learning engineering relates to the broader discipline of software engineering.

Learning Outcome


  • Able to explain fundamental concepts, models, and algorithms in deep learning.
  • Able to explain how deep learning can be used to solve practical problems from a variety of domains.
  • Able to explain the limitations and challenges of using deep learning for real-world tasks.
  • An understanding of the difference between deep learning as a discipline in itself, and deep learning engineering. This includes how deep learning relates to software engineering more broadly and an understanding of machine learning engineering and MLOps.
  • Possess a solid understanding of how deep learning is currently the main driver of progress in artificial intelligence.


  • Able to solve concrete, practical problems from computer vision, natural language processing, and recommender systems using deep learning.
  • Experience with the deployment of deep learning-based models, both local and cloud-based.
  • Can develop and use modern, state-of-the-art software tools and frameworks for data analysis, machine learning, and visualization. 

General competence

  • Ability to formulate and complete deep learning-based projects.
  • Ability to present their work.

Entry requirements


Recommended previous knowledge

The student should have programming skills at the bachelor level in a computer science or computer engineering program. Experience with Python will be a significant advantage. Exposure to core parts of software engineering will be very useful. Several online resources for acquiring the recommended background knowledge will be provided at the beginning of the course.

You should have completed at least one course in machine learning, at the level of DAT158 (HVL), INF283 (UiB) or ELMED219 (UiB).

Teaching methods

This is to a large extent a "flipped classroom" course with a significant online, on-demand component. In addition, there will be a number of lectures expanding on the topics covered by the online course material. There will also be hands-on labs where you will work on topics covered by the lectures and on your course project, assisted by the lecturer and fellow students.

In Førde, the course will be given as a fully digital offering.

Compulsory learning activities

During the course you will complete a deep learning project on a topic of your choosing, subject to approval from the lecturer. There will be a mid-term assessment of your project plans, where its feasibility, and validity will be evaluated. The final project must be approved in order to take the exam. Approved assignments are valid for the examination semester and two following semesters.


Four-hour written exam. Grading A-F, where F is failed.

Examination support material


More about examination support material