BSc Discrete Mathematics and Computer Science

An interdisciplinary programme that joins mathematics and computer science. Students learn how to apply the methods of computer science to solve problems in pure mathematics.




180 ECTS.


Language of instruction is Icelandic. Selected modules available in English for exchange students, please see the online course catalogue for language of instruction for each course. For more information about courses in English, please contact the office of the School of Computer Science:


The RU International Office also provides information about study programmes for exchange students.


The BSc programme in Discrete Mathematics and Computer Science is accredited by EQUANIE, the European Quality Assurance Network for Informatics Education.


Read about internship opportunities at RU´s School of Computer Science.

Three week intense course

3-week courses (6 ECTS) are taught every semester. The aim of a three week intense course is to expose students to a specialised topic, which is presented by teachers from domestic or international universities or institutions, or teachers from industry. In this way, students are given the opportunity to apply the topics they have been exposed to during the regular semester. The project trains students to:

  • Work together in a group
  • Write a project report and give an oral presentation
  • Apply the individual phases of the software development cycle
  • Solve larger problems than are possible in regular courses

RU School of Computer Science

The RU School of Computer Science is the largest of its kind in Iceland. Teachers are accomplished researchers in their field or guest lecturers from other departments or industry. The School collaborates with local industry, e.g. in the form of final projects. Thus, students are well prepared for work and/or further study. The School of Computer Science collaborates actively with international universities and institutions, both in teaching and research.


There is a strong demand for computer scientists with a good mathematical background. Students who can solve complex tasks with mathematics and computer science are sought after professionals in diverse functions such as designing, software development, finance and much more.


Students must complete 180 ECTS credits:

  • 132 ECTS in core courses
  • 18 ECTS of elective courses from the School og Computer Science
  • 30 ECTS can be taken in free choice electives
1. semester
2. semester
Calculus 1
Discrete Mathematics for engineering students  
Problem Solving
Practical Project 1 (3. week course)                
Data Structures
Linear Algebra
Algebra and Combinatorics
Calculus II
Real-time Models (3. week course)               
3. semester
4. semester
Statistics 1
Computer Architecture
Mathematical Programming  (3. week course)    
Programming Languages
Design and Analysis of algorithms**             
Operating Systems* or elective course
Elective course

Entrepreneurship and Starting New Ventures

5. semester
6. semester
Theory of Computation                                     
Computer Networks* or elective course              
Cryptography and Number theory
Elective course
3. week elective course                          
Logic in Computer Science**                         
Research based final project          
Elective course
Elective course

* Students take either Operating Systems or Computer Networks as mandatory course** Design and Analysis of algorithms and Logic in CS is taught every other year. 

Core courses
180 ECTS

Students must take:
42 ECTS in Computer Science
54 ECTS in Mathematics
36 ECTS in Theoretical Computer Science
Computer Science electives 18 ECTS

Students are offered at least three courses with a major project. Options include analysis and design of algorithms, cryptography theory ( e. cryptography) and models for real-time systems and their verification (ie. verification software).

When courses are taken outside of the School of Computer Science please note that prerequisites for courses in other departments must be fulfilled and that programs do not overlap with other modules taken for the degree.

The Approval Committee will need to assess courses in other departments in the field of computer science, information technology or mathematics. Please note that the courses Applied Mathematics , Applied Information Technology and Applied Statistics 1 ( of Business ) and digital technologies ( in Science and Engineering ) can not be taken in selection due to overlap mandatory in computing.

Final projects

The final projects are either traditional projects or research-based projects. In both cases, students are assigned an advisor, with whom they usually meet once a week, and an examiner, who monitors the progression of the project over the project period (15 weeks). It is recommended that students work on the final project in their last semester.

Traditional projects

Traditional projects offers students the opportunity to work on a real software development project in close collaboration with industry. Students work in groups of 2-4, and are normally assigned work facilities at a particular company. The initiative for projects has in previous years come from either individual companies or students. Students are now only allowed to choose from the suggestions sent in by companies.

In order to work on a traditional final project, students need to have finished at least 78 credits, all the practical project courses, and the courses System Analysis and Software Engineering.

More descriptive rules have been made now on how final grades are assessed, where the students initiative and innovation in the final projects are a part of the issues assessed for the final grade. For assisting the students in choosing projects that include innovation, the final projects suggestions from the companies will be grouped in 3 groups by the final project committee before the students choose a project. The groups are: much, average and little innovation.

Research-based projects

A research-based project introduces students to research in the field of computer science, and gives students the opportunity to work in close collaboration with the research faculty.  Students work in a group of 1-3, and are often provided with research facilities in the research centres. 

In order to work on a research-based project, students need to have finished at least 138 ECTS, and all the practical project courses.

Students organize their project-work in close correspondence with a supervisor from Reykjavik University, that they usually meet once a week. The School of Computer Science provides an examiner that checks status of the project several times during the project work.


Students may apply for internships and have their work evaluated as their final project.


Applicants need to have completed a matriculation examination or a comparable education. In evaluating applications, the department takes into account grades on matriculation examination (especially in Icelandic and mathematics), further education, work experience, management experience, and participation in extracurricular activities. 

Applicants are therefore encouraged to include everything they feel may help their application. In particular, it is important that applicants state the reasons for their interest in the programme and what their future plans are. Official transcripts of upper secondary school diplomas must accompany applications.

Contact us

If you have any questions or want to obtain more information about studies at the School of Computer Science at Reykjavik University please contact:

Was the content helpful? Yes No