""
Language skills
required
Programme length
Full time study for two academic years.
Study mode
Face-to-face learning
Application status
International students:
Students with Icelandic or Nordic citizenship:
Overview

  • Do you want to acquire specialist knowledge and improve your understanding of a specific area of computer science?
  • Are you interested in conducting research?
  • Do you want a career that requires initiative and independent thinking?
  • Do you want to pursue doctoral studies in a related subject?

Computer science is a diverse field that is connected to many other disciplines. Computer science can be divided into theoretical and applied branches, with the former attempting to answer fundamental questions about computability and the latter having more practical aims related to the design of useful and user-friendly software.

Programme structure

The Master's programme in computer science is 120 ECTS and is organised as two years of full-time study.

The programme is made up of:

  • Courses, 60-90 ECTS
  • Research project, 30-60 ECTS

Students select courses in consultation with the administrative supervisor.

  • If students take 60 ECTS of courses, at least 30 ECTS must be courses marked TÖL, HBV or REI.
  • If students take 90 ECTS of courses, at least 45 ECTS must be courses marked TÖL, HBV or REI.

Specialisations:

  • General computer science - Students who choose this specialisation will focus on a specific field of theoretical computer science, interactive computer science or software development.
  • Language technology - This is an interdisciplinary area of research and development incorporating subjects such as computer science, linguistics, artificial intelligence, statistics and psychology. It is aimed at developing tools and applications which can process, understand and produce natural languages, and at enhancing their use in human-computer interaction.
  • Cyber security - Students who choose this specialisation will acquire the practical and academic skills required to protect networks, computers, programs and institutions from cyber-attacks. Our research labs enable students to set up realistic scenarios to help them acquire practical experience of cybersecurity issues. Cyber security is taught in partnership with Reykjavík University and also involves distance learning courses from European universities (e.g. NTNU). This specialisation is taught in English.

Organisation of teaching

The programme is taught in Icelandic or English. Most textbooks are in English.

Thesis projects are often practical and completed in collaboration with companies or institutes. Thesis projects might be inspired by the student's interest in a certain topic or related to an instructor's research.

Main objectives

Students should acquire a more in-depth knowledge of abstract methods and software technology used to resolve specific challenges within computer science. They should also develop a better understanding of the potential of computers to solve problems, as well as their limitations.

Other

Completing a Master's degree in computer science allows you to apply for doctoral studies.

  1. A BS degree in computer science or a related subject with grade point average 6.5 or higher. Those who do not have a degree in computer science or software engineering must fulfil prerequisites set by the Department of Computer Science. The specialization Language technology is only taught for Icelandic speaking students. The specialization Cybersecurity is taught in English.
  2. All international applicants, whose native language is not English, are required to provide results of the TOEFL (79) or IELTS (6.5) tests as evidence of English proficiency.
  3. Applicants are asked to submit a letter of motivation, 1 page, where they should state the reasons they want to pursue graduate work, their academic goals and a suggestion or outline for a final paper.
  4. Letters of recommendation (2) should be submitted. These should be from faculty members or others who are familiar with your academic work and qualified to evaluate your potential for graduate study. Please ask your referees to send their letters of recommendation directly to the University of Iceland electronically by e-mail (PDF file as an attachment) to transcript@hi.is.

120 ECTS credits have to be completed for the qualification. Organised as a two-year programme. The study is either 90 ECTS credits in courses and 30 ECTS credits in an individual project or 60 ECTS credits in courses and 60 ECTS credits in an individual project. Courses should be chosen in cooperation with a supervisor or departmental coordinator If the student decides to take 60 credits in courses, at least 30 should be from the department (courses marked TÖL, HBV or REI). If the student decides to take 90 credits in courses, at least 45 should be from the department (courses marked TÖL, HBV or REI).

Students need a personal laptop with either Microsoft Windows, Apple macOS, or a Linux distribution in order to install and run the software that will be used in courses.

The following documents must accompany an application for this programme:
  • CV
  • Statement of purpose
  • Reference 1, Name and email
  • Reference 2, Name and email
  • Certified copies of diplomas and transcripts
  • Proof of English proficiency

Further information on supporting documents can be found here

Programme structure

Check below to see how the programme is structured.

Year unspecified | Whole year courses
Mentor in Sprettur (GKY001M)
Free elective course within the programme
5 ECTS, credits
Course Description

In the course, the student's task consists in being a mentor for participants that are upper secondary school students and university students in the project "Sprettur". Mentors' main role is to support and encourage participants in their studies and social life. As well as creating a constructive relationship with the participants, being a positive role model, and participating in events organized in Sprettur. The mentor role centers around building relationships and spending meaningful time together with the commitment to support participants. 

Sprettur is a project that supports students with an immigrant or refugee background who come from families with little or no university education. The students in this course are mentors of the participants and are paired together based on a common field of interest. Each mentor is responsible for supporting two participants. Mentors plan activities with participants and spend three hours a month (from August to May) with Sprettur’s participants, three hours a month in a study group and attend five seminars that are spread over the school year. Students submit journal entries on Canvas in November and March. Diary entries are based on reading material and students' reflections on the mentorship. Compulsory attendance in events, study groups, and seminars. The course is taught in Icelandic and English. 

Students must apply for a seat in the course. Applicants go through an interview process and 15-30 students are selected to participate. 

See the digital application form. 

More information about Sprettur can be found here: www.hi.is/sprettur  

Language of instruction: Icelandic/English
Face-to-face learning
The course is taught if the specified conditions are met
Prerequisites
Attendance required in class
Year unspecified | Fall
Introduction to Information Security (TÖL029M)
A mandatory (required) course for the programme
6 ECTS, credits
Course Description

Þetta námskeið byggir grunn að skilningi á lykilatriðum sem tengjast verndun upplýsinga, ákvörðun á verndarstigi og viðbrögð við öryggisatvikum, og hönnun á samræmdu raunhæfu upplýsingaöryggiskerfi, með viðeigandi innbrotsskynjun og tilkynningum.  Tilgangur námskeiðsins er að veita nemandanum yfirsýn yfir svið upplýsingaöryggis og upplýsingatrygginga.  Nemendur munu sjá ýmsar gerðir öryggisaðgerða, aðferðafræða og verklags.  Umfjöllunin mun taka fyrir skoðun og vernd upplýsingaeigna, uppgötvun og viðbrögð við ógnum við upplýsingaeignir, verklagsreglur fyrir og eftir öryggisatvik, tæknileg og stjórnunarleg viðbrögð og yfirlit yfir skipulagningu upplýsingaöryggis og starfsmannahald.  Meðal efnis eru áhættumat, auðkenning, veföryggi, öryggi forrita, persónuvernd og gagnavernd, kynning á dulmálskóðun, öryggisarkitektúr, eldveggir og önnur tæki og netskipulag.

Language of instruction: English
Face-to-face learning
Year unspecified | Fall
Network Measurements and Analysis (TÖL104M)
A mandatory (required) course for the programme
6 ECTS, credits
Course Description

This course provides an introduction to carrying out different measurements in Internet, an overview on related software tools, and advanced data analysis methods. We discuss, e.g., both passive and active packet, flow and routing measurements, as well as, some selected techniques related to cyber security operations (e.g. detection of Botnets and anomalies). Course includes also a sufficient coverage of related ethical and legal questions. In course exercises, students process real measurement data using statistical and mathematical software packages (e.g., NumPy or R), and carry out various network measurements. The measurement data are analysed and reported.

Course composition:

1. Lectures (first part)
2. Laboratory work and self-study (second part; measurements)
3. Final presentations (optional)

Language of instruction: English
Face-to-face learning
Prerequisites
Year unspecified | Fall
Distributed Systems (TÖL503M)
A mandatory (required) course for the programme
6 ECTS, credits
Course Description

Usually taught every second year.

This course covers concepts of distributed systems and their application. Besides foundations on characteristics and models of distributed systems, networking and security, this includes network-based low-level interprocess communication, high-level remote procedure calls, the distributed object model and remote method invocation, services relevant in distributed systems (such as name services or distributed file systems), selected topics of distributed algorithms and their implementation (such as coordination, agreement,  time, replication). Furthermore, special types of distributed systems may be covered (such as peer-to-peer systems, Cloud and Grid computing).  Current technologies (such as Java RMI, Web Services, gRPC) are used as case study and as platform for developing distributed applications using high-level programming languages (such as Java).

Note: while this is an "M" course, it is rather on MSc. level. BSc. students who take this course need to be advanced in their BSc. studies. (E.g. we will implement middleware in Java, so you should have programming experience well beyond "TÖL101G Computer Science 1". As a middleware adds functionality on top of an Operating System, you should have also passed TÖL401G Operating Systems.)

Language of instruction: English
Face-to-face learning
The course is taught if the specified conditions are met
Not taught this semester
Year unspecified | Fall
Quantum Cryptography (TÖL113F)
Free elective course within the programme
6 ECTS, credits
Course Description

In this course, students learn about quantum computing and, in particular, quantum cryptography. Quantum computing will cause a revolution in cryptography as many cryptosystems based on computational complexity will become obsolete. They will replaced by so-called quantum secure crypto systems.

Language of instruction: English
Face-to-face learning
Year unspecified | Fall
Time Series Analysis (IÐN113F)
Free elective course within the programme
7,5 ECTS, credits
Course Description

ARMAX and other similar time series models. Non-stationary time series. Correlation and spectral analysis. Parameter estimation, parametric and non-parametric approaches, Least Squares and Maximum Likelihood. Model validation methods. Models with time dependent parameters. Numerical methods for minimization. Outlier detection and interpolation. Introduction to nonlinear time series models. Discrete state space models. Discrete state space models. Extensive use of MATLAB, especially the System Identification Toolbox.

Language of instruction: English
Distance learning
Self-study
Year unspecified | Fall
Performance analysis of computer systems (REI503M)
Free elective course within the programme
6 ECTS, credits
Course Description

Usually taught every second year.

This course provides students with an introduction to modeling and performance evaluation of computer and communication systems. Large-scale distributed computer systems process arriving requests, e.g., web page queries, in parallel in order to optimize performance metrics, such as response time and user satisfaction. Other important performance metrics include throughput and service-level agreement in general. This course covers basic mathematical tools needed to evaluate such dynamic systems and to understand the strengths and weaknesses, for example in different designs, scheduling disciplines, and operating policies. The approach is based on operations research methods, in particular, queueing theory and Markov processes (previous knowledge of these methods is not required).

Attendance is strongly recommended.

Language of instruction: English
Face-to-face learning
The course is taught if the specified conditions are met
Year unspecified | Fall
Machine Learning (REI505M)
Free elective course within the programme
6 ECTS, credits
Course Description

An overview of some of the main concepts, techniques and algorithms in machine learning. Supervised learning and unsupervised learning. Data preprocessing and data visualization. Model evaluation and model selection. Linear regression, nearest neighbors, support vector machines, decision trees and ensemble methods. Deep learning. Cluster analysis and the k-means algorithm. The students implement simple algorithms in Python and learn how to use specialized software packages. At the end of the course the students work on a practical machine learning project.

Language of instruction: English
Face-to-face learning
Year unspecified | Fall
Internship in Cybersecurity (TÖL022F)
Free elective course within the programme
6 ECTS, credits
Course Description

The aim of the internship is to train students to work under the guidance of specialists at companies and institutions. The projects must be related to one of the subjects taught in the Cyber Security specialization and they must test the knowledge and skills that the student has acquired there.

At the end of the working hours, the student must return to the supervisor:

  • A report on the student's main project and its connection to his / her studies in cyber security. The report shall also state what study goals the student set at the beginning of the internship and how he / she achieved them in the projects.
  • Diary kept by the student during working hours. The diary shall include a weekly overview stating what the tasks of the week were and how much time was spent on individual tasks.

Vocational training is not considered completed until the supervisor of the company / institution has submitted confirmation of the student's involvement in the project work and the supervisor of vocational training at the department of computer science has confirmed the completion of the project.

Note 1: Students cannot register themselves for this course, but they are registered for the course when they have secured an internship position at a company or institution.

All internships will be advertised separately on www.tengslatorg.hi.is  at the beginning of each semester and students will apply specifically for internships. An application together with a curriculum vitae and an introductory letter, in which students state why they are interested in getting an internship at the company in question, must be sent to von-starfsthjalfun@hi.is .

Note 2: This course can only be taken with 30 ECTS final project.

Note 3: This course is only available for students of cyber security specialization.

Language of instruction: English
Face-to-face learning
Not taught this semester
Year unspecified | Fall
Security Engineering for Critical Information Infrastructures (TÖL106M)
Free elective course within the programme
6 ECTS, credits
Course Description

The overarching objective of this experimental course is to provide a practical technical and policy introduction for the foundations of the building and operating of dependable, complex distributed national information infrastructures.

The course teaches university students how to model, design, implement, operate, and defend these national information infrastructures (NII) to withstand errors and attacks.

We will introduce complementary engineering methodologies intended to assist NII policymakers, stewards, operators, and engineering professionals to implement protective initiatives to design and improve the survivability of NII systems, critical functions, and processes.

The course will include cyber threat intelligence tradecraft and the experimental use of both open-source intelligence and an artificial intelligence tool i.e. ChatGPT

Language of instruction: English
Face-to-face learning
Not taught this semester
Year unspecified | Fall
Cyber Conflicts, Cyber Security Threats and Engineering, National Information Infrastructures (NII) (TÖL107M)
Free elective course within the programme
6 ECTS, credits
Course Description

This interdisciplinary course examines underlying and emerging information technologies, cyber security engineering and policies associated with surveillance, cyber warfare, and cyber threats.

The technological concepts reviewed in this course include but are not limited to National Information Infrastructures, the Internet, Dark Web, networks and sensors, and trends associated with our emerging Internet of Things.

The course will review some salient cyber conflict history, international and national policies concerning cyber conflict and security engineering - secure by design, military/civilian doctrine, and some lessons learned from the use of cyber operations in past, present and future conflicts.

Language of instruction: English
Face-to-face learning
Year unspecified | Fall
Introduction to deep neural networks (TÖL506M)
Free elective course within the programme
6 ECTS, credits
Course Description

In this course we cover deep neural networks and methods related to them. We study networks and methods for image, sound and text analysis. The focus will be on applications and students will present either a project or a recent paper in this field.

Language of instruction: Icelandic
Face-to-face learning
Year unspecified | Fall
Final project (TÖL431L)
A mandatory (required) course for the programme
0 ECTS, credits
Course Description
  • The topic of the Master's thesis must be chosen under the guidance of the supervisor and the Faculty Coordinator of the student. The thesis represents 30 or 60 credits. All Master's student have been assigned to a Faculty Coordinator from the beginning of their studies, who advises the student regarding the organization of the program. If a student does not have a supervisor for the final project, he / she must turn to the Faculty Coordinator for assistance.
  • The choice of topic is primarily the responsibility of the student in collaboration with his or her project supervisor. The topic of the project should fall within the student's area of study, i.e. course of study and chosen specialisation.
  • The master’s student writes a thesis according to the School’s template and defends it in a master’s defense.
  • Final project exam is divided into two parts: Oral examination and open lecture
  • Present at the oral exam is the student, supervisor, examiner and members of the Master's committee. The student presents a brief introduction on his / her project. It is important that the objectives and research question(s) are clearly stated, and that main findings and lessons to be drawn from the project are discussed.
  • The student delivers a thesis and a project poster.
  • According to the rules of the Master's program, all students who intend to graduate from the School of Engineering and Natural Sciences need to give a public lecture on their final project.
  • All students graduating from the University of Iceland shall submit an electronic copy of their final Master's thesis to Skemman.is. Skemman is the digital repository for all Icelandic universities and is maintained by the National and University Library.
  • According to regulations of University of Iceland all MS thesis should have open access after they have been submitted to Skemman.

Learning Outcomes:

Upon completion of an MS thesis, the student should be able to:

  • Formulate engineering design project  / research questions
  • Use an appropriate theoretical framework to shed light on his / her topic
  • Analyze and solve engineering tasks in a specialized field.
  • Perform a literature search and a thorough review of the literature.
  • Demonstrate initiative and independent creative thinking.
  • Use economic methodology to answer a specific research question
  • Competently discuss the current knowledge within the field and contribute to it with own research
  • Work with results, analyze uncertainties and limitations and interpret results.
  • Assess the scope of a research project and plan the work accordingly
  • Effectively display results and provide logical reasoning and relate results to the state of knowledge.
Language of instruction: Icelandic/English
Self-study
Part of the total project/thesis credits
Year unspecified | Fall
Usable Privacy and Security (HBV507M)
Free elective course within the programme
6 ECTS, credits
Course Description

Survey of the field of usable security and privacy with an emphasis on emerging technologies. Topics include authentication, location privacy, social network privacy, behavioral advertising, - health privacy, anonymity, cryptocurrency, technical writing and ethical conduct of usable privacy and security research.

Language of instruction: English
Face-to-face learning
Year unspecified | Fall
Cloud Computing and Big Data (REI504M)
Free elective course within the programme
6 ECTS, credits
Course Description

Overview of high performance computing (HPC) and “Big Data”, HPC environments with computing, network and storage resources, overview of parallel programming. Storage infrastructures and services for Big Data, Big Data analytics, the map-reduce paradigm, structured and unstructured data. Practical exercises: (A) Students will use the Amazon Web Services (AWS) cloud or equivalent to set up a multi-computer web service and an associated multi-computer testing application. (B) Students will get hands on experience of processing large data sets using map-reduce techniques with AWS.

Language of instruction: English
Face-to-face learning
Year unspecified | Fall
Programming Projects on Internet of Things (TÖL103M)
Free elective course within the programme
6 ECTS, credits
Course Description

This course offers a hands-on introduction to programming small devices (microcontrollers, single-board computers) used in the context of Internet of Things, sensor networking, and home automation.

Such devices are often equipped with a large number of I/O pins, some RAM and flash memory, and wireless communication capabilities (e.g. WiFi and/or Bluetooth), making them attractive for tasks involving data acquisition,
processing, and wireless communication.

The course consists of bi-weekly programming tasks dealing with serial communication, data acquisition and analysis, programming of real-time O/S (RTOS), wireless communication and TCP/IP client-servers paradigm.

The biweekly assignments lead to a final project.

Language of instruction: English
Face-to-face learning
Year unspecified | Fall
Thesis skills: project management, writing skills and presentation (VON001F)
Free elective course within the programme
4 ECTS, credits
Course Description

Introduction to the scientific method. Ethics of science and within the university community.
The role of the student, advisors and external examiner. Effective and honest communications.
Conducting a literature review, using bibliographic databases and reference handling. Thesis structure, formulating research questions, writing and argumentation. How scientific writing differs from general purpose writing. Writing a MS study plan and proposal. Practical skills for presenting tables and figures, layout, fonts and colors. Presentation skills. Project management for a thesis, how to divide a large project into smaller tasks, setting a work plan and following a timeline. Life after graduate school and being employable.

Language of instruction: English
Face-to-face learning
Online learning
Year unspecified | Spring 1
Fundamentals of Ethical Hacking (TÖL605M)
A mandatory (required) course for the programme
6 ECTS, credits
Course Description

Ethical hacking is the discipline of attacker perspective security analysis. Using tools and techniques used by malicious hackers, ethical hackers gain unique and unique and valuable insights used for improving system security.

This course will introduce students to the fundamentals of ethical hacking tools and techniques. Students will begin by configuring a secure lab using virtualisation tools. Then every two weeks a new stage of the ethical hacking methodology and some related tools will be introduced. The students will submit weekly lab reports evidencing their theoretical and practical understanding of the methodology and tools. 

For the best experience, students should own a PC able to run virtualisation software with an x86 image. Mac users with Apple CPU or those with PCs whose CPUs lack virtualisation support or who have limited RAM might have issues running a stable lab on their machine. Students who lack suitable hardware can use VMs on the department's cybersecurity server infrastructure.

Language of instruction: English
Face-to-face learning
Prerequisites
Year unspecified | Spring 1
Governance of the Internet (TÖL212F)
A mandatory (required) course for the programme
6 ECTS, credits
Course Description

This course aims to provide a comprehensive overview of Internet governance and challenges in regulating cyberspace. Topics include the evolution of formalized internet governance, and the role of national governments, supranational organizations and private corporations in shaping the international regulatory framework for Internet governance.

The course will also explore the balance of privacy versus security, including the role of regulations such as GDPR and NIS2 to establish minimum requirements of “privacy” or “security” by design. The emergence of a “cyber-public” space has created new challenges for enforcing laws ranging from copyright to illegal content. Furthermore, the question of public/private cooperation in fighting against cybercrime and regulatory challenges regarding the emergence of cyberwarfare will be examined.

This course will be taught as a series of weekly lectures and bi-weekly seminars for student discussions and debates in internet governance topics.

Language of instruction: English
Face-to-face learning
Not taught this semester
Year unspecified | Spring 1
Fundaments of the Internet (RAF617M)
Free elective course within the programme
6 ECTS, credits
Course Description

Modern day telecommunications are characterised by the fact that communicated data is carried on fixed telecommunications infrastructure on a majority of the path between tranmitter and receiver. Wireless infrastructure often conveys the signals at the end of the path. This yields both high speed and the comfort of wireless communications. It is of utmost importance for engineers working in telecoms to have a fundamental knowledge of fixed networks and the range of technologies deployed.

In this course, the structure of fixed backbone and access networks will be described. Optical fibre and related technologies will be introduced, e.g. DWDM, SDH, Ethernet, ATM and MPLS-TP. Access network technologies on copper, coax and optical fibres will be treated, e.g. ADSL. VDSL, G.fast and  DOCSIS. Different FTTH (Fibre to the Home) technologies will be treated such as PON (Passive Optical Network), Active Ethernet and point-to-point Ethernet. 

