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**

Algorithms

**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 | |

Logic |

Group C (Discrete Mathematics): |
Graph Theory |

Stochastic Processes | |

Combinatorics |

**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 7.5 ECTS each. The seminar and the study courses correspond to 4 ECTS each.

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

a. take up to fifteen (15) 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 37.5 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:

- Thirty (30) 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 seven and a half (37.5) ECTS by successfully completing other courses.

- Twenty two and a half (22.5) ECTS by successfully completing a graduate research thesis.