Zum Inhalt springen

Dekomposition

Aus MOOCsWiki Staging
Die Druckversion wird nicht mehr unterstützt und kann Darstellungsfehler aufweisen. Bitte aktualisiere deine Browser-Lesezeichen und verwende stattdessen die Standard-Druckfunktion des Browsers.
aiMOOC-Siegel aiMOOC

Dekomposition

QR-Code


Einleitung

Zielgruppe: Schülerinnen und Schüler ab Klasse 7 sowie Einsteigerinnen und Einsteiger in die Informatik. Du lernst, große Probleme in überschaubare Teilprobleme zu zerlegen, Abhängigkeiten zu erkennen und Lösungen wieder zusammenzuführen. In der Informatik heißt diese Denkstrategie Dekomposition. Hier geht es um Problemlösen, nicht um den biologischen Abbau von Stoffen.

Fehler beim Erstellen des Vorschaubildes:
Eine Buchzusammenfassung wird in Seiten- und Kapitelaufgaben zerlegt.

Der englischsprachige BBC-Film zeigt, warum unvollständige Teilaufgaben zu Fehlern führen. Halte beim Anschauen fest, welche Handlung zunächst vergessen wurde.

Grundlagen und Begriffe

Dekomposition bedeutet, ein komplexes Ziel in kleinere, sinnvoll abgrenzbare Teilaufgaben aufzuteilen. Jede Teilaufgabe hat ein Ergebnis; zusammen müssen die Ergebnisse das ursprüngliche Ziel erfüllen. Beispielsweise umfasst ein Schulfest die Bereiche Raum, Programm, Werbung, Verpflegung und Sicherheit. Die Bereiche hängen teilweise voneinander ab.

Merksatz: Zerlegen hilft beim Verstehen; Algorithmen beschreiben anschließend die Lösungsschritte. Abstraktion blendet Unwesentliches aus, Mustererkennung entdeckt Ähnlichkeiten.

Teilprobleme sinnvoll bestimmen


Vom Ziel zum Aufgabenbaum

Schreibe zuerst das überprüfbare Gesamtziel auf. Frage dann: Welche Ergebnisse sind nötig? Zerlege jede große Aufgabe weiter, bis du einen Arbeitsschritt erklären, bearbeiten und prüfen kannst. Ein Aufgabenbaum zeigt die Hierarchie. Ein Teilproblem soll möglichst klar sein und nicht einfach eine Wiederholung des Oberbegriffs.

Ein Modell des informatischen Denkens mit mehreren Bearbeitungsphasen.
Ein Modell des informatischen Denkens mit mehreren Bearbeitungsphasen.

Beispiel: Für eine Klassenwebsite unterscheidest du Inhalte, Gestaltung, technische Umsetzung und Prüfung. Bei den Inhalten folgen Texte, Bildrechte und Aktualität als Unteraufgaben.

Schnittstellen und Abhängigkeiten

Teilaufgaben sind selten völlig unabhängig. Die Gestaltung einer Website benötigt Informationen über Inhalte; die Veröffentlichung setzt eine technische Prüfung voraus. Eine Schnittstelle legt fest, welche Informationen oder Ergebnisse übergeben werden. Eine Abhängigkeit beschreibt, welche Aufgabe vorher erledigt sein muss. Bei einer Gruppenarbeit vereinbart ihr deshalb Zuständigkeit, Eingaben, erwartete Ergebnisse und Termine. So vermeidet ihr Lücken und doppelte Arbeit. Zu feine Zerlegung kann zusätzlichen Abstimmungsaufwand erzeugen.

Umsetzung in Informatik und Alltag

In der Programmierung kann eine Anwendung in Funktionen oder Module zerlegt werden: Eingabe prüfen, Daten verarbeiten, Ergebnis anzeigen. Jedes Modul lässt sich separat testen. Die Gesamtlösung muss zusätzlich im Zusammenspiel geprüft werden.

Hierarchische Dekompositionsstruktur in der Systemmodellierung.
Hierarchische Dekompositionsstruktur in der Systemmodellierung.