IP (Internet Protocol) has become a fundamental technology for modern fixed networks. IP native technologies will be described from the physical to the application layer. On the link layer, Ethernet will be in the focus as well as MPLS. Circuit and packet switching will be treated as well as circuit and packet orientation of networks. Sevices such as PSTN, VoIP, OTT and P2P will be treated. Backhauling of wireless networks such as mobile networks and Wi-Fi will also be treated.
In introduction to network virtualisation and network function virtualisation (NFV) will be given as well as software defined networking (SDN). Legal and regulatory aspects will be introduced and aspects like network neutrality discfussed. Important players and stakeholders will be discussed, e.g. Google, Apple, Microsoft, Netflix and telecommunications service providers.
Finally, local area networks will be discussed, home networking, smart homes, set-top-boxes, NAS, PLC, plastic optical fibres, MOCA and Wi-Fi introduced.

The teaching form will be lectures and projects on IP communications will be worked. Students will write four papers on selected subjects and give presentations. 

Language of instruction: Icelandic
Face-to-face learning
Year unspecified | Spring 1
Software Testing (HBV205M)
Free elective course within the programme
6 ECTS, credits
Course Description

Usually taught every second year (typically in spring of odd years, but this is subject to change in 2024).

This course covers testing of software. Besides basic foundations, this includes both dynamic testing where the software under test is executed and static approaches where software and other artefacts produced during software development are investigated without executing them. The focus of this course is, however, on dynamic testing. The different levels of testing (component test, integration test, system and acceptance test) and types of testing (functional, non-functional, structural and change-related) are covered as well as different test design techniques (black box test and white box test). Furthermore, test management and principles of test tools are discussed. In addition, selected advanced topics may be covered (for example, test languages, testing of object-oriented software, test process improvement, agile testing). The covered topics are a superset of the International Software Testing Qualifications Board's (ISTQB) certified tester foundation level syllabus.

The first part of the course is based on flipped-classroom style weekly reading, videos and assignments. In the second part, students work independently on some project related to software testing.

Note: while this is an "M" course, it is rather on MSc. level. BSc. students who take this course need to be very advanced in their BSc. studies, i.e. have experience in programming languages, software development and applying it in some software project, but should also be familiar with theoretical concepts from automata theory.

Also, BSc. students should not take this course, if they know that they are going to continue with MSc. studies, because they might then experience a lack of suitable courses in their MSc. studies.

Language of instruction: English
Face-to-face learning
The course is taught if the specified conditions are met
Not taught this semester
Year unspecified | Spring 1
Privacy and Data Protection Law (LÖG283F)
Free elective course within the programme
6 ECTS, credits
Course Description

The right to protection of private life is a wide-reaching right that, inter alia, deals with questions of the beginning and end of life; legal personality, legal capacity and self-determination; the right to develop one's identity and personality; and the right to data protection.  These issues are mainly dealt with in the legal disciplines traditionally known as the law of persons and data protection law.  This course aims at giving students an overview over key issues in these fields of law.  A special emphasis will be placed on investigating how advances in knowledge and technolocy and changes in society have raised new legal questions, and on how the relevant domestic law must be understood in light of ethics, international law and European law.

Language of instruction: Icelandic
Face-to-face learning
Prerequisites
Course taught first half of the semester
Year unspecified | Spring 1
Introduction to machine learning and artificial intelligence (RAF620M)
Free elective course within the programme
6 ECTS, credits
Course Description

Pattern recognition is concerned with the development of methods for finding patterns in data and use them for example for classification. Pattern recognition is closely related to machine learning and statistical signal processing. Pattern recognition has extensive application areas, for example signal processing, control, computer vision, and medical imaging. The purpose of this course is to give the student in depth understanding and hands on experience with pattern recognition. The content of the courses is supervised learning e.g., regression and classification, unsupervised learning such as principal component analysis, and introduction to deep learning.

Language of instruction: Icelandic
Face-to-face learning
Prerequisites
Year unspecified | Spring 1
Internship in Cybersecurity (TÖL022F)
Free elective course within the programme
6 ECTS, credits
Course Description

The aim of the internship is to train students to work under the guidance of specialists at companies and institutions. The projects must be related to one of the subjects taught in the Cyber Security specialization and they must test the knowledge and skills that the student has acquired there.

At the end of the working hours, the student must return to the supervisor:

  • A report on the student's main project and its connection to his / her studies in cyber security. The report shall also state what study goals the student set at the beginning of the internship and how he / she achieved them in the projects.
  • Diary kept by the student during working hours. The diary shall include a weekly overview stating what the tasks of the week were and how much time was spent on individual tasks.

Vocational training is not considered completed until the supervisor of the company / institution has submitted confirmation of the student's involvement in the project work and the supervisor of vocational training at the department of computer science has confirmed the completion of the project.

Note 1: Students cannot register themselves for this course, but they are registered for the course when they have secured an internship position at a company or institution.

All internships will be advertised separately on www.tengslatorg.hi.is  at the beginning of each semester and students will apply specifically for internships. An application together with a curriculum vitae and an introductory letter, in which students state why they are interested in getting an internship at the company in question, must be sent to von-starfsthjalfun@hi.is .

Note 2: This course can only be taken with 30 ECTS final project.

Note 3: This course is only available for students of cyber security specialization.

Language of instruction: English
Face-to-face learning
Year unspecified | Spring 1
Applied Cryptography (TÖL213M)
Free elective course within the programme
6 ECTS, credits
Course Description

In this course, students will take a practical approach to understanding the building and breaking of cryptographic implementations. The first half of this module will involve programming tasks while the second half will involve two mini projects. 

Starting from simplistic approaches used historically, such as the Caeser cipher, to modern day protocols used to secure telecommunications ubiquitously, such as AES and TLS. Students will also consider the role of cryptography in society more broadly by researching how contentious technologies such as end-to-end encryption and Tor impact justice and privacy, and distributed ledgers can enable the decentralisation of key societal systems. Finally, the course will conclude with a mini project demonstrating a practical attack against a cryptographic implementation using ethical hacking approaches e.g. WiFi cracking, password bruteforcing or man-in-the-middle attack of an encrypted connection to sniff traffic. 

The course will encompass the following stages: 

1) Building cryptographic primitives in a programming language of choice. 

2) Application engineering best practices. 

3) A research project in cryptography and society. 

4) A practical project in ethical hacking approaches to demonstrating weaknesses in cryptography implementations. 

Language of instruction: English
Face-to-face learning
Prerequisites
Year unspecified | Spring 1
Seminar in computer science (TÖL606M)
A mandatory (required) course for the programme
2 ECTS, credits
Course Description

Students in computer science, software engineering and computational engineering attend weekly seminars where they present talks on their research projects or other related topics of interest.

Language of instruction: Icelandic
Face-to-face learning
Prerequisites
Not taught this semester
Year unspecified | Spring 1
Seminar for MS-Students (TÖL204F)
A mandatory (required) course for the programme
2 ECTS, credits
Course Description

Postgraduate students in computer science, software engineering and computational engineering attend weekly seminars where the present talks on their research projects or other related topics of interest.

Language of instruction: Icelandic
Face-to-face learning
Year unspecified | Spring 1
Final project (TÖL431L)
A mandatory (required) course for the programme
0 ECTS, credits
Course Description
  • The topic of the Master's thesis must be chosen under the guidance of the supervisor and the Faculty Coordinator of the student. The thesis represents 30 or 60 credits. All Master's student have been assigned to a Faculty Coordinator from the beginning of their studies, who advises the student regarding the organization of the program. If a student does not have a supervisor for the final project, he / she must turn to the Faculty Coordinator for assistance.
  • The choice of topic is primarily the responsibility of the student in collaboration with his or her project supervisor. The topic of the project should fall within the student's area of study, i.e. course of study and chosen specialisation.
  • The master’s student writes a thesis according to the School’s template and defends it in a master’s defense.
  • Final project exam is divided into two parts: Oral examination and open lecture
  • Present at the oral exam is the student, supervisor, examiner and members of the Master's committee. The student presents a brief introduction on his / her project. It is important that the objectives and research question(s) are clearly stated, and that main findings and lessons to be drawn from the project are discussed.
  • The student delivers a thesis and a project poster.
  • According to the rules of the Master's program, all students who intend to graduate from the School of Engineering and Natural Sciences need to give a public lecture on their final project.
  • All students graduating from the University of Iceland shall submit an electronic copy of their final Master's thesis to Skemman.is. Skemman is the digital repository for all Icelandic universities and is maintained by the National and University Library.
  • According to regulations of University of Iceland all MS thesis should have open access after they have been submitted to Skemman.

Learning Outcomes:

Upon completion of an MS thesis, the student should be able to:

  • Formulate engineering design project  / research questions
  • Use an appropriate theoretical framework to shed light on his / her topic
  • Analyze and solve engineering tasks in a specialized field.
  • Perform a literature search and a thorough review of the literature.
  • Demonstrate initiative and independent creative thinking.
  • Use economic methodology to answer a specific research question
  • Competently discuss the current knowledge within the field and contribute to it with own research
  • Work with results, analyze uncertainties and limitations and interpret results.
  • Assess the scope of a research project and plan the work accordingly
  • Effectively display results and provide logical reasoning and relate results to the state of knowledge.
Language of instruction: Icelandic/English
Self-study
Part of the total project/thesis credits
Year unspecified | Spring 1
Algorithms in the real world (TÖL608M)
Free elective course within the programme
6 ECTS, credits
Course Description

The course will cover the design and analysis of algorithms, with emphasis on algorithms for large datasets and real world applications.

The algorithms covered will be drawn from various subfields, e.g. data and text compression, error correcting codes, large scale text search and search engines, parallel programming, GPU programming, streaming algorithms, probabilistic algorithms, nearest neighbor search in high dimensional datasets.

Language of instruction: Icelandic
Year unspecified | Year unspecified
Secure Software Engineering (HBV506M)
A mandatory (required) course for the programme
6 ECTS, credits
Course Description

Secure software engineering involves identifying and mitigating vulnerabilities to reduce threats to an application. In this module, students will gain an understanding of secure engineering practices and the means to apply them throughout the complete software development life cycle.

Working in teams, students will design, develop, and maintain a web application for a customer following secure software engineering principles. Students will illustrate their understanding and practical competency of white box and black box security assessment through testing their own and other team’s applications for vulnerabilities against the OWASP top 10 most critical security risks to web applications.

It is therefore assumed the students have knowledge in web application development using JavaScript.

Language of instruction: English
Face-to-face learning
Prerequisites
Year unspecified | Year unspecified
Applied Cryptography (TÖL213M)
A mandatory (required) course for the programme
6 ECTS, credits
Course Description

In this course, students will take a practical approach to understanding the building and breaking of cryptographic implementations. The first half of this module will involve programming tasks while the second half will involve two mini projects. 

Starting from simplistic approaches used historically, such as the Caeser cipher, to modern day protocols used to secure telecommunications ubiquitously, such as AES and TLS. Students will also consider the role of cryptography in society more broadly by researching how contentious technologies such as end-to-end encryption and Tor impact justice and privacy, and distributed ledgers can enable the decentralisation of key societal systems. Finally, the course will conclude with a mini project demonstrating a practical attack against a cryptographic implementation using ethical hacking approaches e.g. WiFi cracking, password bruteforcing or man-in-the-middle attack of an encrypted connection to sniff traffic. 

The course will encompass the following stages: 

1) Building cryptographic primitives in a programming language of choice. 

2) Application engineering best practices. 

3) A research project in cryptography and society. 

4) A practical project in ethical hacking approaches to demonstrating weaknesses in cryptography implementations. 

Language of instruction: English
Face-to-face learning
Prerequisites
Year unspecified | Whole year courses
Mentor in Sprettur (GKY001M)
Free elective course within the programme
5 ECTS, credits
Course Description

In the course, the student's task consists in being a mentor for participants that are upper secondary school students and university students in the project "Sprettur". Mentors' main role is to support and encourage participants in their studies and social life. As well as creating a constructive relationship with the participants, being a positive role model, and participating in events organized in Sprettur. The mentor role centers around building relationships and spending meaningful time together with the commitment to support participants. 

Sprettur is a project that supports students with an immigrant or refugee background who come from families with little or no university education. The students in this course are mentors of the participants and are paired together based on a common field of interest. Each mentor is responsible for supporting two participants. Mentors plan activities with participants and spend three hours a month (from August to May) with Sprettur’s participants, three hours a month in a study group and attend five seminars that are spread over the school year. Students submit journal entries on Canvas in November and March. Diary entries are based on reading material and students' reflections on the mentorship. Compulsory attendance in events, study groups, and seminars. The course is taught in Icelandic and English. 

Students must apply for a seat in the course. Applicants go through an interview process and 15-30 students are selected to participate. 

See the digital application form. 

More information about Sprettur can be found here: www.hi.is/sprettur  

Language of instruction: Icelandic/English
Face-to-face learning
The course is taught if the specified conditions are met
Prerequisites
Attendance required in class
Year unspecified | Fall
Selected Topics in Mechanical Engineering (VÉL049F)
Free elective course within the programme
7,5 ECTS, credits
Course Description

Lectures on and study of selected topics in current research and recent development in the field of Mechanical engineering. Topics may vary.

Students contact the teacher and the chair of department regarding registration for the course.

Language of instruction: Icelandic/English
Self-study
Not taught this semester
Year unspecified | Fall
Quantum Cryptography (TÖL113F)
Free elective course within the programme
6 ECTS, credits
Course Description

In this course, students learn about quantum computing and, in particular, quantum cryptography. Quantum computing will cause a revolution in cryptography as many cryptosystems based on computational complexity will become obsolete. They will replaced by so-called quantum secure crypto systems.

Language of instruction: English
Face-to-face learning
Not taught this semester
Year unspecified | Fall
Software Maintenance (HBV103M)
Free elective course within the programme
6 ECTS, credits
Course Description

Usually taught every second year (typically in fall of odd years, but this is subject to change in 2024).

The first part of the course is based on flipped-classroom style weekly reading, videos and assignments on:

  • Evolution of Software and Lehman’s laws,
  • Maintenance processes,
  • Metrics useful for maintenance,
  • Software analysis,
  • Re-engineering,
  • Reverse engineering,
  • Code Smells & Refactoring,
  • Basics of (Regression-)Testing,
  • Design principles to support change & Design Patterns,
  • Tools for software maintenance (including advanced features of an IDE).

In the second part of this course, these techniques will be applied in order to maintain a real legacy software written in Java.

Note: while this is an "M" course, it is rather on MSc. level. BSc. students who take this course need to be advanced in their BSc. studies and you need solid Java programming experience: we will maintain a complex software and being able to understand how such a grown software works and to fix bugs is even more difficult to write such a software from scratch. Hence, you should have passed HBV501G Software Project 1, preferably even HBV601G Software Project 2. (It is impossible to maintain a software if you would not even be able to develop it.) Also, BSc. students should not take this course, if they know that they are going to continue with MSc. studies, because they might then experience a lack of suitable courses in their MSc. studies.

Language of instruction: English
Face-to-face learning
The course is taught if the specified conditions are met
Year unspecified | Fall
Software Quality Management (HBV505M)
Free elective course within the programme
6 ECTS, credits
Course Description

The course is based on flipped-classroom style weekly reading, videos and assignments on software quality management-related aspects of the Software Development Life Cycle (SDLC) and by covering some parts of DevOps also Application Lifecycle Management (ALM). In parallel to theoretical concepts, the application of source code-centric tools relevant for quality management is trained by applying them to a codebase throughout the course using the ALM tool GitLab. The concepts and tools are independent from a particular software development process and cover:

  • Software Quality Foundations, Software Quality Models.
  • Configuration management (CM) and traceability:
    • Version management (e.g. Git),
    • Change management (e.g. issue tracker),
    • Build management (e.g. Maven),
    • Release management
  • Continuous integration (CI) (e.g. using GitLab pipelines).
  • Integrating testing into a CI pipeline (e.g. using JUnit and GitLab).
  • Reviews (e.g. tool-based code review)
  • Static analysis (e.g. SonarCloud)
  • Metrics for quality management (product and process metrics).
  • Quality standards:
    • Software Life Cycle Processes,
    • Software Process Improvement and maturity assessment (e.g. CMMI).
  • Using a Wiki to create a quality plan and other documentation.

Students chose their own codebase (e.g. from the Software Project 1 or 2 course) to which they apply the concepts and tools tought in this course. While the teaching material and tools assumes Java as programming language, students are welcome to use a codebase in another programming language.

Software quality in agile development processes is covered by student presentations at the end of the course.

Note: while this is an "M" course, it is rather on MSc. level. BSc. students who take this course need to be advanced in their BSc. studies and you need Java programming experience. Hence, you should have passed HBV501G Software Project 1, preferably even HBV601G Software Project 2.
Also, BSc. students should not take this course, if they know that they are going to continue with MSc. studies, because they might then experience a lack of suitable courses in their MSc. studies.

Language of instruction: English
Face-to-face learning
The course is taught if the specified conditions are met
Not taught this semester
Year unspecified | Fall
Quality Management (IÐN101M)
Free elective course within the programme
6 ECTS, credits
Course Description

Organization and management systems. The systems approach. Quality management, quality concepts. Historical development of quality management. Quality cost. Quality in manufacturing. x, R, p, c and cusum-chart. Statistical quality control. Tests of hypotheses. Acceptance sampling - OC curves. Inspection planning. Quality systems and quality assurance. Quality handbook and organizing for quality. ISO 9001. Total Quality Management, improvement step by step, motivations theories. Quality tools. Practical assignment: Designing a quality system for a company.

Language of instruction: Icelandic
Face-to-face learning
Not taught this semester
Year unspecified | Fall
Computational Intelligence (IÐN102M)
Free elective course within the programme
6 ECTS, credits
Course Description

Basic aspects of computational intelligence, which is the study of algorithms that improve automatically through experience.

Language of instruction: Icelandic
Face-to-face learning
The course is taught if the specified conditions are met
Year unspecified | Fall
Time Series Analysis (IÐN113F)
Free elective course within the programme
7,5 ECTS, credits
Course Description

ARMAX and other similar time series models. Non-stationary time series. Correlation and spectral analysis. Parameter estimation, parametric and non-parametric approaches, Least Squares and Maximum Likelihood. Model validation methods. Models with time dependent parameters. Numerical methods for minimization. Outlier detection and interpolation. Introduction to nonlinear time series models. Discrete state space models. Discrete state space models. Extensive use of MATLAB, especially the System Identification Toolbox.

Language of instruction: English
Distance learning
Self-study
Year unspecified | Fall
Performance analysis of computer systems (REI503M)
Free elective course within the programme
6 ECTS, credits
Course Description

Usually taught every second year.

This course provides students with an introduction to modeling and performance evaluation of computer and communication systems. Large-scale distributed computer systems process arriving requests, e.g., web page queries, in parallel in order to optimize performance metrics, such as response time and user satisfaction. Other important performance metrics include throughput and service-level agreement in general. This course covers basic mathematical tools needed to evaluate such dynamic systems and to understand the strengths and weaknesses, for example in different designs, scheduling disciplines, and operating policies. The approach is based on operations research methods, in particular, queueing theory and Markov processes (previous knowledge of these methods is not required).

Attendance is strongly recommended.

Language of instruction: English
Face-to-face learning
The course is taught if the specified conditions are met
Year unspecified | Fall
Machine Learning (REI505M)
Free elective course within the programme
6 ECTS, credits
Course Description

An overview of some of the main concepts, techniques and algorithms in machine learning. Supervised learning and unsupervised learning. Data preprocessing and data visualization. Model evaluation and model selection. Linear regression, nearest neighbors, support vector machines, decision trees and ensemble methods. Deep learning. Cluster analysis and the k-means algorithm. The students implement simple algorithms in Python and learn how to use specialized software packages. At the end of the course the students work on a practical machine learning project.

Language of instruction: English
Face-to-face learning
Not taught this semester
Year unspecified | Fall
Machine Learning for Earth Observation powered by Supercomputers (REI506M)
Free elective course within the programme
6 ECTS, credits
Course Description

This course exposes the students to the physical principles underlying satellite observations of Earth by passive sensors, as well as parallel Deep Learning (DL) algorithms that scale on High Performance Computing (HPC) systems. 

For the different theoretical concepts (represented by 4 modules), the course provides hands-on exercises. These exercises are part of a project in the context of Remote Sensing (RS) image classification that the students are asked to develop during the whole duration of the course.

Language of instruction: English
Face-to-face learning
Year unspecified | Fall
Applied Linear Statistical Models (STÆ312M)
Free elective course within the programme
6 ECTS, credits
Course Description

The course focuses on simple and multiple linear regression as well as analysis of variance (ANOVA), analysis of covariance (ANCOVA) and binomial regression. The course is a natural continuation of a typical introductory course in statistics taught in various departments of the university.

We will discuss methods for estimating parameters in linear models, how to construct confidence intervals and test hypotheses for the parameters, which assumptions need to hold for applying the models and what to do when they are not met.

Students will work on projects using the statistical software R.

 

Language of instruction: Icelandic
Face-to-face learning
Prerequisites
Year unspecified | Fall
Introduction to Information Security (TÖL029M)
Free elective course within the programme
6 ECTS, credits
Course Description

