The ALMA graduate program offers a Master's degree in the scientific area of "Algorithms, Logic and Discrete Mathematics". The duration of the program is three (3) academic terms.  The courses offered by the program can be categorized as follows:

1. Required course


2. Elective-Required courses

These courses can be subdivided into the following groups:

Group A (Algorithms): Approximation Algorithms
Combinatorial Optimization
Computational Complexity
Group B (Logic) Recursion Theory
Set Theory
Group C (Discrete Mathematics): Graph Theory
Stochastic Processes

3. Elective courses

This category includes a variety of courses in algorithms, logic, and  discrete mathematics offered each year by the participating departments. 

4. Seminar courses: This category includes courses on advanced topics in algorithms, logic, or discrete mathematics which are usually taught by visiting researchers. 

5. Study courses: This category of courses is offered to students who have successfully completed the required and the elective-required courses, and want to deepen their knowledge in a particular research area. The study courses are taken under the supervision of a faculty member of ALMA. 

The required, the elective-required, and the elective courses correspond to six (6) ECTS each. The seminar and the study courses correspond to four (4) ECTS each.

Subject to the approval of the ALMA program committee, a student can: 

a. take up to twelve (12) ECTS by attending courses of other similar or related graduate programs,

b.  use for credit courses that he or she has successfully completed before entering the ALMA program .

Every student can get up to thirty (30) ECTS using courses of the above categories (a) and (b). 

In order to satisfy the requirements for the Master's degree, a student must complete ninety (90) ECTS, as follows: 

- Twenty four (24) ECTS by successfully completing the required "Algorithms" course, and three (3) elective-required courses, one from each respective group (A) Algorithms, (B) Logic, and (C) Discrete Mathematics. 

- Thirty six (36) ECTS by successfully completing other courses. 

- Thirty (30) ECTS by successfully completing a graduate research thesis.