Kontakt
stefan.bente[at]th-koeln.de
+49 2261 8196 6367
Discord Server
Prof. Bente Personal Zoom
Adresse
Steinmüllerallee 4
51643 Gummersbach
Gebäude LC4
Raum 1708 (Wegbeschreibung)
Sprechstunde nach Vereinbarung
Terminanfrage: calendly.com Wenn Sie dieses Tool nicht nutzen wollen, schicken Sie eine Mail und ich weise Ihnen einen Termin zu.

Bloom's Revised Taxonomy (Bloom'sche Lernpyramide)

Diese Seite fasst die verschiedenen Stufen der Bloom’s Revised Taxonomy (auch Bloom’sche Lernpyramide) zusammen. Die Pyramide ist ein hierarchisches Modell, das die Komplexität von Lernzielen beschreibt. Sie wurde 1956 von dem amerikanischen Psychologen Benjamin Bloom entwickelt und 2001 von Lorin Anderson und David Krathwohl überarbeitet. Die Pyramide besteht aus sechs Stufen, die sich in ihrer Komplexität unterscheiden. Diese Stufen liegen z.B. den Praktika in Softwaretechnik 1 und 2 zugrunde.

Bloom’sche Lernpyramide

Die folgende Abbildung zeigt die Bloom’sche Lernpyramide. Die Pyramide besteht aus sechs Stufen, die sich in ihrer Komplexität unterscheiden.

Erinnern (Remember)

Hat etwas auswendig gelernt (möglicherweise ohne es zu verstehen). Das wäre das typische “Klausurlernen” von Begriffsdefinitionen, die man zwar aufsagen, aber nicht inhaltlich erklären kann. Eine typische Klausur- oder Praktikumsaufgabe wäre etwa

Welche vier Kriterien kann man anwenden, um zu prüfen, ob ein Entity zu einem Aggregate gehört?

Verstehen (Understand)

Hat den Sinn verstanden und kann es erklären (aber möglicherweise nicht aus dem Stand anwenden). Ein Beispiel wäre die Erklärung, was ein Entity und was ein Value Object ist (und der Unterschied zwischen den beiden). Auf dieser Stufe könnte man aber noch keinen Code schreiben, der die beiden Konzepte anwendet.

Typische Klausur- oder Praktikumsaufgabe wären zum Beispiel

Erklären Sie den Unterschied zwischen einem Entity und einem Value Object.

Aus welchem Grund ist es sinnvoll, im Logischen Datenmodell nur gerichtete Beziehungen zu modellieren?

Anwenden (Apply)

Auf Stufe 3 kann man eine Methode, eine Technik, ein Pattern etc. sinnvoll anwenden, wenn vorher die Rahmenbedingungen definiert wurden. Das anzuwendende Konzept und der Anwendungskontext muss nicht ermittelt werden, sondern wird vorgegeben.

Eine typische Klausur- oder Praktikumsaufgabe wären zum Beispiel:

Schreiben Sie ín Java das Entity “Person”, das die Eigenschaften “Name”, “Vorname”, “Geburtsdatum” und “Geschlecht” hat. Nutzen Sie dafür Spring JPA. Schreiben Sie einen Unit-Test dazu, der das Schreiben und Lesen aus der Datenbank testet.

Die nachfolgende Methode ist nach Clean-Code-Regel zu lang. Spalten Sie sie in Teilmethoden auf, die kurz genug sind. Wenden Sie dabei das Step-Down-Prinzip an.

Analysieren (Analyze)

Auf der Kompetenzstufe “Analysieren” ist man in der Lage, einen gegebenen Sachverhalt zu analysieren und daraus die richtigen Schlüsse zu ziehen. Das kann z.B. die Auswahl einer geeigneten Technik oder eines geeigneten Architekturstils sein, oder das Aufstellen eines Modells. Für Programmierung und Architektur heißt das, dass ich z.B. eine Anforderung analysieren kann und daraus die richtigen Schlüsse ziehe, um daraus eine geeignete Architektur oder ein geeignetes Design zu erstellen. Oder aber, dass ich ein gegebenes Stück Code anschaue und verstehe.

Aufgaben zu Level 4 “Analysieren” wären zum Beispiel:

Gegeben ist diese textuelle Beschreibung einer Anwendungsdomäne. Erstellen Sie ein Fachliches und daraus abgeleitet ein Logisches Datenmodell, das die Anforderungen abbildet.

Schauen Sie sich das folgende Stück Code an. Was macht es? Was ist die Aufgabe der einzelnen Klassen? Was ist die Aufgabe der einzelnen Methoden?

Betrachten Sie die Applikation im Repository XYZ. Welcher Architekturstil wird hier verwendet? Begründen Sie kurz Ihre Meinung und nennen Sie die Indizien, die Sie dafür herangezogen haben.

Die nachfolgende Klasse verstößt gegen das Prinzip der Single Responsibility. Refactorn Sie sie so in mehrere Teile, dass jede neue Klasse nur noch eine Aufgabe hat. Schreiben Sie dazu vorab Unit-Tests, die die korrekte Funktionalität der Klasse überprüft.

Beurteilen (Evaluate)

Auf dem Level 5 “Beurteilen” ist man in der Lage, die Qualität eines gegebenen Sachverhalts zu beurteilen. Das kann z.B. die Beurteilung eines gegebenen Modells, einer gegebenen Architektur oder eines Stücks Code sein.

Betrachten Sie das folgende Stück Code. Ist es gut oder schlecht? Was genau ist gut oder schlecht? Welche schlechten Eigenschaften wären leicht durch ein Refactoring zu beheben, welche nur aufwändig? Begründen Sie Ihre Meinung.

Nachfolgend ist eine Architektur skizziert, zusammen mit einem Entwurf für das Hosting-Modell. Ist das Hosting geeignet? Was würden Sie ändern? Begründen Sie Ihre Meinung.

Passt das nachfolgende Domain-Modell zur gegebenen Anforderung? Begründen Sie Ihre Meinung.

Gestalten (Create)

Auf dieser höchsten Kompetenzstufe ist man in der Lage, bestehendes Wissen zu neuen Ansätzen der Lösungsfindung zu kombinieren. Hier findet also “echte Innovation” statt, weil etwas Neues entsteht. Im allgemeinen ist diese Kompetenzstufe aus Zeit- und Aufwandsgründen nicht in Klausuren oder Praktika abfragbar. Solche Fragestellungen wären typischerweise Gegenstand von weitergehenden Lehrveranstaltungen, wie etwa Informatik- oder Praxisprojekten, oder eben Abschlussarbeiten.

Beispiele für diese Art der Aufgabenstellung wäre zum Beispiel:

Entwickeln Sie eine Methode zur Anforderungsermittlung von IT-Systemen, die besonders auf Benutzer*innen mit Einschränkungen und Behinderungen zugeschnitten ist.

Wir wollen ein Spiel entwickeln, bei einerseits die verteilte Entwicklung mit möglichst unabhängigen Teams möglich ist. Andererseits soll aber auf keinen Fall ein erhöhter Netzwerk-Traffic, wie bei einer üblichen Microservice-Architektur zu einer schlechten Spielerfahrung führen. Wie würden Sie das Problem lösen?

Quelle

  • Anderson, Lorin W. und Krathwohl, David R. (2001). A Taxonomy for Learning, Teaching and Assessing: a Revision of Bloom’s Taxonomy. New York, Longman