Þetta námskeið byggir grunn að skilningi á lykilatriðum sem tengjast verndun upplýsinga, ákvörðun á verndarstigi og viðbrögð við öryggisatvikum, og hönnun á samræmdu raunhæfu upplýsingaöryggiskerfi, með viðeigandi innbrotsskynjun og tilkynningum.  Tilgangur námskeiðsins er að veita nemandanum yfirsýn yfir svið upplýsingaöryggis og upplýsingatrygginga.  Nemendur munu sjá ýmsar gerðir öryggisaðgerða, aðferðafræða og verklags.  Umfjöllunin mun taka fyrir skoðun og vernd upplýsingaeigna, uppgötvun og viðbrögð við ógnum við upplýsingaeignir, verklagsreglur fyrir og eftir öryggisatvik, tæknileg og stjórnunarleg viðbrögð og yfirlit yfir skipulagningu upplýsingaöryggis og starfsmannahald.  Meðal efnis eru áhættumat, auðkenning, veföryggi, öryggi forrita, persónuvernd og gagnavernd, kynning á dulmálskóðun, öryggisarkitektúr, eldveggir og önnur tæki og netskipulag.

Language of instruction: English
Face-to-face learning
Not taught this semester
Year unspecified | Fall
Security Engineering for Critical Information Infrastructures (TÖL106M)
Free elective course within the programme
6 ECTS, credits
Course Description

The overarching objective of this experimental course is to provide a practical technical and policy introduction for the foundations of the building and operating of dependable, complex distributed national information infrastructures.

The course teaches university students how to model, design, implement, operate, and defend these national information infrastructures (NII) to withstand errors and attacks.

We will introduce complementary engineering methodologies intended to assist NII policymakers, stewards, operators, and engineering professionals to implement protective initiatives to design and improve the survivability of NII systems, critical functions, and processes.

The course will include cyber threat intelligence tradecraft and the experimental use of both open-source intelligence and an artificial intelligence tool i.e. ChatGPT

Language of instruction: English
Face-to-face learning
Not taught this semester
Year unspecified | Fall
Cyber Conflicts, Cyber Security Threats and Engineering, National Information Infrastructures (NII) (TÖL107M)
Free elective course within the programme
6 ECTS, credits
Course Description

This interdisciplinary course examines underlying and emerging information technologies, cyber security engineering and policies associated with surveillance, cyber warfare, and cyber threats.

The technological concepts reviewed in this course include but are not limited to National Information Infrastructures, the Internet, Dark Web, networks and sensors, and trends associated with our emerging Internet of Things.

The course will review some salient cyber conflict history, international and national policies concerning cyber conflict and security engineering - secure by design, military/civilian doctrine, and some lessons learned from the use of cyber operations in past, present and future conflicts.

Language of instruction: English
Face-to-face learning
Not taught this semester
Year unspecified | Fall
From an Idea to Reality (TÖL109F)
Free elective course within the programme
6 ECTS, credits
Course Description

The course has been in development for over a decade under the name "Computer Systems and Marketing". 

The course is based on teacher lectures and individual and group projects that help students to think outside the box. Teacher will tell of his experiences of making ideas become real and have a special focus on the mistakes that have been made along with the successful stories.
The final project of the course is a business plan that will be presented in an oral final exam. The business plan focuses on the idea of each student and how the student plans to realize his project.

Language of instruction: Icelandic
Face-to-face learning
Year unspecified | Fall
Human Computer Interaction (TÖL502M)
Free elective course within the programme
6 ECTS, credits
Course Description

Usually taught every second year.

The objective of the course is to allow students to examine more closely than is done in the introductory course Graphical User Interface Programming  HBV201G specific factors of HCI. The factors covered are user interface design using prototyping, programming of smart devices and users‘ acceptability of the software. There will be emphasis on different techniques and tools to develop prototypes. Also, on the design of user interfaces and native programming for smart phones or pads. The development process will be aimed at ensuring accessibility and acceptability of users. Students work on small projects individually, or on larger projects in groups. 

Language of instruction: Icelandic
Face-to-face learning
The course is taught if the specified conditions are met
Prerequisites
Year unspecified | Fall
Distributed Systems (TÖL503M)
Free elective course within the programme
6 ECTS, credits
Course Description

Usually taught every second year.

This course covers concepts of distributed systems and their application. Besides foundations on characteristics and models of distributed systems, networking and security, this includes network-based low-level interprocess communication, high-level remote procedure calls, the distributed object model and remote method invocation, services relevant in distributed systems (such as name services or distributed file systems), selected topics of distributed algorithms and their implementation (such as coordination, agreement,  time, replication). Furthermore, special types of distributed systems may be covered (such as peer-to-peer systems, Cloud and Grid computing).  Current technologies (such as Java RMI, Web Services, gRPC) are used as case study and as platform for developing distributed applications using high-level programming languages (such as Java).

Note: while this is an "M" course, it is rather on MSc. level. BSc. students who take this course need to be advanced in their BSc. studies. (E.g. we will implement middleware in Java, so you should have programming experience well beyond "TÖL101G Computer Science 1". As a middleware adds functionality on top of an Operating System, you should have also passed TÖL401G Operating Systems.)

Language of instruction: English
Face-to-face learning
The course is taught if the specified conditions are met
Year unspecified | Fall
Introduction to deep neural networks (TÖL506M)
Free elective course within the programme
6 ECTS, credits
Course Description

In this course we cover deep neural networks and methods related to them. We study networks and methods for image, sound and text analysis. The focus will be on applications and students will present either a project or a recent paper in this field.

Language of instruction: Icelandic
Face-to-face learning
Not taught this semester
Year unspecified | Fall
Algorithms in Bioinformatics (TÖL504M)
Free elective course within the programme
6 ECTS, credits
Course Description

This course will cover the algorithmic aspects of bioinformatic. We  will start with an introduction to genomics and algorithms for students new to the field. The course is divided into modules, each module covers a single problem in bioinformatics that will be motivated based on current research. The module will then cover algorithms that solve the problem and variations on the problem. The problems covered are motif finding, edit distance in strings, sequence alignment, clustering, sequencing and assembly and finally computational methods for high throughput sequencing (HTS).

Language of instruction: Icelandic
Face-to-face learning
Year unspecified | Fall
Computer Graphics (TÖL105M)
Free elective course within the programme
6 ECTS, credits
Course Description

The main emphasis is on fundamental concepts and mathematics for 3D computer graphics. Two and three-dimensional transformations. Viewing projections. Light and the shading of objects. Texture mapping, blending, bump maps. Programmable shaders. Curves and surfaces. Programming assignments in WebGL.

Language of instruction: Icelandic
Face-to-face learning
Year unspecified | Fall
Theoretical Foundations of Innovation and Entrepreneurship (VIÐ186F)
Free elective course within the programme
7,5 ECTS, credits
Course Description

The aim of the course is to give students an overview of the theoretical foundations of innovation and entrepreneurship and prepare them for further studies, both academic and applied.

The course will cover the most prominent theories and unresolved questions within the field; students will review the latest academic articles and learn about tools to analyze major innovation trends in the economy.

Language of instruction: Icelandic
Face-to-face learning
Prerequisites
Course taught in period II
Year unspecified | Fall
Final project (TÖL431L)
A mandatory (required) course for the programme
0 ECTS, credits
Course Description
  • The topic of the Master's thesis must be chosen under the guidance of the supervisor and the Faculty Coordinator of the student. The thesis represents 30 or 60 credits. All Master's student have been assigned to a Faculty Coordinator from the beginning of their studies, who advises the student regarding the organization of the program. If a student does not have a supervisor for the final project, he / she must turn to the Faculty Coordinator for assistance.
  • The choice of topic is primarily the responsibility of the student in collaboration with his or her project supervisor. The topic of the project should fall within the student's area of study, i.e. course of study and chosen specialisation.
  • The master’s student writes a thesis according to the School’s template and defends it in a master’s defense.
  • Final project exam is divided into two parts: Oral examination and open lecture
  • Present at the oral exam is the student, supervisor, examiner and members of the Master's committee. The student presents a brief introduction on his / her project. It is important that the objectives and research question(s) are clearly stated, and that main findings and lessons to be drawn from the project are discussed.
  • The student delivers a thesis and a project poster.
  • According to the rules of the Master's program, all students who intend to graduate from the School of Engineering and Natural Sciences need to give a public lecture on their final project.
  • All students graduating from the University of Iceland shall submit an electronic copy of their final Master's thesis to Skemman.is. Skemman is the digital repository for all Icelandic universities and is maintained by the National and University Library.
  • According to regulations of University of Iceland all MS thesis should have open access after they have been submitted to Skemman.

Learning Outcomes:

Upon completion of an MS thesis, the student should be able to:

  • Formulate engineering design project  / research questions
  • Use an appropriate theoretical framework to shed light on his / her topic
  • Analyze and solve engineering tasks in a specialized field.
  • Perform a literature search and a thorough review of the literature.
  • Demonstrate initiative and independent creative thinking.
  • Use economic methodology to answer a specific research question
  • Competently discuss the current knowledge within the field and contribute to it with own research
  • Work with results, analyze uncertainties and limitations and interpret results.
  • Assess the scope of a research project and plan the work accordingly
  • Effectively display results and provide logical reasoning and relate results to the state of knowledge.
Language of instruction: Icelandic/English
Self-study
Part of the total project/thesis credits
Year unspecified | Fall
Usable Privacy and Security (HBV507M)
Free elective course within the programme
6 ECTS, credits
Course Description

Survey of the field of usable security and privacy with an emphasis on emerging technologies. Topics include authentication, location privacy, social network privacy, behavioral advertising, - health privacy, anonymity, cryptocurrency, technical writing and ethical conduct of usable privacy and security research.

Language of instruction: English
Face-to-face learning
Year unspecified | Fall
Cloud Computing and Big Data (REI504M)
Free elective course within the programme
6 ECTS, credits
Course Description

Overview of high performance computing (HPC) and “Big Data”, HPC environments with computing, network and storage resources, overview of parallel programming. Storage infrastructures and services for Big Data, Big Data analytics, the map-reduce paradigm, structured and unstructured data. Practical exercises: (A) Students will use the Amazon Web Services (AWS) cloud or equivalent to set up a multi-computer web service and an associated multi-computer testing application. (B) Students will get hands on experience of processing large data sets using map-reduce techniques with AWS.

Language of instruction: English
Face-to-face learning
Year unspecified | Fall
Programming Projects on Internet of Things (TÖL103M)
Free elective course within the programme
6 ECTS, credits
Course Description

This course offers a hands-on introduction to programming small devices (microcontrollers, single-board computers) used in the context of Internet of Things, sensor networking, and home automation.

Such devices are often equipped with a large number of I/O pins, some RAM and flash memory, and wireless communication capabilities (e.g. WiFi and/or Bluetooth), making them attractive for tasks involving data acquisition,
processing, and wireless communication.

The course consists of bi-weekly programming tasks dealing with serial communication, data acquisition and analysis, programming of real-time O/S (RTOS), wireless communication and TCP/IP client-servers paradigm.

The biweekly assignments lead to a final project.

Language of instruction: English
Face-to-face learning
Year unspecified | Fall
Thesis skills: project management, writing skills and presentation (VON001F)
Free elective course within the programme
4 ECTS, credits
Course Description

Introduction to the scientific method. Ethics of science and within the university community.
The role of the student, advisors and external examiner. Effective and honest communications.
Conducting a literature review, using bibliographic databases and reference handling. Thesis structure, formulating research questions, writing and argumentation. How scientific writing differs from general purpose writing. Writing a MS study plan and proposal. Practical skills for presenting tables and figures, layout, fonts and colors. Presentation skills. Project management for a thesis, how to divide a large project into smaller tasks, setting a work plan and following a timeline. Life after graduate school and being employable.

Language of instruction: English
Face-to-face learning
Online learning
Not taught this semester
Year unspecified | Spring 1
Fundaments of the Internet (RAF617M)
Free elective course within the programme
6 ECTS, credits
Course Description

Modern day telecommunications are characterised by the fact that communicated data is carried on fixed telecommunications infrastructure on a majority of the path between tranmitter and receiver. Wireless infrastructure often conveys the signals at the end of the path. This yields both high speed and the comfort of wireless communications. It is of utmost importance for engineers working in telecoms to have a fundamental knowledge of fixed networks and the range of technologies deployed.

In this course, the structure of fixed backbone and access networks will be described. Optical fibre and related technologies will be introduced, e.g. DWDM, SDH, Ethernet, ATM and MPLS-TP. Access network technologies on copper, coax and optical fibres will be treated, e.g. ADSL. VDSL, G.fast and  DOCSIS. Different FTTH (Fibre to the Home) technologies will be treated such as PON (Passive Optical Network), Active Ethernet and point-to-point Ethernet. 

IP (Internet Protocol) has become a fundamental technology for modern fixed networks. IP native technologies will be described from the physical to the application layer. On the link layer, Ethernet will be in the focus as well as MPLS. Circuit and packet switching will be treated as well as circuit and packet orientation of networks. Sevices such as PSTN, VoIP, OTT and P2P will be treated. Backhauling of wireless networks such as mobile networks and Wi-Fi will also be treated.
In introduction to network virtualisation and network function virtualisation (NFV) will be given as well as software defined networking (SDN). Legal and regulatory aspects will be introduced and aspects like network neutrality discfussed. Important players and stakeholders will be discussed, e.g. Google, Apple, Microsoft, Netflix and telecommunications service providers.
Finally, local area networks will be discussed, home networking, smart homes, set-top-boxes, NAS, PLC, plastic optical fibres, MOCA and Wi-Fi introduced.

The teaching form will be lectures and projects on IP communications will be worked. Students will write four papers on selected subjects and give presentations. 

Language of instruction: Icelandic
Face-to-face learning
Year unspecified | Spring 1
Software Testing (HBV205M)
Free elective course within the programme
6 ECTS, credits
Course Description

Usually taught every second year (typically in spring of odd years, but this is subject to change in 2024).

This course covers testing of software. Besides basic foundations, this includes both dynamic testing where the software under test is executed and static approaches where software and other artefacts produced during software development are investigated without executing them. The focus of this course is, however, on dynamic testing. The different levels of testing (component test, integration test, system and acceptance test) and types of testing (functional, non-functional, structural and change-related) are covered as well as different test design techniques (black box test and white box test). Furthermore, test management and principles of test tools are discussed. In addition, selected advanced topics may be covered (for example, test languages, testing of object-oriented software, test process improvement, agile testing). The covered topics are a superset of the International Software Testing Qualifications Board's (ISTQB) certified tester foundation level syllabus.

The first part of the course is based on flipped-classroom style weekly reading, videos and assignments. In the second part, students work independently on some project related to software testing.

Note: while this is an "M" course, it is rather on MSc. level. BSc. students who take this course need to be very advanced in their BSc. studies, i.e. have experience in programming languages, software development and applying it in some software project, but should also be familiar with theoretical concepts from automata theory.

Also, BSc. students should not take this course, if they know that they are going to continue with MSc. studies, because they might then experience a lack of suitable courses in their MSc. studies.

Language of instruction: English
Face-to-face learning
The course is taught if the specified conditions are met
Year unspecified | Spring 1
Field Course in Innovation and Entrepreneurship (II) (IÐN216F)
Free elective course within the programme
7,5 ECTS, credits
Course Description

The course is a continuation of the course "Field Course in Innovation and Entrepreneurship (I)". This part of the course consists of detailed development of the business model related to a particular business opportunity. This work takes place in groups, where cross-disciplinary collaboration, between individuals with a background in business and individuals with a background in a particular technical or professional field related to the relevant opportunity, is emphasized. Projects can originate in an independent business idea or in collaboration with companies that partner with the course. In both cases, the emphasis will be on product or service develepment, built on technical or professional expertise, where the business case of the opportunity and its verification is in the foreground.

Language of instruction: Icelandic
Face-to-face learning
Course taught second half of the semester
Year unspecified | Spring 1
Field Course in Innovation and Entrepreneurship (I) (IÐN222F)
Free elective course within the programme
7,5 ECTS, credits
Course Description

The course is taught in two parts, and the expectation is that students register for both parts. The course will cover the practical issues related to innovation and entrepreneurship. It covers the emergence of a business idea and the initial evaluation of the business opportunity, and the development and testing of a business model. This part of the course consists of lectures and case discussions that deal with various aspects of innovation and entrepreneurship: Analysis of business opportunities, evaluation of market size and unit contribution, the management of organizational units that are involved in innovation, financing, and other issues. Students will also tackle projects where they apply the methods taught in the class to isolated tasks in product and business development in both new and existing firms.

Language of instruction: Icelandic
Face-to-face learning
Prerequisites
Course taught first half of the semester
Year unspecified | Spring 1
High Performance Computing (REI204M)
Free elective course within the programme
6 ECTS, credits
Course Description

Design of parallel computers and parallel programming models. Shared memory architecture. Message passing and distributed memory architecture. Parallel programming of computer clusters using MPI and multicore programming using OpenMP. Parallel algorithms for sorting, searching, linear algebra, and various graph problems.

Course topics will be very similar like HPC in Fall 2019:

http://www.morrisriedel.de/hpc-course-fall-2019

Positioning in the Field of High-Performance Computing (HPC)

  • Consists of techniques for programming & using large-scale HPC Systems
  • Approach: Get a broad understanding of what HPC is and what can be done
  • Goal: Train general HPC techniques and systems and selected details of domain-specific applications

Course Motivation

Parallel processing and distributed computing

  • Matured over the past three decades
  • Both emerged as a well-developed field in computer science
  • Still a lot of innovation, e.g. from hardware/software

‘Scientific computing‘ with Maple, Matlab, etc.

  • Performed on small (‘serial‘) computing machines like Desktop PCs or Laptops
  • An increasing number of cores enables ‘better scientific computing‘ today
  • Good for small & fewer complex applications, quickly reach memory limits

‘Advanced scientific computing‘

  • Used with computational simulations and large-scale machine & deep learning
  • Performed on large parallel computers; often scientific domain-specific approaches
  • Use orders of magnitude multi-core chips & large memory & specific many-core chips
  • Enables ‘simulations of reality‘ - often based on known physical laws and numerical methods

Language of instruction: English
Face-to-face learning
Year unspecified | Spring 1
The AI lifecycle (REI603M)
Free elective course within the programme
6 ECTS, credits
Course Description

In this course, we study the AI lifecycle, i.e. the productionisation of AI methods.
We explore the following parts of the lifecycle:
- Data collection and preparation
- Feature engineering
- Model training
- Model evaluation
- Model deployment
- Model serving
- Model monitoring
- Model maintenance
Three large projects will be handed out during the semester where students compete to solve AI problems.

Language of instruction: English
Face-to-face learning
Not taught this semester
Year unspecified | Spring 1
Seminar on Machine Learning (TÖL028M)
Free elective course within the programme
2 ECTS, credits
Course Description

In this course, students familiarize themselves with a particular topic in artificial intelligence (e.g. computer vision, natural language processing, data processing, generative modeling or other topics) by studying relevant academic literature and preparing a talk on this topic for their classmates.

Students can choose from a selection of topics provided by the teacher, or propose a topic that they are interested in on their own.

Besides learning about the subject matter of the talks, the goal of the course is to practice presentation skills.

The course starts on June 8th and will finish on August 17th. 

Language of instruction: Icelandic
Face-to-face learning
Not taught this semester
Year unspecified | Spring 1
Compilers (TÖL202M)
Free elective course within the programme
6 ECTS, credits
Course Description

The design of programming languages. The structure and design of compilers. Lexical analysis. Top down and bottom up parsing. Code generation. Each student writes his or her own compiler.

Language of instruction: Icelandic/English
Face-to-face learning
The course is taught if the specified conditions are met
Not taught this semester
Year unspecified | Spring 1
From an idea to reality II (TÖL211F)
Free elective course within the programme
6 ECTS, credits
Course Description

The course is a continuation of the course "From an idea to reality". Students are expected to continue to develop their idea that they had in the "From an Idea to Reality" course. If the students are not satisfied with their previous idea and think they have come up with a better idea, that's fine, and if the teacher is satisfied with the new idea the student can continue with the new idea.

Students must apply for grants in the competition fund. Practice pitching your idea to potential investors and your fellow students.

The teacher will cover accounting and planning based on probability.

The teacher will cover company formation and tax matters.

Language of instruction: Icelandic
Face-to-face learning
Attendance required in class
Year unspecified | Spring 1
Reasoned Programming (TÖL212M)
Free elective course within the programme
6 ECTS, credits
Course Description

Fundamental concepts in program verification and reasoned programming are covered. Emphasis is placed on using reasoned programming to develop solid and proved versions of well-known algorithms, especially in the areas of searching, sorting, and binary search trees. Among algorithms covered are various versions of insertion sort, selection sort, quicksort, binary search, and searching in binary search trees. Emphasis will be placed on deepening the understanding of the algorithms as well as getting a good grip on program verification. Some exercises will use verification tools such as Dafny or OpenJML.

Language of instruction: Icelandic/English
Face-to-face learning
The course is taught if the specified conditions are met
Year unspecified | Spring 1
Fundamentals of Ethical Hacking (TÖL605M)
Free elective course within the programme
6 ECTS, credits
Course Description

Ethical hacking is the discipline of attacker perspective security analysis. Using tools and techniques used by malicious hackers, ethical hackers gain unique and unique and valuable insights used for improving system security.

This course will introduce students to the fundamentals of ethical hacking tools and techniques. Students will begin by configuring a secure lab using virtualisation tools. Then every two weeks a new stage of the ethical hacking methodology and some related tools will be introduced. The students will submit weekly lab reports evidencing their theoretical and practical understanding of the methodology and tools. 

For the best experience, students should own a PC able to run virtualisation software with an x86 image. Mac users with Apple CPU or those with PCs whose CPUs lack virtualisation support or who have limited RAM might have issues running a stable lab on their machine. Students who lack suitable hardware can use VMs on the department's cybersecurity server infrastructure.

