Abstracte datatypen (ADT's) vormen een steeds belangrijker onderdeel van de leerstof in inleidende cursussen programmeren. In studieboeken wordt een grote verscheidenheid aangetroffen in de behandeling van ADT's. In deze bijdrage wordt een didactiek gegeven van ADT's in de imperatieve programmeertaal Modula-2. Deze benadering wordt geplaatst naast de aanpak van ADT's in de functionele programmeertaal Miranda (Miranda is een handelsmerk van Research Software Limited). De volgende stappen worden onderscheiden: het model, de signatuur, de typedefinitie, de algebraïsche en/of operationele specificatie, en de implementatie. Speciale aandacht krijgen: data hiding, sharing van datastructuren en het gebruik van pseudo-generische elementtypen.