Elements of Machine Learning (EML)

Course content

Machine learning lies at the heart of Artificial Intelligence. This course considers machine learning at an advanced step of the data processing pipeline, where it is used to turn data into knowledge.


Students will be introduced to the basics of machine learning including foundations, deep learning, writing code for machine learning in practice, modern machine learning tools, libraries & infrastructures.


The course covers the following tentative topic list:

  • Foundations of learning and generalisation;
  • Non-linear classification;
  • Non-linear regression;
  • Neural networks and deep learning.

BSc Programme in Computer Science

Learning outcome

At course completion, the successful student will have:

Knowledge of

  • The general principles of machine learning;
  • Basic concepts underlying classification and regression;
  • Neural networks and deep learning;
  • Common pitfalls in machine learning.


Skills in

  • Applying nonlinear techniques for classification and regression;
  • Writing code for machine learning in practice;
  • Visualising and evaluating results obtained with machine learning techniques;
  • Using software libraries for solving machine learning problems;
  • Identifying and handling common pitfalls in machine learning.


Competences in

  • Recognising and describing possible applications of machine learning;
  • Comparing, appraising and selecting machine learning methods for specific tasks;
  • Solving real-world data mining and pattern recognition problems by using machine learning techniques.

Lectures and exercise classes.

Knowledge of and experience in programming is required. Participants must be able to implement algorithms described in pseudo-code.

Knowledge of linear algebra corresponding to the undergraduate courses (e.g. NMAB15002U Lineær Algebra i Datalogi) in the computer science education at the University of Copenhagen is expected (in particular: vector spaces; matrix inversion; eigenvalue decomposition; linear projections). This knowledge can be acquired/refreshed using any introductory book on linear algebra (e.g., Gilbert Strang, "Introduction to Linear Algebra").

Knowledge of basic calculus at an advanced high-school level is also expected (in particular: rules of differentiation; simple integration). This knowledge can be acquired/refreshed using any introductory book on calculus (e.g., Stephen Abbott, "Understanding Analysis"; Michael Spivak, "The Hitchhiker's Guide to Calculus"). There is a free online textbook and course "Calculus" by Gilbert Strang available at MIT OpenCourseWare, http://ocw.mit.edu. The most relevant chapters/sections in this book are 1-3.4, 4.1, 5-6.4, 10, 11, and 13.

Knowledge of basic statistics and probability theory corresponding to the undergraduate courses (e.g., NDAB18002U Matematisk Analyse og Sandsynlighedsteori i Datalogi and NDAB16012U Modelling and Analysis of Data) in the computer science education at the University of Copenhagen is expected (in particular: discrete and continuous random variables; independence of random variables and conditional distributions; expectation and variance of random variables; central limit theorem and the law of large numbers). This knowledge can be acquired/refreshed using any introductory book on these topics. We recommend the first four chapters of "Probability and Computing" by Mitzenmacher and Upfal.

Continuous feedback during the course of the semester
7,5 ECTS
Type of assessment
Continuous assessment
Continuous assessment based on 4-6 take-home assignments. The final grade will be a weighted average over all assignments.
All aids allowed
Marking scale
7-point grading scale
Censorship form
No external censorship
Several internal examiners.
Criteria for exam assessment

See Learning Outcome.

Single subject courses (day)

  • Category
  • Hours
  • Lectures
  • 28
  • Preparation
  • 18
  • Theory exercises
  • 36
  • Practical exercises
  • 36
  • Exam
  • 88
  • English
  • 206


Course number
7,5 ECTS
Programme level

1 block

Block 3
The number of seats may be reduced in the late registration period
Study Board of Mathematics and Computer Science
Contracting department
  • Department of Computer Science
Contracting faculty
  • Faculty of Science
Course Coordinator
  • Jens Petersen   (4-756d7a7545696e33707a336970)
Saved on the 07-12-2021

Are you BA- or KA-student?

Are you bachelor- or kandidat-student, then find the course in the course catalog for students:

Courseinformation of students