Language of instruction: English
Face-to-face learning
Prerequisites
Not taught this semester
Year unspecified | Spring 1
Algorithms in Bioinformatics (TÖL604M)
Free elective course within the programme
6 ECTS, credits
Course Description

This course will cover the algorithmic aspects of bioinformatic. We  will start with an introduction to genomics and algorithms for students new to the field. The course is divided into modules, each module covers a single problem in bioinformatics that will be motivated based on current research. The module will then cover algorithms that solve the problem and variations on the problem. The problems covered are motif finding, edit distance in strings, sequence alignment, clustering, sequencing and assembly and finally computational methods for high throughput sequencing (HTS).

Language of instruction: Icelandic
Face-to-face learning
Year unspecified | Spring 1
Governance of the Internet (TÖL212F)
Free elective course within the programme
6 ECTS, credits
Course Description

This course aims to provide a comprehensive overview of Internet governance and challenges in regulating cyberspace. Topics include the evolution of formalized internet governance, and the role of national governments, supranational organizations and private corporations in shaping the international regulatory framework for Internet governance.

The course will also explore the balance of privacy versus security, including the role of regulations such as GDPR and NIS2 to establish minimum requirements of “privacy” or “security” by design. The emergence of a “cyber-public” space has created new challenges for enforcing laws ranging from copyright to illegal content. Furthermore, the question of public/private cooperation in fighting against cybercrime and regulatory challenges regarding the emergence of cyberwarfare will be examined.

This course will be taught as a series of weekly lectures and bi-weekly seminars for student discussions and debates in internet governance topics.

Language of instruction: English
Face-to-face learning
Year unspecified | Spring 1
Seminar in computer science (TÖL606M)
A mandatory (required) course for the programme
2 ECTS, credits
Course Description

Students in computer science, software engineering and computational engineering attend weekly seminars where they present talks on their research projects or other related topics of interest.

Language of instruction: Icelandic
Face-to-face learning
Prerequisites
Not taught this semester
Year unspecified | Spring 1
Seminar for MS-Students (TÖL204F)
A mandatory (required) course for the programme
2 ECTS, credits
Course Description

Postgraduate students in computer science, software engineering and computational engineering attend weekly seminars where the present talks on their research projects or other related topics of interest.

Language of instruction: Icelandic
Face-to-face learning
Year unspecified | Spring 1
Final project (TÖL431L)
A mandatory (required) course for the programme
0 ECTS, credits
Course Description
  • The topic of the Master's thesis must be chosen under the guidance of the supervisor and the Faculty Coordinator of the student. The thesis represents 30 or 60 credits. All Master's student have been assigned to a Faculty Coordinator from the beginning of their studies, who advises the student regarding the organization of the program. If a student does not have a supervisor for the final project, he / she must turn to the Faculty Coordinator for assistance.
  • The choice of topic is primarily the responsibility of the student in collaboration with his or her project supervisor. The topic of the project should fall within the student's area of study, i.e. course of study and chosen specialisation.
  • The master’s student writes a thesis according to the School’s template and defends it in a master’s defense.
  • Final project exam is divided into two parts: Oral examination and open lecture
  • Present at the oral exam is the student, supervisor, examiner and members of the Master's committee. The student presents a brief introduction on his / her project. It is important that the objectives and research question(s) are clearly stated, and that main findings and lessons to be drawn from the project are discussed.
  • The student delivers a thesis and a project poster.
  • According to the rules of the Master's program, all students who intend to graduate from the School of Engineering and Natural Sciences need to give a public lecture on their final project.
  • All students graduating from the University of Iceland shall submit an electronic copy of their final Master's thesis to Skemman.is. Skemman is the digital repository for all Icelandic universities and is maintained by the National and University Library.
  • According to regulations of University of Iceland all MS thesis should have open access after they have been submitted to Skemman.

Learning Outcomes:

Upon completion of an MS thesis, the student should be able to:

  • Formulate engineering design project  / research questions
  • Use an appropriate theoretical framework to shed light on his / her topic
  • Analyze and solve engineering tasks in a specialized field.
  • Perform a literature search and a thorough review of the literature.
  • Demonstrate initiative and independent creative thinking.
  • Use economic methodology to answer a specific research question
  • Competently discuss the current knowledge within the field and contribute to it with own research
  • Work with results, analyze uncertainties and limitations and interpret results.
  • Assess the scope of a research project and plan the work accordingly
  • Effectively display results and provide logical reasoning and relate results to the state of knowledge.
Language of instruction: Icelandic/English
Self-study
Part of the total project/thesis credits
Year unspecified | Spring 1
Algorithms in the real world (TÖL608M)
Free elective course within the programme
6 ECTS, credits
Course Description

The course will cover the design and analysis of algorithms, with emphasis on algorithms for large datasets and real world applications.

The algorithms covered will be drawn from various subfields, e.g. data and text compression, error correcting codes, large scale text search and search engines, parallel programming, GPU programming, streaming algorithms, probabilistic algorithms, nearest neighbor search in high dimensional datasets.

Language of instruction: Icelandic
Year unspecified | Year unspecified
Applied Cryptography (TÖL213M)
Free elective course within the programme
6 ECTS, credits
Course Description

In this course, students will take a practical approach to understanding the building and breaking of cryptographic implementations. The first half of this module will involve programming tasks while the second half will involve two mini projects. 

Starting from simplistic approaches used historically, such as the Caeser cipher, to modern day protocols used to secure telecommunications ubiquitously, such as AES and TLS. Students will also consider the role of cryptography in society more broadly by researching how contentious technologies such as end-to-end encryption and Tor impact justice and privacy, and distributed ledgers can enable the decentralisation of key societal systems. Finally, the course will conclude with a mini project demonstrating a practical attack against a cryptographic implementation using ethical hacking approaches e.g. WiFi cracking, password bruteforcing or man-in-the-middle attack of an encrypted connection to sniff traffic. 

The course will encompass the following stages: 

1) Building cryptographic primitives in a programming language of choice. 

2) Application engineering best practices. 

3) A research project in cryptography and society. 

4) A practical project in ethical hacking approaches to demonstrating weaknesses in cryptography implementations. 

Language of instruction: English
Face-to-face learning
Prerequisites
Year unspecified | Year unspecified
Secure Software Engineering (HBV506M)
Free elective course within the programme
6 ECTS, credits
Course Description

Secure software engineering involves identifying and mitigating vulnerabilities to reduce threats to an application. In this module, students will gain an understanding of secure engineering practices and the means to apply them throughout the complete software development life cycle.

Working in teams, students will design, develop, and maintain a web application for a customer following secure software engineering principles. Students will illustrate their understanding and practical competency of white box and black box security assessment through testing their own and other team’s applications for vulnerabilities against the OWASP top 10 most critical security risks to web applications.

It is therefore assumed the students have knowledge in web application development using JavaScript.

Language of instruction: English
Face-to-face learning
Prerequisites
Year unspecified | Whole year courses
Mentor in Sprettur (GKY001M)
Free elective course within the programme
5 ECTS, credits
Course Description

In the course, the student's task consists in being a mentor for participants that are upper secondary school students and university students in the project "Sprettur". Mentors' main role is to support and encourage participants in their studies and social life. As well as creating a constructive relationship with the participants, being a positive role model, and participating in events organized in Sprettur. The mentor role centers around building relationships and spending meaningful time together with the commitment to support participants. 

Sprettur is a project that supports students with an immigrant or refugee background who come from families with little or no university education. The students in this course are mentors of the participants and are paired together based on a common field of interest. Each mentor is responsible for supporting two participants. Mentors plan activities with participants and spend three hours a month (from August to May) with Sprettur’s participants, three hours a month in a study group and attend five seminars that are spread over the school year. Students submit journal entries on Canvas in November and March. Diary entries are based on reading material and students' reflections on the mentorship. Compulsory attendance in events, study groups, and seminars. The course is taught in Icelandic and English. 

Students must apply for a seat in the course. Applicants go through an interview process and 15-30 students are selected to participate. 

See the digital application form. 

More information about Sprettur can be found here: www.hi.is/sprettur  

Language of instruction: Icelandic/English
Face-to-face learning
The course is taught if the specified conditions are met
Prerequisites
Attendance required in class
Year unspecified | Fall
The structure of Icelandic and language technology (MLT301F)
A mandatory (required) course for the programme
10 ECTS, credits
Course Description

This course is intended for language technology students who do not have linguistic background. The purpose of the course is to give an overview of the structure of Icelandic, with a special consideration to features which can be problematic for natural language processing. The main topics that will be covered are the sound system of Icelandic and phonetic transcription (IPA and SAMPA); the inflectional and derivational morphology of Icelandic with a special consideration to Part-of-Speech tagging and tagsets; and the syntactic structure of Icelandic with emphasis on both phrase structure and dependency parsing.

Language of instruction: Icelandic
Face-to-face learning
Not taught this semester
Year unspecified | Fall
Treebanks (MLT302F)
A mandatory (required) course for the programme
10 ECTS, credits
Course Description

This course introduces syntactically annotated corpora, including the Icelandic treebank, IcePaHC. Topics to be covered include different types of treebanks, the development of new treebanks and the use of treebanks in language technology and theoretical syntax. Quantitative methods in syntax will be introduced in the context of historical syntax, synchronic variation and theories about the relationship between language acquisition, linguistic competence and linguistic change. Students will furthermore get training in the use of software which is designed for developing treebanks, querying treebanks and processing results and they will carry out experiments in machine annotation of the syntactic properties of a text. Both students of language technology and linguistics are encouraged to enroll.

Language of instruction: Icelandic
Face-to-face learning
Not taught this semester
Year unspecified | Fall
Computational Intelligence (IÐN102M)
Free elective course within the programme
6 ECTS, credits
Course Description

Basic aspects of computational intelligence, which is the study of algorithms that improve automatically through experience.

Language of instruction: Icelandic
Face-to-face learning
The course is taught if the specified conditions are met
Year unspecified | Fall
Machine Learning (REI505M)
Free elective course within the programme
6 ECTS, credits
Course Description

An overview of some of the main concepts, techniques and algorithms in machine learning. Supervised learning and unsupervised learning. Data preprocessing and data visualization. Model evaluation and model selection. Linear regression, nearest neighbors, support vector machines, decision trees and ensemble methods. Deep learning. Cluster analysis and the k-means algorithm. The students implement simple algorithms in Python and learn how to use specialized software packages. At the end of the course the students work on a practical machine learning project.

Language of instruction: English
Face-to-face learning
Year unspecified | Fall
Project in language technology (TÖL019F)
Free elective course within the programme
8 ECTS, credits
Course Description

Students work on a selected project in language technology with a supervisor.

Language of instruction: Icelandic
Self-study
Year unspecified | Fall
Introduction to Information Security (TÖL029M)
Free elective course within the programme
6 ECTS, credits
Course Description

Þetta námskeið byggir grunn að skilningi á lykilatriðum sem tengjast verndun upplýsinga, ákvörðun á verndarstigi og viðbrögð við öryggisatvikum, og hönnun á samræmdu raunhæfu upplýsingaöryggiskerfi, með viðeigandi innbrotsskynjun og tilkynningum.  Tilgangur námskeiðsins er að veita nemandanum yfirsýn yfir svið upplýsingaöryggis og upplýsingatrygginga.  Nemendur munu sjá ýmsar gerðir öryggisaðgerða, aðferðafræða og verklags.  Umfjöllunin mun taka fyrir skoðun og vernd upplýsingaeigna, uppgötvun og viðbrögð við ógnum við upplýsingaeignir, verklagsreglur fyrir og eftir öryggisatvik, tæknileg og stjórnunarleg viðbrögð og yfirlit yfir skipulagningu upplýsingaöryggis og starfsmannahald.  Meðal efnis eru áhættumat, auðkenning, veföryggi, öryggi forrita, persónuvernd og gagnavernd, kynning á dulmálskóðun, öryggisarkitektúr, eldveggir og önnur tæki og netskipulag.

Language of instruction: English
Face-to-face learning
Year unspecified | Fall
Human Computer Interaction (TÖL502M)
Free elective course within the programme
6 ECTS, credits
Course Description

Usually taught every second year.

The objective of the course is to allow students to examine more closely than is done in the introductory course Graphical User Interface Programming  HBV201G specific factors of HCI. The factors covered are user interface design using prototyping, programming of smart devices and users‘ acceptability of the software. There will be emphasis on different techniques and tools to develop prototypes. Also, on the design of user interfaces and native programming for smart phones or pads. The development process will be aimed at ensuring accessibility and acceptability of users. Students work on small projects individually, or on larger projects in groups. 

Language of instruction: Icelandic
Face-to-face learning
The course is taught if the specified conditions are met
Prerequisites
Year unspecified | Fall
Final project (TÖL431L)
A mandatory (required) course for the programme
0 ECTS, credits
Course Description
  • The topic of the Master's thesis must be chosen under the guidance of the supervisor and the Faculty Coordinator of the student. The thesis represents 30 or 60 credits. All Master's student have been assigned to a Faculty Coordinator from the beginning of their studies, who advises the student regarding the organization of the program. If a student does not have a supervisor for the final project, he / she must turn to the Faculty Coordinator for assistance.
  • The choice of topic is primarily the responsibility of the student in collaboration with his or her project supervisor. The topic of the project should fall within the student's area of study, i.e. course of study and chosen specialisation.
  • The master’s student writes a thesis according to the School’s template and defends it in a master’s defense.
  • Final project exam is divided into two parts: Oral examination and open lecture
  • Present at the oral exam is the student, supervisor, examiner and members of the Master's committee. The student presents a brief introduction on his / her project. It is important that the objectives and research question(s) are clearly stated, and that main findings and lessons to be drawn from the project are discussed.
  • The student delivers a thesis and a project poster.
  • According to the rules of the Master's program, all students who intend to graduate from the School of Engineering and Natural Sciences need to give a public lecture on their final project.
  • All students graduating from the University of Iceland shall submit an electronic copy of their final Master's thesis to Skemman.is. Skemman is the digital repository for all Icelandic universities and is maintained by the National and University Library.
  • According to regulations of University of Iceland all MS thesis should have open access after they have been submitted to Skemman.

Learning Outcomes:

Upon completion of an MS thesis, the student should be able to:

  • Formulate engineering design project  / research questions
  • Use an appropriate theoretical framework to shed light on his / her topic
  • Analyze and solve engineering tasks in a specialized field.
  • Perform a literature search and a thorough review of the literature.
  • Demonstrate initiative and independent creative thinking.
  • Use economic methodology to answer a specific research question
  • Competently discuss the current knowledge within the field and contribute to it with own research
  • Work with results, analyze uncertainties and limitations and interpret results.
  • Assess the scope of a research project and plan the work accordingly
  • Effectively display results and provide logical reasoning and relate results to the state of knowledge.
Language of instruction: Icelandic/English
Self-study
Part of the total project/thesis credits
Year unspecified | Fall
Usable Privacy and Security (HBV507M)
Free elective course within the programme
6 ECTS, credits
Course Description

Survey of the field of usable security and privacy with an emphasis on emerging technologies. Topics include authentication, location privacy, social network privacy, behavioral advertising, - health privacy, anonymity, cryptocurrency, technical writing and ethical conduct of usable privacy and security research.

Language of instruction: English
Face-to-face learning
Year unspecified | Fall
Cloud Computing and Big Data (REI504M)
Free elective course within the programme
6 ECTS, credits
Course Description

Overview of high performance computing (HPC) and “Big Data”, HPC environments with computing, network and storage resources, overview of parallel programming. Storage infrastructures and services for Big Data, Big Data analytics, the map-reduce paradigm, structured and unstructured data. Practical exercises: (A) Students will use the Amazon Web Services (AWS) cloud or equivalent to set up a multi-computer web service and an associated multi-computer testing application. (B) Students will get hands on experience of processing large data sets using map-reduce techniques with AWS.

Language of instruction: English
Face-to-face learning
Year unspecified | Fall
Programming Projects on Internet of Things (TÖL103M)
Free elective course within the programme
6 ECTS, credits
Course Description

This course offers a hands-on introduction to programming small devices (microcontrollers, single-board computers) used in the context of Internet of Things, sensor networking, and home automation.

Such devices are often equipped with a large number of I/O pins, some RAM and flash memory, and wireless communication capabilities (e.g. WiFi and/or Bluetooth), making them attractive for tasks involving data acquisition,
processing, and wireless communication.

The course consists of bi-weekly programming tasks dealing with serial communication, data acquisition and analysis, programming of real-time O/S (RTOS), wireless communication and TCP/IP client-servers paradigm.

The biweekly assignments lead to a final project.

Language of instruction: English
Face-to-face learning
Year unspecified | Fall
Thesis skills: project management, writing skills and presentation (VON001F)
Free elective course within the programme
4 ECTS, credits
Course Description

Introduction to the scientific method. Ethics of science and within the university community.
The role of the student, advisors and external examiner. Effective and honest communications.
Conducting a literature review, using bibliographic databases and reference handling. Thesis structure, formulating research questions, writing and argumentation. How scientific writing differs from general purpose writing. Writing a MS study plan and proposal. Practical skills for presenting tables and figures, layout, fonts and colors. Presentation skills. Project management for a thesis, how to divide a large project into smaller tasks, setting a work plan and following a timeline. Life after graduate school and being employable.

Language of instruction: English
Face-to-face learning
Online learning
Year unspecified | Spring 1
The Linguistic System - Sounds and Words (ÍSL209G)
Free elective course within the programme
10 ECTS, credits
Course Description

An introductory course in Icelandic phonetics, phonology, and morphology. The basics of acoustic phonetics and Icelandic articulatory phonetics will be introduced, accompanied by training in phonetic transcription. The main concepts of phonology will be presented, followed by an overview of sound alternations in Icelandic and their conditions. Basic concepts in morphology will be presented and the main word formation processes in Icelandic and their productivity will be dealt with. Grammatical categories in Icelandic will be outlined, the inflection of the main parts of speech will be described, and an overview given of inflectional classes and variations.

Language of instruction: Icelandic
Face-to-face learning
Year unspecified | Spring 1
High Performance Computing (REI204M)
Free elective course within the programme
6 ECTS, credits
Course Description

Design of parallel computers and parallel programming models. Shared memory architecture. Message passing and distributed memory architecture. Parallel programming of computer clusters using MPI and multicore programming using OpenMP. Parallel algorithms for sorting, searching, linear algebra, and various graph problems.

Course topics will be very similar like HPC in Fall 2019:

http://www.morrisriedel.de/hpc-course-fall-2019

Positioning in the Field of High-Performance Computing (HPC)

  • Consists of techniques for programming & using large-scale HPC Systems
  • Approach: Get a broad understanding of what HPC is and what can be done
  • Goal: Train general HPC techniques and systems and selected details of domain-specific applications

Course Motivation

Parallel processing and distributed computing

  • Matured over the past three decades
  • Both emerged as a well-developed field in computer science
  • Still a lot of innovation, e.g. from hardware/software

‘Scientific computing‘ with Maple, Matlab, etc.

  • Performed on small (‘serial‘) computing machines like Desktop PCs or Laptops
  • An increasing number of cores enables ‘better scientific computing‘ today
  • Good for small & fewer complex applications, quickly reach memory limits

‘Advanced scientific computing‘

  • Used with computational simulations and large-scale machine & deep learning
  • Performed on large parallel computers; often scientific domain-specific approaches
  • Use orders of magnitude multi-core chips & large memory & specific many-core chips
  • Enables ‘simulations of reality‘ - often based on known physical laws and numerical methods

Language of instruction: English
Face-to-face learning
Year unspecified | Spring 1
The AI lifecycle (REI603M)
Free elective course within the programme
6 ECTS, credits
Course Description

In this course, we study the AI lifecycle, i.e. the productionisation of AI methods.
We explore the following parts of the lifecycle:
- Data collection and preparation
- Feature engineering
- Model training
- Model evaluation
- Model deployment
- Model serving
- Model monitoring
- Model maintenance
Three large projects will be handed out during the semester where students compete to solve AI problems.

Language of instruction: English
Face-to-face learning
Year unspecified | Spring 1
Project in language technology (TÖL019F)
Free elective course within the programme
8 ECTS, credits
Course Description

Students work on a selected project in language technology with a supervisor.

Language of instruction: Icelandic
Self-study
Not taught this semester
Year unspecified | Spring 1
Seminar on Machine Learning (TÖL028M)
Free elective course within the programme
2 ECTS, credits
Course Description

In this course, students familiarize themselves with a particular topic in artificial intelligence (e.g. computer vision, natural language processing, data processing, generative modeling or other topics) by studying relevant academic literature and preparing a talk on this topic for their classmates.

Students can choose from a selection of topics provided by the teacher, or propose a topic that they are interested in on their own.

Besides learning about the subject matter of the talks, the goal of the course is to practice presentation skills.

The course starts on June 8th and will finish on August 17th. 

Language of instruction: Icelandic
Face-to-face learning
Year unspecified | Spring 1
Reasoned Programming (TÖL212M)
Free elective course within the programme
6 ECTS, credits
Course Description

Fundamental concepts in program verification and reasoned programming are covered. Emphasis is placed on using reasoned programming to develop solid and proved versions of well-known algorithms, especially in the areas of searching, sorting, and binary search trees. Among algorithms covered are various versions of insertion sort, selection sort, quicksort, binary search, and searching in binary search trees. Emphasis will be placed on deepening the understanding of the algorithms as well as getting a good grip on program verification. Some exercises will use verification tools such as Dafny or OpenJML.

Language of instruction: Icelandic/English
Face-to-face learning
The course is taught if the specified conditions are met
Year unspecified | Spring 1
Seminar in computer science (TÖL606M)
A mandatory (required) course for the programme
2 ECTS, credits
Course Description