Beim Kochen trennst du Einkauf, Vorbereitung, Zubereitung und Aufräumen. Anders als eine bloße zeitliche Schrittfolge kann Dekomposition auch parallele Bereiche beschreiben.

Prüfen und Verbessern

Prüfe die Zerlegung anhand von vier Fragen: Sind alle notwendigen Aufgaben enthalten? Überschneiden sich Zuständigkeiten unnötig? Sind Abhängigkeiten sichtbar? Kannst du die Ergebnisse zusammenführen und das Gesamtziel testen? Fehlende Teile fallen oft erst beim Zusammenfügen auf.

Fehler beim Erstellen des Vorschaubildes:
Abstraktion als ergänzende Denkstrategie: wichtige Eigenschaften hervorheben.

Grenze: Nicht jedes Problem besitzt genau eine richtige Zerlegung. Verschiedene Aufgabenbäume können sinnvoll sein; die Qualität zeigt sich an Verständlichkeit, Prüfbarkeit und Koordinationsaufwand.

Interaktive Aufgaben


Quiz: Teste dein Wissen

Was bezeichnet Dekomposition in der Informatik? (Ein Problem in bearbeitbare Teilprobleme zerlegen) (!Alle Details gleichzeitig programmieren) (!Daten dauerhaft löschen) (!Nur einen Computer reparieren)




Was steht am Anfang einer sinnvollen Zerlegung? (Ein klares Gesamtziel) (!Eine zufällige Programmiersprache) (!Die fertige Lösung) (!Eine Liste ohne Zweck)




Was zeigt ein Aufgabenbaum? (Die Hierarchie von Teilaufgaben) (!Nur die Bearbeitungszeit) (!Die Bildschirmauflösung) (!Die Anzahl der Geräte)




Was beschreibt eine Schnittstelle? (Die vereinbarte Übergabe zwischen Teilaufgaben) (!Eine beliebige Farbe) (!Einen unbenutzten Ordner) (!Eine Schulnote)




Was ist eine Abhängigkeit? (Eine Aufgabe benötigt das Ergebnis einer anderen) (!Alle Aufgaben sind gleich) (!Eine Aufgabe ist überflüssig) (!Jede Aufgabe ist automatisch fertig)




Warum testet man auch die Gesamtlösung? (Einzelne korrekte Teile können zusammen fehlerhaft sein) (!Einzeltests sind immer verboten) (!Zusammenführen ist unnötig) (!Die Reihenfolge spielt niemals eine Rolle)




Was gehört zur Dekomposition einer Website? (Inhalte und Technik als Teilbereiche bestimmen) (!Nur die Hintergrundfarbe wählen) (!Alle Texte löschen) (!Den Browser schließen)




Was kann eine zu feine Zerlegung bewirken? (Mehr Abstimmungsaufwand) (!Immer weniger Kommunikation) (!Garantiert fehlerfreie Ergebnisse) (!Keine Zuständigkeiten)




Wie unterscheidet sich Abstraktion von Dekomposition? (Abstraktion reduziert Details und Dekomposition zerlegt Aufgaben) (!Beide bedeuten ausschließlich Kopieren) (!Abstraktion ersetzt jeden Test) (!Dekomposition entfernt alle Ziele)




Was kennzeichnet eine gute Teilaufgabe? (Ein klares überprüfbares Ergebnis) (!Einen unbekannten Zweck) (!Unbegrenzte Überschneidungen) (!Keine Verbindung zum Gesamtziel)





Memory

Gesamtziel Gewünschtes Ergebnis der gesamten Arbeit
Teilproblem Abgegrenzter bearbeitbarer Bereich
Schnittstelle Vereinbarte Übergabe von Informationen
Abhängigkeit Notwendige Voraussetzung für eine andere Aufgabe
Integration Zusammenführen der Teilergebnisse





Drag and Drop

Ordne den passenden Begriff zu. Beschreibung
Zielklärung Ergebnis festlegen
Zerlegung Unteraufgaben bestimmen
Koordination Zuständigkeiten abstimmen
Einzelprüfung Teilergebnis kontrollieren
Gesamtprüfung Zusammenspiel testen





