About

A public record of Moroccan AI education and research.

Finding out where AI is taught or researched in Morocco usually means trawling dozens of institutional sites, half of which are out of date. MADRASA collects that information once, in the open, with a source and a date attached to every line.

What it is

MADRASA is a community-maintained catalog of two things: AI-related education programs offered by Moroccan institutions, and the Moroccan laboratories, centers, units and teams doing AI-related research.

It is a dataset before it is a website. Two JSON files hold every record; this interface reads them directly. Anyone can consume the same files · for a thesis, a policy brief, a scholarship search, or another interface entirely.

What it is not

It is not a ranking, an accreditation body, or an admissions service. It records what institutions publish about themselves. Deadlines, fees and eligibility change constantly, so the official page linked on every entry always takes precedence over what you read here.

51Research structures
5Education programs
18Institutions
113Domain tags

Catalog last verified on 1 August 2026. Counts are computed from the JSON files at page load, so this page can never drift from the data.

Method

How an entry gets in

The rules are deliberately narrow. A catalog that accepts everything is worth nothing.

  1. One official source, minimum

    Preference order: the institution’s own page, then its admissions platform, then an official PDF on an institution domain, then a ministry, CNRST or Jamiati portal. Secondary sources are a last resort.

  2. AI has to be visible

    A generic computer science degree does not qualify. There must be a stated AI, machine learning, data science or closely adjacent component · even if the structure’s official name is broader.

  3. Recorded, not paraphrased

    Fields follow a published schema with fixed vocabularies for level, mode, tuition, status and region, so entries stay comparable instead of turning into free prose.

  4. Dated and re-checked

    Every record stores last_checked. An entry that stops being verifiable is marked nonactive rather than deleted, so the history stays intact.

  5. Merged in public

    Changes arrive as pull requests. Automated validation runs on each one; a maintainer checks the source before merging.

Reading an entry

Two fields do most of the work when you judge how much to trust a record.

status
Operational state as far as public sources show. Active means the program or structure appears to be running; nonactive means archived, discontinued or kept for historical tracking.
last_checked
The date a human last opened the official source and confirmed the entry. Older dates are not wrong · they are simply less fresh.
url
Always a list. Some entries need more than one official page, for example a lab page plus its doctoral study structure.
domains
Free-text tags written by contributors. They are grouped into families on this site for browsing, but stored exactly as submitted.
Active · activeNot active · nonactive

Honest limitations

Known gaps

Stating these plainly is more useful than pretending the catalog is complete.

Programs are under-covered

Only 5 education programs are listed against 51 research structures. Morocco has many more of both.

Geography is uneven

7 of Morocco’s 12 regions appear. Southern and eastern institutions are barely represented.

Tags are contributor-written

Domain vocabulary is not controlled, so similar ideas can appear under different labels. This site reconciles the obvious cases only.

Who maintains it

MADRASA is a project of MAIR, a Moroccan AI community. It is independent: no institution pays for placement, and inclusion is not an endorsement.

The code and data are MIT licensed and live on GitHub. Corrections are welcome from anyone · students and staff of the listed institutions especially.

Something missing? The catalog is edited by the community.

MADRASA is maintained in the open. Adding a program or a lab means opening one issue · or one small pull request against a JSON file. Every entry needs an official source and a verification date.