Students in computer science, software engineering and computational engineering attend weekly seminars where they present talks on their research projects or other related topics of interest.

Language of instruction: Icelandic
Face-to-face learning
Prerequisites
Not taught this semester
Year unspecified | Spring 1
Seminar for MS-Students (TÖL204F)
A mandatory (required) course for the programme
2 ECTS, credits
Course Description

Postgraduate students in computer science, software engineering and computational engineering attend weekly seminars where the present talks on their research projects or other related topics of interest.

Language of instruction: Icelandic
Face-to-face learning
Year unspecified | Spring 1
Final project (TÖL431L)
A mandatory (required) course for the programme
0 ECTS, credits
Course Description
  • The topic of the Master's thesis must be chosen under the guidance of the supervisor and the Faculty Coordinator of the student. The thesis represents 30 or 60 credits. All Master's student have been assigned to a Faculty Coordinator from the beginning of their studies, who advises the student regarding the organization of the program. If a student does not have a supervisor for the final project, he / she must turn to the Faculty Coordinator for assistance.
  • The choice of topic is primarily the responsibility of the student in collaboration with his or her project supervisor. The topic of the project should fall within the student's area of study, i.e. course of study and chosen specialisation.
  • The master’s student writes a thesis according to the School’s template and defends it in a master’s defense.
  • Final project exam is divided into two parts: Oral examination and open lecture
  • Present at the oral exam is the student, supervisor, examiner and members of the Master's committee. The student presents a brief introduction on his / her project. It is important that the objectives and research question(s) are clearly stated, and that main findings and lessons to be drawn from the project are discussed.
  • The student delivers a thesis and a project poster.
  • According to the rules of the Master's program, all students who intend to graduate from the School of Engineering and Natural Sciences need to give a public lecture on their final project.
  • All students graduating from the University of Iceland shall submit an electronic copy of their final Master's thesis to Skemman.is. Skemman is the digital repository for all Icelandic universities and is maintained by the National and University Library.
  • According to regulations of University of Iceland all MS thesis should have open access after they have been submitted to Skemman.

Learning Outcomes:

Upon completion of an MS thesis, the student should be able to:

  • Formulate engineering design project  / research questions
  • Use an appropriate theoretical framework to shed light on his / her topic
  • Analyze and solve engineering tasks in a specialized field.
  • Perform a literature search and a thorough review of the literature.
  • Demonstrate initiative and independent creative thinking.
  • Use economic methodology to answer a specific research question
  • Competently discuss the current knowledge within the field and contribute to it with own research
  • Work with results, analyze uncertainties and limitations and interpret results.
  • Assess the scope of a research project and plan the work accordingly
  • Effectively display results and provide logical reasoning and relate results to the state of knowledge.
Language of instruction: Icelandic/English
Self-study
Part of the total project/thesis credits
Year unspecified | Spring 1
Algorithms in the real world (TÖL608M)
Free elective course within the programme
6 ECTS, credits
Course Description

The course will cover the design and analysis of algorithms, with emphasis on algorithms for large datasets and real world applications.

The algorithms covered will be drawn from various subfields, e.g. data and text compression, error correcting codes, large scale text search and search engines, parallel programming, GPU programming, streaming algorithms, probabilistic algorithms, nearest neighbor search in high dimensional datasets.

Language of instruction: Icelandic
Year unspecified
  • Whole year courses
  • GKY001M
    Mentor in Sprettur
    Elective course
    5
    Free elective course within the programme
    5 ECTS, credits
    Course Description

    In the course, the student's task consists in being a mentor for participants that are upper secondary school students and university students in the project "Sprettur". Mentors' main role is to support and encourage participants in their studies and social life. As well as creating a constructive relationship with the participants, being a positive role model, and participating in events organized in Sprettur. The mentor role centers around building relationships and spending meaningful time together with the commitment to support participants. 

    Sprettur is a project that supports students with an immigrant or refugee background who come from families with little or no university education. The students in this course are mentors of the participants and are paired together based on a common field of interest. Each mentor is responsible for supporting two participants. Mentors plan activities with participants and spend three hours a month (from August to May) with Sprettur’s participants, three hours a month in a study group and attend five seminars that are spread over the school year. Students submit journal entries on Canvas in November and March. Diary entries are based on reading material and students' reflections on the mentorship. Compulsory attendance in events, study groups, and seminars. The course is taught in Icelandic and English. 

    Students must apply for a seat in the course. Applicants go through an interview process and 15-30 students are selected to participate. 

    See the digital application form. 

    More information about Sprettur can be found here: www.hi.is/sprettur  

    Face-to-face learning
    The course is taught if the specified conditions are met
    Prerequisites
    Attendance required in class
  • Fall
  • TÖL029M
    Introduction to Information Security
    Mandatory (required) course
    6
    A mandatory (required) course for the programme
    6 ECTS, credits
    Course Description

    Þetta námskeið byggir grunn að skilningi á lykilatriðum sem tengjast verndun upplýsinga, ákvörðun á verndarstigi og viðbrögð við öryggisatvikum, og hönnun á samræmdu raunhæfu upplýsingaöryggiskerfi, með viðeigandi innbrotsskynjun og tilkynningum.  Tilgangur námskeiðsins er að veita nemandanum yfirsýn yfir svið upplýsingaöryggis og upplýsingatrygginga.  Nemendur munu sjá ýmsar gerðir öryggisaðgerða, aðferðafræða og verklags.  Umfjöllunin mun taka fyrir skoðun og vernd upplýsingaeigna, uppgötvun og viðbrögð við ógnum við upplýsingaeignir, verklagsreglur fyrir og eftir öryggisatvik, tæknileg og stjórnunarleg viðbrögð og yfirlit yfir skipulagningu upplýsingaöryggis og starfsmannahald.  Meðal efnis eru áhættumat, auðkenning, veföryggi, öryggi forrita, persónuvernd og gagnavernd, kynning á dulmálskóðun, öryggisarkitektúr, eldveggir og önnur tæki og netskipulag.

    Face-to-face learning
    Prerequisites
  • TÖL104M
    Network Measurements and Analysis
    Mandatory (required) course
    6
    A mandatory (required) course for the programme
    6 ECTS, credits
    Course Description

    This course provides an introduction to carrying out different measurements in Internet, an overview on related software tools, and advanced data analysis methods. We discuss, e.g., both passive and active packet, flow and routing measurements, as well as, some selected techniques related to cyber security operations (e.g. detection of Botnets and anomalies). Course includes also a sufficient coverage of related ethical and legal questions. In course exercises, students process real measurement data using statistical and mathematical software packages (e.g., NumPy or R), and carry out various network measurements. The measurement data are analysed and reported.

    Course composition:

    1. Lectures (first part)
    2. Laboratory work and self-study (second part; measurements)
    3. Final presentations (optional)

    Face-to-face learning
    Prerequisites
  • TÖL503M
    Distributed Systems
    Mandatory (required) course
    6
    A mandatory (required) course for the programme
    6 ECTS, credits
    Course Description

    Usually taught every second year.

    This course covers concepts of distributed systems and their application. Besides foundations on characteristics and models of distributed systems, networking and security, this includes network-based low-level interprocess communication, high-level remote procedure calls, the distributed object model and remote method invocation, services relevant in distributed systems (such as name services or distributed file systems), selected topics of distributed algorithms and their implementation (such as coordination, agreement,  time, replication). Furthermore, special types of distributed systems may be covered (such as peer-to-peer systems, Cloud and Grid computing).  Current technologies (such as Java RMI, Web Services, gRPC) are used as case study and as platform for developing distributed applications using high-level programming languages (such as Java).

    Note: while this is an "M" course, it is rather on MSc. level. BSc. students who take this course need to be advanced in their BSc. studies. (E.g. we will implement middleware in Java, so you should have programming experience well beyond "TÖL101G Computer Science 1". As a middleware adds functionality on top of an Operating System, you should have also passed TÖL401G Operating Systems.)

    Face-to-face learning
    The course is taught if the specified conditions are met
    Prerequisites
  • Not taught this semester
    TÖL113F
    Quantum Cryptography
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    In this course, students learn about quantum computing and, in particular, quantum cryptography. Quantum computing will cause a revolution in cryptography as many cryptosystems based on computational complexity will become obsolete. They will replaced by so-called quantum secure crypto systems.

    Face-to-face learning
    Prerequisites
  • IÐN113F
    Time Series Analysis
    Elective course
    7,5
    Free elective course within the programme
    7,5 ECTS, credits
    Course Description

    ARMAX and other similar time series models. Non-stationary time series. Correlation and spectral analysis. Parameter estimation, parametric and non-parametric approaches, Least Squares and Maximum Likelihood. Model validation methods. Models with time dependent parameters. Numerical methods for minimization. Outlier detection and interpolation. Introduction to nonlinear time series models. Discrete state space models. Discrete state space models. Extensive use of MATLAB, especially the System Identification Toolbox.

    Distance learning
    Self-study
    Prerequisites
  • REI503M
    Performance analysis of computer systems
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    Usually taught every second year.

    This course provides students with an introduction to modeling and performance evaluation of computer and communication systems. Large-scale distributed computer systems process arriving requests, e.g., web page queries, in parallel in order to optimize performance metrics, such as response time and user satisfaction. Other important performance metrics include throughput and service-level agreement in general. This course covers basic mathematical tools needed to evaluate such dynamic systems and to understand the strengths and weaknesses, for example in different designs, scheduling disciplines, and operating policies. The approach is based on operations research methods, in particular, queueing theory and Markov processes (previous knowledge of these methods is not required).

    Attendance is strongly recommended.

    Face-to-face learning
    The course is taught if the specified conditions are met
    Prerequisites
  • REI505M
    Machine Learning
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    An overview of some of the main concepts, techniques and algorithms in machine learning. Supervised learning and unsupervised learning. Data preprocessing and data visualization. Model evaluation and model selection. Linear regression, nearest neighbors, support vector machines, decision trees and ensemble methods. Deep learning. Cluster analysis and the k-means algorithm. The students implement simple algorithms in Python and learn how to use specialized software packages. At the end of the course the students work on a practical machine learning project.

    Face-to-face learning
    Prerequisites
  • TÖL022F
    Internship in Cybersecurity
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    The aim of the internship is to train students to work under the guidance of specialists at companies and institutions. The projects must be related to one of the subjects taught in the Cyber Security specialization and they must test the knowledge and skills that the student has acquired there.

    At the end of the working hours, the student must return to the supervisor:

    • A report on the student's main project and its connection to his / her studies in cyber security. The report shall also state what study goals the student set at the beginning of the internship and how he / she achieved them in the projects.
    • Diary kept by the student during working hours. The diary shall include a weekly overview stating what the tasks of the week were and how much time was spent on individual tasks.

    Vocational training is not considered completed until the supervisor of the company / institution has submitted confirmation of the student's involvement in the project work and the supervisor of vocational training at the department of computer science has confirmed the completion of the project.

    Note 1: Students cannot register themselves for this course, but they are registered for the course when they have secured an internship position at a company or institution.

    All internships will be advertised separately on www.tengslatorg.hi.is  at the beginning of each semester and students will apply specifically for internships. An application together with a curriculum vitae and an introductory letter, in which students state why they are interested in getting an internship at the company in question, must be sent to von-starfsthjalfun@hi.is .

    Note 2: This course can only be taken with 30 ECTS final project.

    Note 3: This course is only available for students of cyber security specialization.

    Face-to-face learning
    Prerequisites
  • Not taught this semester
    TÖL106M
    Security Engineering for Critical Information Infrastructures
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    The overarching objective of this experimental course is to provide a practical technical and policy introduction for the foundations of the building and operating of dependable, complex distributed national information infrastructures.

    The course teaches university students how to model, design, implement, operate, and defend these national information infrastructures (NII) to withstand errors and attacks.

    We will introduce complementary engineering methodologies intended to assist NII policymakers, stewards, operators, and engineering professionals to implement protective initiatives to design and improve the survivability of NII systems, critical functions, and processes.

    The course will include cyber threat intelligence tradecraft and the experimental use of both open-source intelligence and an artificial intelligence tool i.e. ChatGPT

    Face-to-face learning
    Prerequisites
  • Not taught this semester
    TÖL107M
    Cyber Conflicts, Cyber Security Threats and Engineering, National Information Infrastructures (NII)
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    This interdisciplinary course examines underlying and emerging information technologies, cyber security engineering and policies associated with surveillance, cyber warfare, and cyber threats.

    The technological concepts reviewed in this course include but are not limited to National Information Infrastructures, the Internet, Dark Web, networks and sensors, and trends associated with our emerging Internet of Things.

    The course will review some salient cyber conflict history, international and national policies concerning cyber conflict and security engineering - secure by design, military/civilian doctrine, and some lessons learned from the use of cyber operations in past, present and future conflicts.

    Face-to-face learning
    Prerequisites
  • TÖL506M
    Introduction to deep neural networks
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    In this course we cover deep neural networks and methods related to them. We study networks and methods for image, sound and text analysis. The focus will be on applications and students will present either a project or a recent paper in this field.

    Face-to-face learning
    Prerequisites
  • TÖL431L
    Final project
    Mandatory (required) course
    0
    A mandatory (required) course for the programme
    0 ECTS, credits
    Course Description
    • The topic of the Master's thesis must be chosen under the guidance of the supervisor and the Faculty Coordinator of the student. The thesis represents 30 or 60 credits. All Master's student have been assigned to a Faculty Coordinator from the beginning of their studies, who advises the student regarding the organization of the program. If a student does not have a supervisor for the final project, he / she must turn to the Faculty Coordinator for assistance.
    • The choice of topic is primarily the responsibility of the student in collaboration with his or her project supervisor. The topic of the project should fall within the student's area of study, i.e. course of study and chosen specialisation.
    • The master’s student writes a thesis according to the School’s template and defends it in a master’s defense.
    • Final project exam is divided into two parts: Oral examination and open lecture
    • Present at the oral exam is the student, supervisor, examiner and members of the Master's committee. The student presents a brief introduction on his / her project. It is important that the objectives and research question(s) are clearly stated, and that main findings and lessons to be drawn from the project are discussed.
    • The student delivers a thesis and a project poster.
    • According to the rules of the Master's program, all students who intend to graduate from the School of Engineering and Natural Sciences need to give a public lecture on their final project.
    • All students graduating from the University of Iceland shall submit an electronic copy of their final Master's thesis to Skemman.is. Skemman is the digital repository for all Icelandic universities and is maintained by the National and University Library.
    • According to regulations of University of Iceland all MS thesis should have open access after they have been submitted to Skemman.

    Learning Outcomes:

    Upon completion of an MS thesis, the student should be able to:

    • Formulate engineering design project  / research questions
    • Use an appropriate theoretical framework to shed light on his / her topic
    • Analyze and solve engineering tasks in a specialized field.
    • Perform a literature search and a thorough review of the literature.
    • Demonstrate initiative and independent creative thinking.
    • Use economic methodology to answer a specific research question
    • Competently discuss the current knowledge within the field and contribute to it with own research
    • Work with results, analyze uncertainties and limitations and interpret results.
    • Assess the scope of a research project and plan the work accordingly
    • Effectively display results and provide logical reasoning and relate results to the state of knowledge.
    Self-study
    Prerequisites
    Part of the total project/thesis credits
  • HBV507M
    Usable Privacy and Security
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    Survey of the field of usable security and privacy with an emphasis on emerging technologies. Topics include authentication, location privacy, social network privacy, behavioral advertising, - health privacy, anonymity, cryptocurrency, technical writing and ethical conduct of usable privacy and security research.

    Face-to-face learning
    Prerequisites
  • REI504M
    Cloud Computing and Big Data
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    Overview of high performance computing (HPC) and “Big Data”, HPC environments with computing, network and storage resources, overview of parallel programming. Storage infrastructures and services for Big Data, Big Data analytics, the map-reduce paradigm, structured and unstructured data. Practical exercises: (A) Students will use the Amazon Web Services (AWS) cloud or equivalent to set up a multi-computer web service and an associated multi-computer testing application. (B) Students will get hands on experience of processing large data sets using map-reduce techniques with AWS.

    Face-to-face learning
    Prerequisites
  • TÖL103M
    Programming Projects on Internet of Things
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    This course offers a hands-on introduction to programming small devices (microcontrollers, single-board computers) used in the context of Internet of Things, sensor networking, and home automation.

    Such devices are often equipped with a large number of I/O pins, some RAM and flash memory, and wireless communication capabilities (e.g. WiFi and/or Bluetooth), making them attractive for tasks involving data acquisition,
    processing, and wireless communication.

    The course consists of bi-weekly programming tasks dealing with serial communication, data acquisition and analysis, programming of real-time O/S (RTOS), wireless communication and TCP/IP client-servers paradigm.

    The biweekly assignments lead to a final project.

    Face-to-face learning
    Prerequisites
  • VON001F
    Thesis skills: project management, writing skills and presentation
    Elective course
    4
    Free elective course within the programme
    4 ECTS, credits
    Course Description

    Introduction to the scientific method. Ethics of science and within the university community.
    The role of the student, advisors and external examiner. Effective and honest communications.
    Conducting a literature review, using bibliographic databases and reference handling. Thesis structure, formulating research questions, writing and argumentation. How scientific writing differs from general purpose writing. Writing a MS study plan and proposal. Practical skills for presenting tables and figures, layout, fonts and colors. Presentation skills. Project management for a thesis, how to divide a large project into smaller tasks, setting a work plan and following a timeline. Life after graduate school and being employable.

    Face-to-face learning
    Online learning
    Prerequisites
  • Spring 2
  • TÖL605M
    Fundamentals of Ethical Hacking
    Mandatory (required) course
    6
    A mandatory (required) course for the programme
    6 ECTS, credits
    Course Description

    Ethical hacking is the discipline of attacker perspective security analysis. Using tools and techniques used by malicious hackers, ethical hackers gain unique and unique and valuable insights used for improving system security.

    This course will introduce students to the fundamentals of ethical hacking tools and techniques. Students will begin by configuring a secure lab using virtualisation tools. Then every two weeks a new stage of the ethical hacking methodology and some related tools will be introduced. The students will submit weekly lab reports evidencing their theoretical and practical understanding of the methodology and tools. 

    For the best experience, students should own a PC able to run virtualisation software with an x86 image. Mac users with Apple CPU or those with PCs whose CPUs lack virtualisation support or who have limited RAM might have issues running a stable lab on their machine. Students who lack suitable hardware can use VMs on the department's cybersecurity server infrastructure.

    Face-to-face learning
    Prerequisites
  • TÖL212F
    Governance of the Internet
    Mandatory (required) course
    6
    A mandatory (required) course for the programme
    6 ECTS, credits
    Course Description

    This course aims to provide a comprehensive overview of Internet governance and challenges in regulating cyberspace. Topics include the evolution of formalized internet governance, and the role of national governments, supranational organizations and private corporations in shaping the international regulatory framework for Internet governance.

    The course will also explore the balance of privacy versus security, including the role of regulations such as GDPR and NIS2 to establish minimum requirements of “privacy” or “security” by design. The emergence of a “cyber-public” space has created new challenges for enforcing laws ranging from copyright to illegal content. Furthermore, the question of public/private cooperation in fighting against cybercrime and regulatory challenges regarding the emergence of cyberwarfare will be examined.

    This course will be taught as a series of weekly lectures and bi-weekly seminars for student discussions and debates in internet governance topics.

    Face-to-face learning
    Prerequisites
  • Not taught this semester
    RAF617M
    Fundaments of the Internet
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    Modern day telecommunications are characterised by the fact that communicated data is carried on fixed telecommunications infrastructure on a majority of the path between tranmitter and receiver. Wireless infrastructure often conveys the signals at the end of the path. This yields both high speed and the comfort of wireless communications. It is of utmost importance for engineers working in telecoms to have a fundamental knowledge of fixed networks and the range of technologies deployed.

    In this course, the structure of fixed backbone and access networks will be described. Optical fibre and related technologies will be introduced, e.g. DWDM, SDH, Ethernet, ATM and MPLS-TP. Access network technologies on copper, coax and optical fibres will be treated, e.g. ADSL. VDSL, G.fast and  DOCSIS. Different FTTH (Fibre to the Home) technologies will be treated such as PON (Passive Optical Network), Active Ethernet and point-to-point Ethernet. 

    IP (Internet Protocol) has become a fundamental technology for modern fixed networks. IP native technologies will be described from the physical to the application layer. On the link layer, Ethernet will be in the focus as well as MPLS. Circuit and packet switching will be treated as well as circuit and packet orientation of networks. Sevices such as PSTN, VoIP, OTT and P2P will be treated. Backhauling of wireless networks such as mobile networks and Wi-Fi will also be treated.
    In introduction to network virtualisation and network function virtualisation (NFV) will be given as well as software defined networking (SDN). Legal and regulatory aspects will be introduced and aspects like network neutrality discfussed. Important players and stakeholders will be discussed, e.g. Google, Apple, Microsoft, Netflix and telecommunications service providers.
    Finally, local area networks will be discussed, home networking, smart homes, set-top-boxes, NAS, PLC, plastic optical fibres, MOCA and Wi-Fi introduced.

    The teaching form will be lectures and projects on IP communications will be worked. Students will write four papers on selected subjects and give presentations. 

    Face-to-face learning
    Prerequisites
  • HBV205M
    Software Testing
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    Usually taught every second year (typically in spring of odd years, but this is subject to change in 2024).

    This course covers testing of software. Besides basic foundations, this includes both dynamic testing where the software under test is executed and static approaches where software and other artefacts produced during software development are investigated without executing them. The focus of this course is, however, on dynamic testing. The different levels of testing (component test, integration test, system and acceptance test) and types of testing (functional, non-functional, structural and change-related) are covered as well as different test design techniques (black box test and white box test). Furthermore, test management and principles of test tools are discussed. In addition, selected advanced topics may be covered (for example, test languages, testing of object-oriented software, test process improvement, agile testing). The covered topics are a superset of the International Software Testing Qualifications Board's (ISTQB) certified tester foundation level syllabus.

    The first part of the course is based on flipped-classroom style weekly reading, videos and assignments. In the second part, students work independently on some project related to software testing.

    Note: while this is an "M" course, it is rather on MSc. level. BSc. students who take this course need to be very advanced in their BSc. studies, i.e. have experience in programming languages, software development and applying it in some software project, but should also be familiar with theoretical concepts from automata theory.

    Also, BSc. students should not take this course, if they know that they are going to continue with MSc. studies, because they might then experience a lack of suitable courses in their MSc. studies.

    Face-to-face learning
    The course is taught if the specified conditions are met
    Prerequisites
  • Not taught this semester
    LÖG283F
    Privacy and Data Protection Law
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    The right to protection of private life is a wide-reaching right that, inter alia, deals with questions of the beginning and end of life; legal personality, legal capacity and self-determination; the right to develop one's identity and personality; and the right to data protection.  These issues are mainly dealt with in the legal disciplines traditionally known as the law of persons and data protection law.  This course aims at giving students an overview over key issues in these fields of law.  A special emphasis will be placed on investigating how advances in knowledge and technolocy and changes in society have raised new legal questions, and on how the relevant domestic law must be understood in light of ethics, international law and European law.

    Face-to-face learning
    Prerequisites
    Course taught first half of the semester
  • RAF620M
    Introduction to machine learning and artificial intelligence
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    Pattern recognition is concerned with the development of methods for finding patterns in data and use them for example for classification. Pattern recognition is closely related to machine learning and statistical signal processing. Pattern recognition has extensive application areas, for example signal processing, control, computer vision, and medical imaging. The purpose of this course is to give the student in depth understanding and hands on experience with pattern recognition. The content of the courses is supervised learning e.g., regression and classification, unsupervised learning such as principal component analysis, and introduction to deep learning.

    Face-to-face learning
    Prerequisites
  • TÖL022F
    Internship in Cybersecurity
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    The aim of the internship is to train students to work under the guidance of specialists at companies and institutions. The projects must be related to one of the subjects taught in the Cyber Security specialization and they must test the knowledge and skills that the student has acquired there.

    At the end of the working hours, the student must return to the supervisor:

    • A report on the student's main project and its connection to his / her studies in cyber security. The report shall also state what study goals the student set at the beginning of the internship and how he / she achieved them in the projects.
    • Diary kept by the student during working hours. The diary shall include a weekly overview stating what the tasks of the week were and how much time was spent on individual tasks.

    Vocational training is not considered completed until the supervisor of the company / institution has submitted confirmation of the student's involvement in the project work and the supervisor of vocational training at the department of computer science has confirmed the completion of the project.

    Note 1: Students cannot register themselves for this course, but they are registered for the course when they have secured an internship position at a company or institution.

    All internships will be advertised separately on www.tengslatorg.hi.is  at the beginning of each semester and students will apply specifically for internships. An application together with a curriculum vitae and an introductory letter, in which students state why they are interested in getting an internship at the company in question, must be sent to von-starfsthjalfun@hi.is .

    Note 2: This course can only be taken with 30 ECTS final project.

    Note 3: This course is only available for students of cyber security specialization.

    Face-to-face learning
    Prerequisites
  • TÖL213M
    Applied Cryptography
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    In this course, students will take a practical approach to understanding the building and breaking of cryptographic implementations. The first half of this module will involve programming tasks while the second half will involve two mini projects. 

    Starting from simplistic approaches used historically, such as the Caeser cipher, to modern day protocols used to secure telecommunications ubiquitously, such as AES and TLS. Students will also consider the role of cryptography in society more broadly by researching how contentious technologies such as end-to-end encryption and Tor impact justice and privacy, and distributed ledgers can enable the decentralisation of key societal systems. Finally, the course will conclude with a mini project demonstrating a practical attack against a cryptographic implementation using ethical hacking approaches e.g. WiFi cracking, password bruteforcing or man-in-the-middle attack of an encrypted connection to sniff traffic. 

    The course will encompass the following stages: 

    1) Building cryptographic primitives in a programming language of choice. 

    2) Application engineering best practices. 

    3) A research project in cryptography and society. 

    4) A practical project in ethical hacking approaches to demonstrating weaknesses in cryptography implementations. 

    Face-to-face learning
    Prerequisites
  • TÖL606M
    Seminar in computer science
    Mandatory (required) course
    2
    A mandatory (required) course for the programme
    2 ECTS, credits
    Course Description

    Students in computer science, software engineering and computational engineering attend weekly seminars where they present talks on their research projects or other related topics of interest.

    Face-to-face learning
    Prerequisites
  • Not taught this semester
    TÖL204F
    Seminar for MS-Students
    Mandatory (required) course
    2
    A mandatory (required) course for the programme
    2 ECTS, credits
    Course Description

    Postgraduate students in computer science, software engineering and computational engineering attend weekly seminars where the present talks on their research projects or other related topics of interest.

    Face-to-face learning
    Prerequisites
  • TÖL431L
    Final project
    Mandatory (required) course
    0
    A mandatory (required) course for the programme
    0 ECTS, credits
    Course Description
    • The topic of the Master's thesis must be chosen under the guidance of the supervisor and the Faculty Coordinator of the student. The thesis represents 30 or 60 credits. All Master's student have been assigned to a Faculty Coordinator from the beginning of their studies, who advises the student regarding the organization of the program. If a student does not have a supervisor for the final project, he / she must turn to the Faculty Coordinator for assistance.
    • The choice of topic is primarily the responsibility of the student in collaboration with his or her project supervisor. The topic of the project should fall within the student's area of study, i.e. course of study and chosen specialisation.
    • The master’s student writes a thesis according to the School’s template and defends it in a master’s defense.
    • Final project exam is divided into two parts: Oral examination and open lecture
    • Present at the oral exam is the student, supervisor, examiner and members of the Master's committee. The student presents a brief introduction on his / her project. It is important that the objectives and research question(s) are clearly stated, and that main findings and lessons to be drawn from the project are discussed.
    • The student delivers a thesis and a project poster.
    • According to the rules of the Master's program, all students who intend to graduate from the School of Engineering and Natural Sciences need to give a public lecture on their final project.
    • All students graduating from the University of Iceland shall submit an electronic copy of their final Master's thesis to Skemman.is. Skemman is the digital repository for all Icelandic universities and is maintained by the National and University Library.
    • According to regulations of University of Iceland all MS thesis should have open access after they have been submitted to Skemman.

    Learning Outcomes:

    Upon completion of an MS thesis, the student should be able to:

    • Formulate engineering design project  / research questions
    • Use an appropriate theoretical framework to shed light on his / her topic
    • Analyze and solve engineering tasks in a specialized field.
    • Perform a literature search and a thorough review of the literature.
    • Demonstrate initiative and independent creative thinking.
    • Use economic methodology to answer a specific research question
    • Competently discuss the current knowledge within the field and contribute to it with own research
    • Work with results, analyze uncertainties and limitations and interpret results.
    • Assess the scope of a research project and plan the work accordingly
    • Effectively display results and provide logical reasoning and relate results to the state of knowledge.
    Self-study
    Prerequisites
    Part of the total project/thesis credits
  • TÖL608M
    Algorithms in the real world
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    The course will cover the design and analysis of algorithms, with emphasis on algorithms for large datasets and real world applications.

    The algorithms covered will be drawn from various subfields, e.g. data and text compression, error correcting codes, large scale text search and search engines, parallel programming, GPU programming, streaming algorithms, probabilistic algorithms, nearest neighbor search in high dimensional datasets.

    Prerequisites
  • Year unspecified
  • HBV506M
    Secure Software Engineering
    Mandatory (required) course
    6
    A mandatory (required) course for the programme
    6 ECTS, credits
    Course Description

    Secure software engineering involves identifying and mitigating vulnerabilities to reduce threats to an application. In this module, students will gain an understanding of secure engineering practices and the means to apply them throughout the complete software development life cycle.

    Working in teams, students will design, develop, and maintain a web application for a customer following secure software engineering principles. Students will illustrate their understanding and practical competency of white box and black box security assessment through testing their own and other team’s applications for vulnerabilities against the OWASP top 10 most critical security risks to web applications.

    It is therefore assumed the students have knowledge in web application development using JavaScript.

    Face-to-face learning
    Prerequisites
  • TÖL213M
    Applied Cryptography
    Mandatory (required) course
    6
    A mandatory (required) course for the programme
    6 ECTS, credits
    Course Description

    In this course, students will take a practical approach to understanding the building and breaking of cryptographic implementations. The first half of this module will involve programming tasks while the second half will involve two mini projects. 

    Starting from simplistic approaches used historically, such as the Caeser cipher, to modern day protocols used to secure telecommunications ubiquitously, such as AES and TLS. Students will also consider the role of cryptography in society more broadly by researching how contentious technologies such as end-to-end encryption and Tor impact justice and privacy, and distributed ledgers can enable the decentralisation of key societal systems. Finally, the course will conclude with a mini project demonstrating a practical attack against a cryptographic implementation using ethical hacking approaches e.g. WiFi cracking, password bruteforcing or man-in-the-middle attack of an encrypted connection to sniff traffic. 

    The course will encompass the following stages: 

    1) Building cryptographic primitives in a programming language of choice. 

    2) Application engineering best practices. 

    3) A research project in cryptography and society. 

    4) A practical project in ethical hacking approaches to demonstrating weaknesses in cryptography implementations. 

    Face-to-face learning
    Prerequisites