Kreuzworträtsel

Modul Abgegrenzter Programmbaustein?
Planung Vorbereitung der Aufgabenverteilung?
Schnittstelle Vereinbarter Übergabepunkt?
Prüfung Kontrolle eines Ergebnisses?
Teilaufgabe Kleiner Bereich eines großen Vorhabens?
Integration Zusammenführung der Ergebnisse?





LearningApps


Lückentext

Ergänze die zentralen Begriffe.
Bei der

wird ein großes Problem in kleinere Bereiche zerlegt.
Vor dem Zerlegen klärst du das

.
Ein

zeigt die Gliederung der Aufgaben.
Eine

beschreibt die Übergabe zwischen Bereichen.
Eine

legt eine notwendige Voraussetzung fest.
Bei der

werden Ergebnisse zusammengeführt.
Mit einem

prüfst du das Ergebnis.



Offene Aufgaben


Leicht

  1. Schulalltag: Zerlege die Vorbereitung deiner Schultasche in vier sinnvolle Aufgaben.
  2. Kochen: Erstelle einen Aufgabenbaum für ein einfaches Abendessen.
  3. Veranstaltungsplanung: Benenne fünf Teilaufgaben eines Klassenfestes.
  4. Lernstrategie: Teile die Vorbereitung auf eine Klassenarbeit in überprüfbare Bereiche.


Standard

  1. Webdesign: Entwirf einen Aufgabenbaum für eine Klassenwebsite mit mindestens zwei Ebenen.
  2. Projektmanagement: Weise einem Team Aufgaben und Übergaben für einen Projekttag zu.
  3. Programmierung: Skizziere drei Funktionen einer kleinen Quiz-Anwendung und ihre Eingaben.
  4. Qualitätssicherung: Prüfe einen fremden Aufgabenbaum auf fehlende Teilaufgaben.


Schwer

  1. Softwarearchitektur: Vergleiche zwei unterschiedliche Zerlegungen derselben Lern-App.
  2. Abhängigkeitsgraph: Zeichne Abhängigkeiten zwischen mindestens acht Projektaufgaben.
  3. Systemtest: Entwirf Einzel- und Integrationstests für eine digitale Anmeldung.
  4. Reflexion: Untersuche, wann sehr viele Teilaufgaben die Zusammenarbeit erschweren.




Text bearbeiten Bild einfügen Video einbetten Interaktive Aufgaben erstellen



Lernkontrolle

  1. Problemanalyse: Begründe anhand eines Beispiels, warum das Gesamtziel vor den Teilaufgaben geklärt werden muss.
  2. Projektplanung: Vergleiche zwei Aufgabenbäume für ein Schulfest nach Vollständigkeit und Überschneidung.
  3. Schnittstelle (Software): Beschreibe, welche Daten zwei Module einer Quiz-App austauschen müssen.
  4. Fehleranalyse: Erkläre, warum eine funktionierende Einzelkomponente das Gesamtergebnis nicht garantiert.
  5. Transfer (Lernen): Übertrage die Zerlegung einer Website auf ein anderes Schulprojekt und begründe Unterschiede.




Lernnachweis

Du kannst ein Ziel präzise formulieren, einen Aufgabenbaum mit mindestens zwei Ebenen erstellen, Zuständigkeiten und Schnittstellen dokumentieren, Abhängigkeiten markieren und anhand eigener Tests nachweisen, dass die Teilergebnisse das Gesamtziel erfüllen. Als Produkte eignen sich ein beschrifteter Aufgabenbaum, ein Projektplan und ein kurzer Prüfbericht.


OER und Wikipedia

Geprüfte Bildquellen und Rechte:

Videos: What is decomposition? – BBC Bitesize for Teachers; Computational Thinking – Computer Science Lessons. Die Videos sind eingebettete Drittinhalte; keine freie Nachnutzungslizenz wird behauptet. Fachquellen: BBC Bitesize: Decomposition; Wikipedia: Decomposition (computer science).



Verknüpfte Lernbereiche


aiMOOC Projekte



Schulfach+




aiMOOCs



aiMOOC Projekte