Year unspecified
  • Whole year courses
  • GKY001M
    Mentor in Sprettur hide
    Elective course
    5
    Free elective course within the programme
    5 ECTS, credits
    Course Description

    In the course, the student's task consists in being a mentor for participants that are upper secondary school students and university students in the project "Sprettur". Mentors' main role is to support and encourage participants in their studies and social life. As well as creating a constructive relationship with the participants, being a positive role model, and participating in events organized in Sprettur. The mentor role centers around building relationships and spending meaningful time together with the commitment to support participants. 

    Sprettur is a project that supports students with an immigrant or refugee background who come from families with little or no university education. The students in this course are mentors of the participants and are paired together based on a common field of interest. Each mentor is responsible for supporting two participants. Mentors plan activities with participants and spend three hours a month (from August to May) with Sprettur’s participants, three hours a month in a study group and attend five seminars that are spread over the school year. Students submit journal entries on Canvas in November and March. Diary entries are based on reading material and students' reflections on the mentorship. Compulsory attendance in events, study groups, and seminars. The course is taught in Icelandic and English. 

    Students must apply for a seat in the course. Applicants go through an interview process and 15-30 students are selected to participate. 

    See the digital application form. 

    More information about Sprettur can be found here: www.hi.is/sprettur  

    Face-to-face learning
    The course is taught if the specified conditions are met
    Prerequisites
    Attendance required in class
  • Fall
  • VÉL049F
    Selected Topics in Mechanical Engineering hide
    Elective course
    7,5
    Free elective course within the programme
    7,5 ECTS, credits
    Course Description

    Lectures on and study of selected topics in current research and recent development in the field of Mechanical engineering. Topics may vary.

    Students contact the teacher and the chair of department regarding registration for the course.

    Self-study
    Prerequisites
  • Not taught this semester
    TÖL113F
    Quantum Cryptography hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    In this course, students learn about quantum computing and, in particular, quantum cryptography. Quantum computing will cause a revolution in cryptography as many cryptosystems based on computational complexity will become obsolete. They will replaced by so-called quantum secure crypto systems.

    Face-to-face learning
    Prerequisites
  • Not taught this semester
    HBV103M
    Software Maintenance hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    Usually taught every second year (typically in fall of odd years, but this is subject to change in 2024).

    The first part of the course is based on flipped-classroom style weekly reading, videos and assignments on:

    • Evolution of Software and Lehman’s laws,
    • Maintenance processes,
    • Metrics useful for maintenance,
    • Software analysis,
    • Re-engineering,
    • Reverse engineering,
    • Code Smells & Refactoring,
    • Basics of (Regression-)Testing,
    • Design principles to support change & Design Patterns,
    • Tools for software maintenance (including advanced features of an IDE).

    In the second part of this course, these techniques will be applied in order to maintain a real legacy software written in Java.

    Note: while this is an "M" course, it is rather on MSc. level. BSc. students who take this course need to be advanced in their BSc. studies and you need solid Java programming experience: we will maintain a complex software and being able to understand how such a grown software works and to fix bugs is even more difficult to write such a software from scratch. Hence, you should have passed HBV501G Software Project 1, preferably even HBV601G Software Project 2. (It is impossible to maintain a software if you would not even be able to develop it.) Also, BSc. students should not take this course, if they know that they are going to continue with MSc. studies, because they might then experience a lack of suitable courses in their MSc. studies.

    Face-to-face learning
    The course is taught if the specified conditions are met
    Prerequisites
  • HBV505M
    Software Quality Management hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    The course is based on flipped-classroom style weekly reading, videos and assignments on software quality management-related aspects of the Software Development Life Cycle (SDLC) and by covering some parts of DevOps also Application Lifecycle Management (ALM). In parallel to theoretical concepts, the application of source code-centric tools relevant for quality management is trained by applying them to a codebase throughout the course using the ALM tool GitLab. The concepts and tools are independent from a particular software development process and cover:

    • Software Quality Foundations, Software Quality Models.
    • Configuration management (CM) and traceability:
      • Version management (e.g. Git),
      • Change management (e.g. issue tracker),
      • Build management (e.g. Maven),
      • Release management
    • Continuous integration (CI) (e.g. using GitLab pipelines).
    • Integrating testing into a CI pipeline (e.g. using JUnit and GitLab).
    • Reviews (e.g. tool-based code review)
    • Static analysis (e.g. SonarCloud)
    • Metrics for quality management (product and process metrics).
    • Quality standards:
      • Software Life Cycle Processes,
      • Software Process Improvement and maturity assessment (e.g. CMMI).
    • Using a Wiki to create a quality plan and other documentation.

    Students chose their own codebase (e.g. from the Software Project 1 or 2 course) to which they apply the concepts and tools tought in this course. While the teaching material and tools assumes Java as programming language, students are welcome to use a codebase in another programming language.

    Software quality in agile development processes is covered by student presentations at the end of the course.

    Note: while this is an "M" course, it is rather on MSc. level. BSc. students who take this course need to be advanced in their BSc. studies and you need Java programming experience. Hence, you should have passed HBV501G Software Project 1, preferably even HBV601G Software Project 2.
    Also, BSc. students should not take this course, if they know that they are going to continue with MSc. studies, because they might then experience a lack of suitable courses in their MSc. studies.

    Face-to-face learning
    The course is taught if the specified conditions are met
    Prerequisites
  • Not taught this semester
    IÐN101M
    Quality Management hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    Organization and management systems. The systems approach. Quality management, quality concepts. Historical development of quality management. Quality cost. Quality in manufacturing. x, R, p, c and cusum-chart. Statistical quality control. Tests of hypotheses. Acceptance sampling - OC curves. Inspection planning. Quality systems and quality assurance. Quality handbook and organizing for quality. ISO 9001. Total Quality Management, improvement step by step, motivations theories. Quality tools. Practical assignment: Designing a quality system for a company.

    Face-to-face learning
    Prerequisites
  • Not taught this semester
    IÐN102M
    Computational Intelligence hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    Basic aspects of computational intelligence, which is the study of algorithms that improve automatically through experience.

    Face-to-face learning
    The course is taught if the specified conditions are met
    Prerequisites
  • IÐN113F
    Time Series Analysis hide
    Elective course
    7,5
    Free elective course within the programme
    7,5 ECTS, credits
    Course Description

    ARMAX and other similar time series models. Non-stationary time series. Correlation and spectral analysis. Parameter estimation, parametric and non-parametric approaches, Least Squares and Maximum Likelihood. Model validation methods. Models with time dependent parameters. Numerical methods for minimization. Outlier detection and interpolation. Introduction to nonlinear time series models. Discrete state space models. Discrete state space models. Extensive use of MATLAB, especially the System Identification Toolbox.

    Distance learning
    Self-study
    Prerequisites
  • REI503M
    Performance analysis of computer systems hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    Usually taught every second year.

    This course provides students with an introduction to modeling and performance evaluation of computer and communication systems. Large-scale distributed computer systems process arriving requests, e.g., web page queries, in parallel in order to optimize performance metrics, such as response time and user satisfaction. Other important performance metrics include throughput and service-level agreement in general. This course covers basic mathematical tools needed to evaluate such dynamic systems and to understand the strengths and weaknesses, for example in different designs, scheduling disciplines, and operating policies. The approach is based on operations research methods, in particular, queueing theory and Markov processes (previous knowledge of these methods is not required).

    Attendance is strongly recommended.

    Face-to-face learning
    The course is taught if the specified conditions are met
    Prerequisites
  • REI505M
    Machine Learning hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    An overview of some of the main concepts, techniques and algorithms in machine learning. Supervised learning and unsupervised learning. Data preprocessing and data visualization. Model evaluation and model selection. Linear regression, nearest neighbors, support vector machines, decision trees and ensemble methods. Deep learning. Cluster analysis and the k-means algorithm. The students implement simple algorithms in Python and learn how to use specialized software packages. At the end of the course the students work on a practical machine learning project.

    Face-to-face learning
    Prerequisites
  • Not taught this semester
    REI506M
    Machine Learning for Earth Observation powered by Supercomputers hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    This course exposes the students to the physical principles underlying satellite observations of Earth by passive sensors, as well as parallel Deep Learning (DL) algorithms that scale on High Performance Computing (HPC) systems. 

    For the different theoretical concepts (represented by 4 modules), the course provides hands-on exercises. These exercises are part of a project in the context of Remote Sensing (RS) image classification that the students are asked to develop during the whole duration of the course.

    Face-to-face learning
    Prerequisites
  • STÆ312M
    Applied Linear Statistical Models hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    The course focuses on simple and multiple linear regression as well as analysis of variance (ANOVA), analysis of covariance (ANCOVA) and binomial regression. The course is a natural continuation of a typical introductory course in statistics taught in various departments of the university.

    We will discuss methods for estimating parameters in linear models, how to construct confidence intervals and test hypotheses for the parameters, which assumptions need to hold for applying the models and what to do when they are not met.

    Students will work on projects using the statistical software R.

     

    Face-to-face learning
    Prerequisites
  • TÖL029M
    Introduction to Information Security hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    Þetta námskeið byggir grunn að skilningi á lykilatriðum sem tengjast verndun upplýsinga, ákvörðun á verndarstigi og viðbrögð við öryggisatvikum, og hönnun á samræmdu raunhæfu upplýsingaöryggiskerfi, með viðeigandi innbrotsskynjun og tilkynningum.  Tilgangur námskeiðsins er að veita nemandanum yfirsýn yfir svið upplýsingaöryggis og upplýsingatrygginga.  Nemendur munu sjá ýmsar gerðir öryggisaðgerða, aðferðafræða og verklags.  Umfjöllunin mun taka fyrir skoðun og vernd upplýsingaeigna, uppgötvun og viðbrögð við ógnum við upplýsingaeignir, verklagsreglur fyrir og eftir öryggisatvik, tæknileg og stjórnunarleg viðbrögð og yfirlit yfir skipulagningu upplýsingaöryggis og starfsmannahald.  Meðal efnis eru áhættumat, auðkenning, veföryggi, öryggi forrita, persónuvernd og gagnavernd, kynning á dulmálskóðun, öryggisarkitektúr, eldveggir og önnur tæki og netskipulag.

    Face-to-face learning
    Prerequisites
  • Not taught this semester
    TÖL106M
    Security Engineering for Critical Information Infrastructures hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    The overarching objective of this experimental course is to provide a practical technical and policy introduction for the foundations of the building and operating of dependable, complex distributed national information infrastructures.

    The course teaches university students how to model, design, implement, operate, and defend these national information infrastructures (NII) to withstand errors and attacks.

    We will introduce complementary engineering methodologies intended to assist NII policymakers, stewards, operators, and engineering professionals to implement protective initiatives to design and improve the survivability of NII systems, critical functions, and processes.

    The course will include cyber threat intelligence tradecraft and the experimental use of both open-source intelligence and an artificial intelligence tool i.e. ChatGPT

    Face-to-face learning
    Prerequisites
  • Not taught this semester
    TÖL107M
    Cyber Conflicts, Cyber Security Threats and Engineering, National Information Infrastructures (NII) hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    This interdisciplinary course examines underlying and emerging information technologies, cyber security engineering and policies associated with surveillance, cyber warfare, and cyber threats.

    The technological concepts reviewed in this course include but are not limited to National Information Infrastructures, the Internet, Dark Web, networks and sensors, and trends associated with our emerging Internet of Things.

    The course will review some salient cyber conflict history, international and national policies concerning cyber conflict and security engineering - secure by design, military/civilian doctrine, and some lessons learned from the use of cyber operations in past, present and future conflicts.

    Face-to-face learning
    Prerequisites
  • Not taught this semester
    TÖL109F
    From an Idea to Reality hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    The course has been in development for over a decade under the name "Computer Systems and Marketing". 

    The course is based on teacher lectures and individual and group projects that help students to think outside the box. Teacher will tell of his experiences of making ideas become real and have a special focus on the mistakes that have been made along with the successful stories.
    The final project of the course is a business plan that will be presented in an oral final exam. The business plan focuses on the idea of each student and how the student plans to realize his project.

    Face-to-face learning
    Prerequisites
  • TÖL502M
    Human Computer Interaction hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    Usually taught every second year.

    The objective of the course is to allow students to examine more closely than is done in the introductory course Graphical User Interface Programming  HBV201G specific factors of HCI. The factors covered are user interface design using prototyping, programming of smart devices and users‘ acceptability of the software. There will be emphasis on different techniques and tools to develop prototypes. Also, on the design of user interfaces and native programming for smart phones or pads. The development process will be aimed at ensuring accessibility and acceptability of users. Students work on small projects individually, or on larger projects in groups. 

    Face-to-face learning
    The course is taught if the specified conditions are met
    Prerequisites
  • TÖL503M
    Distributed Systems hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    Usually taught every second year.

    This course covers concepts of distributed systems and their application. Besides foundations on characteristics and models of distributed systems, networking and security, this includes network-based low-level interprocess communication, high-level remote procedure calls, the distributed object model and remote method invocation, services relevant in distributed systems (such as name services or distributed file systems), selected topics of distributed algorithms and their implementation (such as coordination, agreement,  time, replication). Furthermore, special types of distributed systems may be covered (such as peer-to-peer systems, Cloud and Grid computing).  Current technologies (such as Java RMI, Web Services, gRPC) are used as case study and as platform for developing distributed applications using high-level programming languages (such as Java).

    Note: while this is an "M" course, it is rather on MSc. level. BSc. students who take this course need to be advanced in their BSc. studies. (E.g. we will implement middleware in Java, so you should have programming experience well beyond "TÖL101G Computer Science 1". As a middleware adds functionality on top of an Operating System, you should have also passed TÖL401G Operating Systems.)

    Face-to-face learning
    The course is taught if the specified conditions are met
    Prerequisites
  • TÖL506M
    Introduction to deep neural networks hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    In this course we cover deep neural networks and methods related to them. We study networks and methods for image, sound and text analysis. The focus will be on applications and students will present either a project or a recent paper in this field.

    Face-to-face learning
    Prerequisites
  • Not taught this semester
    TÖL504M
    Algorithms in Bioinformatics hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    This course will cover the algorithmic aspects of bioinformatic. We  will start with an introduction to genomics and algorithms for students new to the field. The course is divided into modules, each module covers a single problem in bioinformatics that will be motivated based on current research. The module will then cover algorithms that solve the problem and variations on the problem. The problems covered are motif finding, edit distance in strings, sequence alignment, clustering, sequencing and assembly and finally computational methods for high throughput sequencing (HTS).

    Face-to-face learning
    Prerequisites
  • TÖL105M
    Computer Graphics hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    The main emphasis is on fundamental concepts and mathematics for 3D computer graphics. Two and three-dimensional transformations. Viewing projections. Light and the shading of objects. Texture mapping, blending, bump maps. Programmable shaders. Curves and surfaces. Programming assignments in WebGL.

    Face-to-face learning
    Prerequisites
  • VIÐ186F
    Theoretical Foundations of Innovation and Entrepreneurship hide
    Elective course
    7,5
    Free elective course within the programme
    7,5 ECTS, credits
    Course Description

    The aim of the course is to give students an overview of the theoretical foundations of innovation and entrepreneurship and prepare them for further studies, both academic and applied.

    The course will cover the most prominent theories and unresolved questions within the field; students will review the latest academic articles and learn about tools to analyze major innovation trends in the economy.

    Face-to-face learning
    Prerequisites
    Course taught in period II
  • TÖL431L
    Final project hide
    Mandatory (required) course
    0
    A mandatory (required) course for the programme
    0 ECTS, credits
    Course Description
    • The topic of the Master's thesis must be chosen under the guidance of the supervisor and the Faculty Coordinator of the student. The thesis represents 30 or 60 credits. All Master's student have been assigned to a Faculty Coordinator from the beginning of their studies, who advises the student regarding the organization of the program. If a student does not have a supervisor for the final project, he / she must turn to the Faculty Coordinator for assistance.
    • The choice of topic is primarily the responsibility of the student in collaboration with his or her project supervisor. The topic of the project should fall within the student's area of study, i.e. course of study and chosen specialisation.
    • The master’s student writes a thesis according to the School’s template and defends it in a master’s defense.
    • Final project exam is divided into two parts: Oral examination and open lecture
    • Present at the oral exam is the student, supervisor, examiner and members of the Master's committee. The student presents a brief introduction on his / her project. It is important that the objectives and research question(s) are clearly stated, and that main findings and lessons to be drawn from the project are discussed.
    • The student delivers a thesis and a project poster.
    • According to the rules of the Master's program, all students who intend to graduate from the School of Engineering and Natural Sciences need to give a public lecture on their final project.
    • All students graduating from the University of Iceland shall submit an electronic copy of their final Master's thesis to Skemman.is. Skemman is the digital repository for all Icelandic universities and is maintained by the National and University Library.
    • According to regulations of University of Iceland all MS thesis should have open access after they have been submitted to Skemman.

    Learning Outcomes:

    Upon completion of an MS thesis, the student should be able to:

    • Formulate engineering design project  / research questions
    • Use an appropriate theoretical framework to shed light on his / her topic
    • Analyze and solve engineering tasks in a specialized field.
    • Perform a literature search and a thorough review of the literature.
    • Demonstrate initiative and independent creative thinking.
    • Use economic methodology to answer a specific research question
    • Competently discuss the current knowledge within the field and contribute to it with own research
    • Work with results, analyze uncertainties and limitations and interpret results.
    • Assess the scope of a research project and plan the work accordingly
    • Effectively display results and provide logical reasoning and relate results to the state of knowledge.
    Self-study
    Prerequisites
    Part of the total project/thesis credits
  • HBV507M
    Usable Privacy and Security hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    Survey of the field of usable security and privacy with an emphasis on emerging technologies. Topics include authentication, location privacy, social network privacy, behavioral advertising, - health privacy, anonymity, cryptocurrency, technical writing and ethical conduct of usable privacy and security research.

    Face-to-face learning
    Prerequisites
  • REI504M
    Cloud Computing and Big Data hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    Overview of high performance computing (HPC) and “Big Data”, HPC environments with computing, network and storage resources, overview of parallel programming. Storage infrastructures and services for Big Data, Big Data analytics, the map-reduce paradigm, structured and unstructured data. Practical exercises: (A) Students will use the Amazon Web Services (AWS) cloud or equivalent to set up a multi-computer web service and an associated multi-computer testing application. (B) Students will get hands on experience of processing large data sets using map-reduce techniques with AWS.

    Face-to-face learning
    Prerequisites
  • TÖL103M
    Programming Projects on Internet of Things hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    This course offers a hands-on introduction to programming small devices (microcontrollers, single-board computers) used in the context of Internet of Things, sensor networking, and home automation.

    Such devices are often equipped with a large number of I/O pins, some RAM and flash memory, and wireless communication capabilities (e.g. WiFi and/or Bluetooth), making them attractive for tasks involving data acquisition,
    processing, and wireless communication.

    The course consists of bi-weekly programming tasks dealing with serial communication, data acquisition and analysis, programming of real-time O/S (RTOS), wireless communication and TCP/IP client-servers paradigm.

    The biweekly assignments lead to a final project.

    Face-to-face learning
    Prerequisites
  • VON001F
    Thesis skills: project management, writing skills and presentation hide
    Elective course
    4
    Free elective course within the programme
    4 ECTS, credits
    Course Description

    Introduction to the scientific method. Ethics of science and within the university community.
    The role of the student, advisors and external examiner. Effective and honest communications.
    Conducting a literature review, using bibliographic databases and reference handling. Thesis structure, formulating research questions, writing and argumentation. How scientific writing differs from general purpose writing. Writing a MS study plan and proposal. Practical skills for presenting tables and figures, layout, fonts and colors. Presentation skills. Project management for a thesis, how to divide a large project into smaller tasks, setting a work plan and following a timeline. Life after graduate school and being employable.

    Face-to-face learning
    Online learning
    Prerequisites
  • Spring 2
  • Not taught this semester
    RAF617M
    Fundaments of the Internet hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    Modern day telecommunications are characterised by the fact that communicated data is carried on fixed telecommunications infrastructure on a majority of the path between tranmitter and receiver. Wireless infrastructure often conveys the signals at the end of the path. This yields both high speed and the comfort of wireless communications. It is of utmost importance for engineers working in telecoms to have a fundamental knowledge of fixed networks and the range of technologies deployed.

    In this course, the structure of fixed backbone and access networks will be described. Optical fibre and related technologies will be introduced, e.g. DWDM, SDH, Ethernet, ATM and MPLS-TP. Access network technologies on copper, coax and optical fibres will be treated, e.g. ADSL. VDSL, G.fast and  DOCSIS. Different FTTH (Fibre to the Home) technologies will be treated such as PON (Passive Optical Network), Active Ethernet and point-to-point Ethernet. 

    IP (Internet Protocol) has become a fundamental technology for modern fixed networks. IP native technologies will be described from the physical to the application layer. On the link layer, Ethernet will be in the focus as well as MPLS. Circuit and packet switching will be treated as well as circuit and packet orientation of networks. Sevices such as PSTN, VoIP, OTT and P2P will be treated. Backhauling of wireless networks such as mobile networks and Wi-Fi will also be treated.
    In introduction to network virtualisation and network function virtualisation (NFV) will be given as well as software defined networking (SDN). Legal and regulatory aspects will be introduced and aspects like network neutrality discfussed. Important players and stakeholders will be discussed, e.g. Google, Apple, Microsoft, Netflix and telecommunications service providers.
    Finally, local area networks will be discussed, home networking, smart homes, set-top-boxes, NAS, PLC, plastic optical fibres, MOCA and Wi-Fi introduced.

    The teaching form will be lectures and projects on IP communications will be worked. Students will write four papers on selected subjects and give presentations. 

    Face-to-face learning
    Prerequisites
  • HBV205M
    Software Testing hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    Usually taught every second year (typically in spring of odd years, but this is subject to change in 2024).

    This course covers testing of software. Besides basic foundations, this includes both dynamic testing where the software under test is executed and static approaches where software and other artefacts produced during software development are investigated without executing them. The focus of this course is, however, on dynamic testing. The different levels of testing (component test, integration test, system and acceptance test) and types of testing (functional, non-functional, structural and change-related) are covered as well as different test design techniques (black box test and white box test). Furthermore, test management and principles of test tools are discussed. In addition, selected advanced topics may be covered (for example, test languages, testing of object-oriented software, test process improvement, agile testing). The covered topics are a superset of the International Software Testing Qualifications Board's (ISTQB) certified tester foundation level syllabus.

    The first part of the course is based on flipped-classroom style weekly reading, videos and assignments. In the second part, students work independently on some project related to software testing.

    Note: while this is an "M" course, it is rather on MSc. level. BSc. students who take this course need to be very advanced in their BSc. studies, i.e. have experience in programming languages, software development and applying it in some software project, but should also be familiar with theoretical concepts from automata theory.

    Also, BSc. students should not take this course, if they know that they are going to continue with MSc. studies, because they might then experience a lack of suitable courses in their MSc. studies.

    Face-to-face learning
    The course is taught if the specified conditions are met
    Prerequisites
  • IÐN216F
    Field Course in Innovation and Entrepreneurship (II) hide
    Elective course
    7,5
    Free elective course within the programme
    7,5 ECTS, credits
    Course Description

    The course is a continuation of the course "Field Course in Innovation and Entrepreneurship (I)". This part of the course consists of detailed development of the business model related to a particular business opportunity. This work takes place in groups, where cross-disciplinary collaboration, between individuals with a background in business and individuals with a background in a particular technical or professional field related to the relevant opportunity, is emphasized. Projects can originate in an independent business idea or in collaboration with companies that partner with the course. In both cases, the emphasis will be on product or service develepment, built on technical or professional expertise, where the business case of the opportunity and its verification is in the foreground.

    Face-to-face learning
    Prerequisites
    Course taught second half of the semester
  • IÐN222F
    Field Course in Innovation and Entrepreneurship (I) hide
    Elective course
    7,5
    Free elective course within the programme
    7,5 ECTS, credits
    Course Description

    The course is taught in two parts, and the expectation is that students register for both parts. The course will cover the practical issues related to innovation and entrepreneurship. It covers the emergence of a business idea and the initial evaluation of the business opportunity, and the development and testing of a business model. This part of the course consists of lectures and case discussions that deal with various aspects of innovation and entrepreneurship: Analysis of business opportunities, evaluation of market size and unit contribution, the management of organizational units that are involved in innovation, financing, and other issues. Students will also tackle projects where they apply the methods taught in the class to isolated tasks in product and business development in both new and existing firms.

    Face-to-face learning
    Prerequisites
    Course taught first half of the semester
  • REI204M
    High Performance Computing hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    Design of parallel computers and parallel programming models. Shared memory architecture. Message passing and distributed memory architecture. Parallel programming of computer clusters using MPI and multicore programming using OpenMP. Parallel algorithms for sorting, searching, linear algebra, and various graph problems.

    Course topics will be very similar like HPC in Fall 2019:

    http://www.morrisriedel.de/hpc-course-fall-2019

    Positioning in the Field of High-Performance Computing (HPC)

    • Consists of techniques for programming & using large-scale HPC Systems
    • Approach: Get a broad understanding of what HPC is and what can be done
    • Goal: Train general HPC techniques and systems and selected details of domain-specific applications

    Course Motivation

    Parallel processing and distributed computing

    • Matured over the past three decades
    • Both emerged as a well-developed field in computer science
    • Still a lot of innovation, e.g. from hardware/software

    ‘Scientific computing‘ with Maple, Matlab, etc.

    • Performed on small (‘serial‘) computing machines like Desktop PCs or Laptops
    • An increasing number of cores enables ‘better scientific computing‘ today
    • Good for small & fewer complex applications, quickly reach memory limits

    ‘Advanced scientific computing‘

    • Used with computational simulations and large-scale machine & deep learning
    • Performed on large parallel computers; often scientific domain-specific approaches
    • Use orders of magnitude multi-core chips & large memory & specific many-core chips
    • Enables ‘simulations of reality‘ - often based on known physical laws and numerical methods

    Face-to-face learning
    Prerequisites
  • REI603M
    The AI lifecycle hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    In this course, we study the AI lifecycle, i.e. the productionisation of AI methods.
    We explore the following parts of the lifecycle:
    - Data collection and preparation
    - Feature engineering
    - Model training
    - Model evaluation
    - Model deployment
    - Model serving
    - Model monitoring
    - Model maintenance
    Three large projects will be handed out during the semester where students compete to solve AI problems.

    Face-to-face learning
    Prerequisites
  • Not taught this semester
    TÖL028M
    Seminar on Machine Learning hide
    Elective course
    2
    Free elective course within the programme
    2 ECTS, credits
    Course Description

    In this course, students familiarize themselves with a particular topic in artificial intelligence (e.g. computer vision, natural language processing, data processing, generative modeling or other topics) by studying relevant academic literature and preparing a talk on this topic for their classmates.

    Students can choose from a selection of topics provided by the teacher, or propose a topic that they are interested in on their own.

    Besides learning about the subject matter of the talks, the goal of the course is to practice presentation skills.

    The course starts on June 8th and will finish on August 17th. 

    Face-to-face learning
    Prerequisites
  • Not taught this semester
    TÖL202M
    Compilers hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    The design of programming languages. The structure and design of compilers. Lexical analysis. Top down and bottom up parsing. Code generation. Each student writes his or her own compiler.

    Face-to-face learning
    The course is taught if the specified conditions are met
    Prerequisites
  • Not taught this semester
    TÖL211F
    From an idea to reality II hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    The course is a continuation of the course "From an idea to reality". Students are expected to continue to develop their idea that they had in the "From an Idea to Reality" course. If the students are not satisfied with their previous idea and think they have come up with a better idea, that's fine, and if the teacher is satisfied with the new idea the student can continue with the new idea.

    Students must apply for grants in the competition fund. Practice pitching your idea to potential investors and your fellow students.

    The teacher will cover accounting and planning based on probability.

    The teacher will cover company formation and tax matters.

    Face-to-face learning
    Prerequisites
    Attendance required in class
  • TÖL212M
    Reasoned Programming hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    Fundamental concepts in program verification and reasoned programming are covered. Emphasis is placed on using reasoned programming to develop solid and proved versions of well-known algorithms, especially in the areas of searching, sorting, and binary search trees. Among algorithms covered are various versions of insertion sort, selection sort, quicksort, binary search, and searching in binary search trees. Emphasis will be placed on deepening the understanding of the algorithms as well as getting a good grip on program verification. Some exercises will use verification tools such as Dafny or OpenJML.

    Face-to-face learning
    The course is taught if the specified conditions are met
    Prerequisites
  • TÖL605M
    Fundamentals of Ethical Hacking hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    Ethical hacking is the discipline of attacker perspective security analysis. Using tools and techniques used by malicious hackers, ethical hackers gain unique and unique and valuable insights used for improving system security.

    This course will introduce students to the fundamentals of ethical hacking tools and techniques. Students will begin by configuring a secure lab using virtualisation tools. Then every two weeks a new stage of the ethical hacking methodology and some related tools will be introduced. The students will submit weekly lab reports evidencing their theoretical and practical understanding of the methodology and tools. 

    For the best experience, students should own a PC able to run virtualisation software with an x86 image. Mac users with Apple CPU or those with PCs whose CPUs lack virtualisation support or who have limited RAM might have issues running a stable lab on their machine. Students who lack suitable hardware can use VMs on the department's cybersecurity server infrastructure.

    Face-to-face learning
    Prerequisites
  • Not taught this semester
    TÖL604M
    Algorithms in Bioinformatics hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    This course will cover the algorithmic aspects of bioinformatic. We  will start with an introduction to genomics and algorithms for students new to the field. The course is divided into modules, each module covers a single problem in bioinformatics that will be motivated based on current research. The module will then cover algorithms that solve the problem and variations on the problem. The problems covered are motif finding, edit distance in strings, sequence alignment, clustering, sequencing and assembly and finally computational methods for high throughput sequencing (HTS).

    Face-to-face learning
    Prerequisites
  • TÖL212F
    Governance of the Internet hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    This course aims to provide a comprehensive overview of Internet governance and challenges in regulating cyberspace. Topics include the evolution of formalized internet governance, and the role of national governments, supranational organizations and private corporations in shaping the international regulatory framework for Internet governance.

    The course will also explore the balance of privacy versus security, including the role of regulations such as GDPR and NIS2 to establish minimum requirements of “privacy” or “security” by design. The emergence of a “cyber-public” space has created new challenges for enforcing laws ranging from copyright to illegal content. Furthermore, the question of public/private cooperation in fighting against cybercrime and regulatory challenges regarding the emergence of cyberwarfare will be examined.

    This course will be taught as a series of weekly lectures and bi-weekly seminars for student discussions and debates in internet governance topics.

    Face-to-face learning
    Prerequisites
  • TÖL606M
    Seminar in computer science hide
    Mandatory (required) course
    2
    A mandatory (required) course for the programme
    2 ECTS, credits
    Course Description

    Students in computer science, software engineering and computational engineering attend weekly seminars where they present talks on their research projects or other related topics of interest.

    Face-to-face learning
    Prerequisites
  • Not taught this semester
    TÖL204F
    Seminar for MS-Students hide
    Mandatory (required) course
    2
    A mandatory (required) course for the programme
    2 ECTS, credits
    Course Description

    Postgraduate students in computer science, software engineering and computational engineering attend weekly seminars where the present talks on their research projects or other related topics of interest.

    Face-to-face learning
    Prerequisites
  • TÖL431L
    Final project hide
    Mandatory (required) course
    0
    A mandatory (required) course for the programme
    0 ECTS, credits
    Course Description
    • The topic of the Master's thesis must be chosen under the guidance of the supervisor and the Faculty Coordinator of the student. The thesis represents 30 or 60 credits. All Master's student have been assigned to a Faculty Coordinator from the beginning of their studies, who advises the student regarding the organization of the program. If a student does not have a supervisor for the final project, he / she must turn to the Faculty Coordinator for assistance.
    • The choice of topic is primarily the responsibility of the student in collaboration with his or her project supervisor. The topic of the project should fall within the student's area of study, i.e. course of study and chosen specialisation.
    • The master’s student writes a thesis according to the School’s template and defends it in a master’s defense.
    • Final project exam is divided into two parts: Oral examination and open lecture
    • Present at the oral exam is the student, supervisor, examiner and members of the Master's committee. The student presents a brief introduction on his / her project. It is important that the objectives and research question(s) are clearly stated, and that main findings and lessons to be drawn from the project are discussed.
    • The student delivers a thesis and a project poster.
    • According to the rules of the Master's program, all students who intend to graduate from the School of Engineering and Natural Sciences need to give a public lecture on their final project.
    • All students graduating from the University of Iceland shall submit an electronic copy of their final Master's thesis to Skemman.is. Skemman is the digital repository for all Icelandic universities and is maintained by the National and University Library.
    • According to regulations of University of Iceland all MS thesis should have open access after they have been submitted to Skemman.

    Learning Outcomes:

    Upon completion of an MS thesis, the student should be able to:

    • Formulate engineering design project  / research questions
    • Use an appropriate theoretical framework to shed light on his / her topic
    • Analyze and solve engineering tasks in a specialized field.
    • Perform a literature search and a thorough review of the literature.
    • Demonstrate initiative and independent creative thinking.
    • Use economic methodology to answer a specific research question
    • Competently discuss the current knowledge within the field and contribute to it with own research
    • Work with results, analyze uncertainties and limitations and interpret results.
    • Assess the scope of a research project and plan the work accordingly
    • Effectively display results and provide logical reasoning and relate results to the state of knowledge.
    Self-study
    Prerequisites
    Part of the total project/thesis credits
  • TÖL608M
    Algorithms in the real world hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    The course will cover the design and analysis of algorithms, with emphasis on algorithms for large datasets and real world applications.

    The algorithms covered will be drawn from various subfields, e.g. data and text compression, error correcting codes, large scale text search and search engines, parallel programming, GPU programming, streaming algorithms, probabilistic algorithms, nearest neighbor search in high dimensional datasets.

    Prerequisites
  • Year unspecified
  • TÖL213M
    Applied Cryptography hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    In this course, students will take a practical approach to understanding the building and breaking of cryptographic implementations. The first half of this module will involve programming tasks while the second half will involve two mini projects. 

    Starting from simplistic approaches used historically, such as the Caeser cipher, to modern day protocols used to secure telecommunications ubiquitously, such as AES and TLS. Students will also consider the role of cryptography in society more broadly by researching how contentious technologies such as end-to-end encryption and Tor impact justice and privacy, and distributed ledgers can enable the decentralisation of key societal systems. Finally, the course will conclude with a mini project demonstrating a practical attack against a cryptographic implementation using ethical hacking approaches e.g. WiFi cracking, password bruteforcing or man-in-the-middle attack of an encrypted connection to sniff traffic. 

    The course will encompass the following stages: 

    1) Building cryptographic primitives in a programming language of choice. 

    2) Application engineering best practices. 

    3) A research project in cryptography and society. 

    4) A practical project in ethical hacking approaches to demonstrating weaknesses in cryptography implementations. 

    Face-to-face learning
    Prerequisites
  • HBV506M
    Secure Software Engineering hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    Secure software engineering involves identifying and mitigating vulnerabilities to reduce threats to an application. In this module, students will gain an understanding of secure engineering practices and the means to apply them throughout the complete software development life cycle.

    Working in teams, students will design, develop, and maintain a web application for a customer following secure software engineering principles. Students will illustrate their understanding and practical competency of white box and black box security assessment through testing their own and other team’s applications for vulnerabilities against the OWASP top 10 most critical security risks to web applications.

    It is therefore assumed the students have knowledge in web application development using JavaScript.

    Face-to-face learning
    Prerequisites
Year unspecified
  • Whole year courses
  • GKY001M
    Mentor in Sprettur hide
    Elective course
    5
    Free elective course within the programme
    5 ECTS, credits
    Course Description

    In the course, the student's task consists in being a mentor for participants that are upper secondary school students and university students in the project "Sprettur". Mentors' main role is to support and encourage participants in their studies and social life. As well as creating a constructive relationship with the participants, being a positive role model, and participating in events organized in Sprettur. The mentor role centers around building relationships and spending meaningful time together with the commitment to support participants. 

    Sprettur is a project that supports students with an immigrant or refugee background who come from families with little or no university education. The students in this course are mentors of the participants and are paired together based on a common field of interest. Each mentor is responsible for supporting two participants. Mentors plan activities with participants and spend three hours a month (from August to May) with Sprettur’s participants, three hours a month in a study group and attend five seminars that are spread over the school year. Students submit journal entries on Canvas in November and March. Diary entries are based on reading material and students' reflections on the mentorship. Compulsory attendance in events, study groups, and seminars. The course is taught in Icelandic and English. 

    Students must apply for a seat in the course. Applicants go through an interview process and 15-30 students are selected to participate. 

    See the digital application form. 

    More information about Sprettur can be found here: www.hi.is/sprettur  

    Face-to-face learning
    The course is taught if the specified conditions are met
    Prerequisites
    Attendance required in class
  • Fall
  • MLT301F
    The structure of Icelandic and language technology hide
    Mandatory (required) course
    10
    A mandatory (required) course for the programme
    10 ECTS, credits
    Course Description

    This course is intended for language technology students who do not have linguistic background. The purpose of the course is to give an overview of the structure of Icelandic, with a special consideration to features which can be problematic for natural language processing. The main topics that will be covered are the sound system of Icelandic and phonetic transcription (IPA and SAMPA); the inflectional and derivational morphology of Icelandic with a special consideration to Part-of-Speech tagging and tagsets; and the syntactic structure of Icelandic with emphasis on both phrase structure and dependency parsing.

    Face-to-face learning
    Prerequisites
  • Not taught this semester
    MLT302F
    Treebanks hide
    Mandatory (required) course
    10
    A mandatory (required) course for the programme
    10 ECTS, credits
    Course Description

    This course introduces syntactically annotated corpora, including the Icelandic treebank, IcePaHC. Topics to be covered include different types of treebanks, the development of new treebanks and the use of treebanks in language technology and theoretical syntax. Quantitative methods in syntax will be introduced in the context of historical syntax, synchronic variation and theories about the relationship between language acquisition, linguistic competence and linguistic change. Students will furthermore get training in the use of software which is designed for developing treebanks, querying treebanks and processing results and they will carry out experiments in machine annotation of the syntactic properties of a text. Both students of language technology and linguistics are encouraged to enroll.

    Face-to-face learning
    Prerequisites
  • Not taught this semester
    IÐN102M
    Computational Intelligence hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    Basic aspects of computational intelligence, which is the study of algorithms that improve automatically through experience.

    Face-to-face learning
    The course is taught if the specified conditions are met
    Prerequisites
  • REI505M
    Machine Learning hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    An overview of some of the main concepts, techniques and algorithms in machine learning. Supervised learning and unsupervised learning. Data preprocessing and data visualization. Model evaluation and model selection. Linear regression, nearest neighbors, support vector machines, decision trees and ensemble methods. Deep learning. Cluster analysis and the k-means algorithm. The students implement simple algorithms in Python and learn how to use specialized software packages. At the end of the course the students work on a practical machine learning project.

    Face-to-face learning
    Prerequisites
  • TÖL019F
    Project in language technology hide
    Elective course
    8
    Free elective course within the programme
    8 ECTS, credits
    Course Description

    Students work on a selected project in language technology with a supervisor.

    Self-study
    Prerequisites
  • TÖL029M
    Introduction to Information Security hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    Þetta námskeið byggir grunn að skilningi á lykilatriðum sem tengjast verndun upplýsinga, ákvörðun á verndarstigi og viðbrögð við öryggisatvikum, og hönnun á samræmdu raunhæfu upplýsingaöryggiskerfi, með viðeigandi innbrotsskynjun og tilkynningum.  Tilgangur námskeiðsins er að veita nemandanum yfirsýn yfir svið upplýsingaöryggis og upplýsingatrygginga.  Nemendur munu sjá ýmsar gerðir öryggisaðgerða, aðferðafræða og verklags.  Umfjöllunin mun taka fyrir skoðun og vernd upplýsingaeigna, uppgötvun og viðbrögð við ógnum við upplýsingaeignir, verklagsreglur fyrir og eftir öryggisatvik, tæknileg og stjórnunarleg viðbrögð og yfirlit yfir skipulagningu upplýsingaöryggis og starfsmannahald.  Meðal efnis eru áhættumat, auðkenning, veföryggi, öryggi forrita, persónuvernd og gagnavernd, kynning á dulmálskóðun, öryggisarkitektúr, eldveggir og önnur tæki og netskipulag.

    Face-to-face learning
    Prerequisites
  • TÖL502M
    Human Computer Interaction hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    Usually taught every second year.

    The objective of the course is to allow students to examine more closely than is done in the introductory course Graphical User Interface Programming  HBV201G specific factors of HCI. The factors covered are user interface design using prototyping, programming of smart devices and users‘ acceptability of the software. There will be emphasis on different techniques and tools to develop prototypes. Also, on the design of user interfaces and native programming for smart phones or pads. The development process will be aimed at ensuring accessibility and acceptability of users. Students work on small projects individually, or on larger projects in groups. 

    Face-to-face learning
    The course is taught if the specified conditions are met
    Prerequisites
  • TÖL431L
    Final project hide
    Mandatory (required) course
    0
    A mandatory (required) course for the programme
    0 ECTS, credits
    Course Description
    • The topic of the Master's thesis must be chosen under the guidance of the supervisor and the Faculty Coordinator of the student. The thesis represents 30 or 60 credits. All Master's student have been assigned to a Faculty Coordinator from the beginning of their studies, who advises the student regarding the organization of the program. If a student does not have a supervisor for the final project, he / she must turn to the Faculty Coordinator for assistance.
    • The choice of topic is primarily the responsibility of the student in collaboration with his or her project supervisor. The topic of the project should fall within the student's area of study, i.e. course of study and chosen specialisation.
    • The master’s student writes a thesis according to the School’s template and defends it in a master’s defense.
    • Final project exam is divided into two parts: Oral examination and open lecture
    • Present at the oral exam is the student, supervisor, examiner and members of the Master's committee. The student presents a brief introduction on his / her project. It is important that the objectives and research question(s) are clearly stated, and that main findings and lessons to be drawn from the project are discussed.
    • The student delivers a thesis and a project poster.
    • According to the rules of the Master's program, all students who intend to graduate from the School of Engineering and Natural Sciences need to give a public lecture on their final project.
    • All students graduating from the University of Iceland shall submit an electronic copy of their final Master's thesis to Skemman.is. Skemman is the digital repository for all Icelandic universities and is maintained by the National and University Library.
    • According to regulations of University of Iceland all MS thesis should have open access after they have been submitted to Skemman.

    Learning Outcomes:

    Upon completion of an MS thesis, the student should be able to:

    • Formulate engineering design project  / research questions
    • Use an appropriate theoretical framework to shed light on his / her topic
    • Analyze and solve engineering tasks in a specialized field.
    • Perform a literature search and a thorough review of the literature.
    • Demonstrate initiative and independent creative thinking.
    • Use economic methodology to answer a specific research question
    • Competently discuss the current knowledge within the field and contribute to it with own research
    • Work with results, analyze uncertainties and limitations and interpret results.
    • Assess the scope of a research project and plan the work accordingly
    • Effectively display results and provide logical reasoning and relate results to the state of knowledge.
    Self-study
    Prerequisites
    Part of the total project/thesis credits
  • HBV507M
    Usable Privacy and Security hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    Survey of the field of usable security and privacy with an emphasis on emerging technologies. Topics include authentication, location privacy, social network privacy, behavioral advertising, - health privacy, anonymity, cryptocurrency, technical writing and ethical conduct of usable privacy and security research.

    Face-to-face learning
    Prerequisites
  • REI504M
    Cloud Computing and Big Data hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    Overview of high performance computing (HPC) and “Big Data”, HPC environments with computing, network and storage resources, overview of parallel programming. Storage infrastructures and services for Big Data, Big Data analytics, the map-reduce paradigm, structured and unstructured data. Practical exercises: (A) Students will use the Amazon Web Services (AWS) cloud or equivalent to set up a multi-computer web service and an associated multi-computer testing application. (B) Students will get hands on experience of processing large data sets using map-reduce techniques with AWS.

    Face-to-face learning
    Prerequisites
  • TÖL103M
    Programming Projects on Internet of Things hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    This course offers a hands-on introduction to programming small devices (microcontrollers, single-board computers) used in the context of Internet of Things, sensor networking, and home automation.

    Such devices are often equipped with a large number of I/O pins, some RAM and flash memory, and wireless communication capabilities (e.g. WiFi and/or Bluetooth), making them attractive for tasks involving data acquisition,
    processing, and wireless communication.

    The course consists of bi-weekly programming tasks dealing with serial communication, data acquisition and analysis, programming of real-time O/S (RTOS), wireless communication and TCP/IP client-servers paradigm.

    The biweekly assignments lead to a final project.

    Face-to-face learning
    Prerequisites
  • VON001F
    Thesis skills: project management, writing skills and presentation hide
    Elective course
    4
    Free elective course within the programme
    4 ECTS, credits
    Course Description

    Introduction to the scientific method. Ethics of science and within the university community.
    The role of the student, advisors and external examiner. Effective and honest communications.
    Conducting a literature review, using bibliographic databases and reference handling. Thesis structure, formulating research questions, writing and argumentation. How scientific writing differs from general purpose writing. Writing a MS study plan and proposal. Practical skills for presenting tables and figures, layout, fonts and colors. Presentation skills. Project management for a thesis, how to divide a large project into smaller tasks, setting a work plan and following a timeline. Life after graduate school and being employable.

    Face-to-face learning
    Online learning
    Prerequisites
  • Spring 2
  • ÍSL209G
    The Linguistic System - Sounds and Words hide
    Elective course
    10
    Free elective course within the programme
    10 ECTS, credits
    Course Description

    An introductory course in Icelandic phonetics, phonology, and morphology. The basics of acoustic phonetics and Icelandic articulatory phonetics will be introduced, accompanied by training in phonetic transcription. The main concepts of phonology will be presented, followed by an overview of sound alternations in Icelandic and their conditions. Basic concepts in morphology will be presented and the main word formation processes in Icelandic and their productivity will be dealt with. Grammatical categories in Icelandic will be outlined, the inflection of the main parts of speech will be described, and an overview given of inflectional classes and variations.

    Face-to-face learning
    Prerequisites
  • REI204M
    High Performance Computing hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    Design of parallel computers and parallel programming models. Shared memory architecture. Message passing and distributed memory architecture. Parallel programming of computer clusters using MPI and multicore programming using OpenMP. Parallel algorithms for sorting, searching, linear algebra, and various graph problems.

    Course topics will be very similar like HPC in Fall 2019:

    http://www.morrisriedel.de/hpc-course-fall-2019

    Positioning in the Field of High-Performance Computing (HPC)

    • Consists of techniques for programming & using large-scale HPC Systems
    • Approach: Get a broad understanding of what HPC is and what can be done
    • Goal: Train general HPC techniques and systems and selected details of domain-specific applications

    Course Motivation

    Parallel processing and distributed computing

    • Matured over the past three decades
    • Both emerged as a well-developed field in computer science
    • Still a lot of innovation, e.g. from hardware/software

    ‘Scientific computing‘ with Maple, Matlab, etc.

    • Performed on small (‘serial‘) computing machines like Desktop PCs or Laptops
    • An increasing number of cores enables ‘better scientific computing‘ today
    • Good for small & fewer complex applications, quickly reach memory limits

    ‘Advanced scientific computing‘

    • Used with computational simulations and large-scale machine & deep learning
    • Performed on large parallel computers; often scientific domain-specific approaches
    • Use orders of magnitude multi-core chips & large memory & specific many-core chips
    • Enables ‘simulations of reality‘ - often based on known physical laws and numerical methods

    Face-to-face learning
    Prerequisites
  • REI603M
    The AI lifecycle hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    In this course, we study the AI lifecycle, i.e. the productionisation of AI methods.
    We explore the following parts of the lifecycle:
    - Data collection and preparation
    - Feature engineering
    - Model training
    - Model evaluation
    - Model deployment
    - Model serving
    - Model monitoring
    - Model maintenance
    Three large projects will be handed out during the semester where students compete to solve AI problems.

    Face-to-face learning
    Prerequisites
  • TÖL019F
    Project in language technology hide
    Elective course
    8
    Free elective course within the programme
    8 ECTS, credits
    Course Description

    Students work on a selected project in language technology with a supervisor.

    Self-study
    Prerequisites
  • Not taught this semester
    TÖL028M
    Seminar on Machine Learning hide
    Elective course
    2
    Free elective course within the programme
    2 ECTS, credits
    Course Description

    In this course, students familiarize themselves with a particular topic in artificial intelligence (e.g. computer vision, natural language processing, data processing, generative modeling or other topics) by studying relevant academic literature and preparing a talk on this topic for their classmates.

    Students can choose from a selection of topics provided by the teacher, or propose a topic that they are interested in on their own.

    Besides learning about the subject matter of the talks, the goal of the course is to practice presentation skills.

    The course starts on June 8th and will finish on August 17th. 

    Face-to-face learning
    Prerequisites
  • TÖL212M
    Reasoned Programming hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    Fundamental concepts in program verification and reasoned programming are covered. Emphasis is placed on using reasoned programming to develop solid and proved versions of well-known algorithms, especially in the areas of searching, sorting, and binary search trees. Among algorithms covered are various versions of insertion sort, selection sort, quicksort, binary search, and searching in binary search trees. Emphasis will be placed on deepening the understanding of the algorithms as well as getting a good grip on program verification. Some exercises will use verification tools such as Dafny or OpenJML.

    Face-to-face learning
    The course is taught if the specified conditions are met
    Prerequisites
  • TÖL606M
    Seminar in computer science hide
    Mandatory (required) course
    2
    A mandatory (required) course for the programme
    2 ECTS, credits
    Course Description

    Students in computer science, software engineering and computational engineering attend weekly seminars where they present talks on their research projects or other related topics of interest.

    Face-to-face learning
    Prerequisites
  • Not taught this semester
    TÖL204F
    Seminar for MS-Students hide
    Mandatory (required) course
    2
    A mandatory (required) course for the programme
    2 ECTS, credits
    Course Description

    Postgraduate students in computer science, software engineering and computational engineering attend weekly seminars where the present talks on their research projects or other related topics of interest.

    Face-to-face learning
    Prerequisites
  • TÖL431L
    Final project hide
    Mandatory (required) course
    0
    A mandatory (required) course for the programme
    0 ECTS, credits
    Course Description
    • The topic of the Master's thesis must be chosen under the guidance of the supervisor and the Faculty Coordinator of the student. The thesis represents 30 or 60 credits. All Master's student have been assigned to a Faculty Coordinator from the beginning of their studies, who advises the student regarding the organization of the program. If a student does not have a supervisor for the final project, he / she must turn to the Faculty Coordinator for assistance.
    • The choice of topic is primarily the responsibility of the student in collaboration with his or her project supervisor. The topic of the project should fall within the student's area of study, i.e. course of study and chosen specialisation.
    • The master’s student writes a thesis according to the School’s template and defends it in a master’s defense.
    • Final project exam is divided into two parts: Oral examination and open lecture
    • Present at the oral exam is the student, supervisor, examiner and members of the Master's committee. The student presents a brief introduction on his / her project. It is important that the objectives and research question(s) are clearly stated, and that main findings and lessons to be drawn from the project are discussed.
    • The student delivers a thesis and a project poster.
    • According to the rules of the Master's program, all students who intend to graduate from the School of Engineering and Natural Sciences need to give a public lecture on their final project.
    • All students graduating from the University of Iceland shall submit an electronic copy of their final Master's thesis to Skemman.is. Skemman is the digital repository for all Icelandic universities and is maintained by the National and University Library.
    • According to regulations of University of Iceland all MS thesis should have open access after they have been submitted to Skemman.

    Learning Outcomes:

    Upon completion of an MS thesis, the student should be able to:

    • Formulate engineering design project  / research questions
    • Use an appropriate theoretical framework to shed light on his / her topic
    • Analyze and solve engineering tasks in a specialized field.
    • Perform a literature search and a thorough review of the literature.
    • Demonstrate initiative and independent creative thinking.
    • Use economic methodology to answer a specific research question
    • Competently discuss the current knowledge within the field and contribute to it with own research
    • Work with results, analyze uncertainties and limitations and interpret results.
    • Assess the scope of a research project and plan the work accordingly
    • Effectively display results and provide logical reasoning and relate results to the state of knowledge.
    Self-study
    Prerequisites
    Part of the total project/thesis credits
  • TÖL608M
    Algorithms in the real world hide
    Elective course
    6
    Free elective course within the programme
    6 ECTS, credits
    Course Description

    The course will cover the design and analysis of algorithms, with emphasis on algorithms for large datasets and real world applications.

    The algorithms covered will be drawn from various subfields, e.g. data and text compression, error correcting codes, large scale text search and search engines, parallel programming, GPU programming, streaming algorithms, probabilistic algorithms, nearest neighbor search in high dimensional datasets.

    Prerequisites
Additional information

The University of Iceland collaborates with over 400 universities worldwide. This provides a unique opportunity to pursue part of your studies at an international university thus gaining added experience and fresh insight into your field of study.

Students generally have the opportunity to join an exchange programme, internship, or summer courses. However, exchanges are always subject to faculty approval.

Students have the opportunity to have courses evaluated as part of their studies at the University of Iceland, so their stay does not have to affect the duration of their studies.

Computers and data processing are essential for almost all aspects of our modern society, meaning that computer scientists are needed in a wide range of fields, including business, finance, administration, imports and exports, industry, the life sciences, the health sciences, media and the arts.

  • Computer scientists design and program:
  • Information systems
  • Scientific programs
  • AI systems
  • Video games

This list is not exhaustive.

More about the UI student's social life.

Students' comments
Auður Margrét Pálsdóttir
I chose to study computer science because I find it to be an excellent way to apply mathematics in a practical manner. Programming can be creative, alongside utilizing logical thinking, and it's my absolute favourite part of the studies. The opportunities after graduation are also incredibly diverse, whether one wants to work for a small startup or a large tech corporation, or anything in between. The social life is also fantastic; "Nördar" (The Nerd Student Association) have excellent facilities for studying together, and there's a strong sense of camaraderie among those who are diligent in attending, whether it's in classes or at the weekly meetups.
Helpful content
Aurora Cooperation

Study wheel

What interests you?

Aurora Cooperation

How to apply

Follow the path

Contact us

If you still have questions, feel free to contact us.

Engineering and Natural Sciences
Weekdays 9 am - 3:30 pm

School of Engineering and Natural Sciences has facilities both in Tæknigarður and Askja.

Follow us on:
Instagram Facebook Twitter
Youtube 

University of Iceland, Tæknigarður (Centre for Technical Innovation)

Share

Did this help?

Why wasn't this information helpful

Limit to 250 characters.