Heiratsproblem Unterrichtseinheit - Hinweise für den Lehrer

Zuordnungsprobleme sind alltägliche Probleme, die jedem bekannt sind. Ob das Finden einer Tischordnung, Zusammenstellen von Teams, Einteilen von Studenten in Übungsgruppen oder Zimmerbelegungen in einem Schullager, all dies sind letztendlich Zuordnungsprobleme. Diese Unterrichtseinheit setzt sich mit dem berühmtesten Zuordnungsproblem, dem sogenannten "Heiratsproblem", eingehend auseinander. Der Unterricht gliedert sich in zwei Teile.

Der erste Teil beschäftigt sich mit dem Heiratsproblem auf rein algorithmischer Basis ohne jeglichen Bezug zur Implementation. Für diesen Teil inklusive Gruppenarbeit werden zwei Stunden benötigt.

In einem zweiten Teil soll der vorgestellte Algorithmus als Programmierübung in Microsoft Excel mit Visual Basic ausprogrammiert werden. Dafür ist mit mindestens zwei weiteren Stunden zu rechnen, je nach Programmierkenntnissen der Schüler auch mit mehr.

Voraussetzungen an die Infrastruktur

Der Unterrichtsraum sollte neben dem Lehrervortrag die Arbeit in 3er-Gruppen ermöglichen. Für die Programmierübung des zweiten Unterrichtsteils müssen Computer mit Microsoft Excel zur Verfügung stehen. Am idealsten wäre, wenn pro Schüler ein Computer vorhanden ist. Es kann aber auch in 2er-Teams programmiert werden.

Vorausgesetzte Kenntnisse der Studierenden

Lernziele

Leitidee

Für Computer-Benutzer ist oft schwer zu verstehen, wie ein Computer Probleme lösen kann. Dies führt nicht selten zu Missverständnissen und Schwierigkeiten, ja sogar zu Berührungsängsten mit der "technischen Wunderkiste".

Am Beispiel eines typischen und allgemeinverständlichen Problems aus der theoretischen Informatik soll deshalb das Verständnis von Algorithmen und Programmen vertieft werden. Die Teilnehmer erfahren, dass Informatik nicht zwingend am Computer stattfinden muss, sondern (wie alle Wissenschaften) vor allem im Kopf beginnt. Ein Problem kann vom Computer nämlich nur dann gelöst werden, wenn es einen Algorithmus dafür gibt.

Damit der Computer den Algorithmus schliesslich für uns durchführen kann, müssen wir den Algorithmus in einer für den Computer verständlichen Sprache ausprogrammieren. In Microsoft Excel steht dafür mit Visual Basic ein weit verbreitetes Programmiertool zur Verfügung. Damit implementieren wir im zweiten Teil den Algorithmus, um aufzuzeigen, wie man sich mühsame Arbeiten am Computer durch kleine eigene Programme erleichtern kann.

Fundamentale Idee

Computer können für uns Probleme lösen, wenn es einen Algorithmus zum Lösen des Problems gibt. Der Algorithmus muss dazu jedoch in einer für den Computer verständlichen formalen Sprache beschrieben werden. Wir können den Algorithmus natürlich auch selbst durchführen, dies kann aber unter Umständen sehr mühsam werden.

Dispositionsziele

Die Schüler verstehen, wie ein Computer bei der Lösung eines Problems helfen kann. Sie entwickeln ein Gefühl dafür, was ein Computer kann und was nicht. Wenn die Schüler auf ein Problem stossen, welches einem der Computer abnehmen könnte, so erkennen sie das. Wenn sie ein besonders mühsames Problem haben, welches sie immer wieder lösen müssen, werden sie versuchen ein Programm dafür zu entwickeln.

Operationalisierte Lernziele

Ablauf des Unterrichts

U'methode Beschreibung Material



Lehrervortrag / Diskussion
  • Zuordnungsprobleme: Beispiele aus dem Alltag (Brainstorming)
  • Ausführliches Beispiel:
    Für ein Programmierprojekt sollen 2er-Teams aus Algorithmikern und Programmierern gebildet werden. Halbieren der Klasse in Algorithmiker und Programmierer mit persönlichen Präferenzlisten. Wie bilden wir 2er-Teams?
  • Kurze Diskussion über mögliche Lösungsansätze im Plenum.
  • Slides
  • Persönliche Präferenzliste für jeden Schüler und jede Schülerin.
IU
  • Überleitung zum "Heiratsproblem".
  • Ablauf der Doppelstunde: Wer macht wann was?
  • Ziele der Doppelstunde
  • Slides
Lehrervortrag
  • "stabile Heirat"
  • Slides
Rollenspiel im Klassenverband
  • Algorithmus als Rollenspiel durchführen gemäss verteilten Präferenzlisten.
  • Slide Nr. 14
  • Präferenzlisten
Lehrervortrag
  • Algorithmus zum Lösen des Problems
  • Durchführen an Wandtafel am Beispiel von Slide Nr. 13
  • Mann- und Frau-optimale Lösungen
  • Slides
  • Wandtafel
Gruppenarbeit
(3er Gruppen)
  • Trennung von Algorithmus und Datenstruktur (2 Tabellen) durch Verteilung auf 3 Personen.
  • Gemeinsames Durchspielen des Algorithmus
  • Aufgabenblätter
  • Tabellen "Männer" und "Frauen"
  • Algorithmus-Blatt
  • Lösungsblätter
Einzelarbeit
  • Selbständiges Lösen eines kleineren Heiratsproblems.
  • Ausformulieren des Algorithmus in eigenen Worten.
  • Aufgabenblätter
  • evtl. Algorithmus-Blatt
  • Lösungsblätter
Gruppenarbeit
  • Kurze Diskussion der Algorithmus-Formulierungen.
  • Gemeinsame Formulierung des Algorithmus.
  • Aufgabenblätter
Diskussion
  • Jede Gruppe präsentiert kurz ihre Ausformulierung des Algorithmus.
  • Kurze Diskussion der Resultate.
  • Aufgabenblätter
  • Algorithmus-Blatt
  • Slides als Handout



IU
  • Ablauf: Wer macht wann was?
  • Motivation
  • Ziele
  • Slides
Lehrervortrag
  • Excel als Welt (Tabellen als Datenstrukturen) und Visual Basic als Programmiertool welches darauf operieren kann
  • Zugriff auf Exceltabellen und deren Zelleninhalte von Visual Basic aus.
  • Die wichtigsten Sprachelemente von Visual Basic (Variablen, While und If-Then-Else).
  • Kurze Demonstration in Excel.
  • Slides
  • PC und Beamer für Demonstration
  • Handout "Sprachübersicht"
Einzelarbeit
(individualisiertes Lernen)
  • Ausprogrammieren des Heiratsproblems
  • Aufgabenblätter
  • Handout "Sprachübersicht"
  • Datei heiratsproblem.xls mit Tabellen "Männer" und "Frauen"
  • Lösung: heiratsproblem_loesung.xls
Lehrervortrag / Diskussion
  • Diskussion der Resultate
  • kurze weiterführende Informationen zu Visual Basic in Excel (Makro-Recorder, Hilfe)
  • Schluss
  • Slides
  • Slides als Handout



Hinweise zur Gruppenarbeit

Hinweise zum Heiratsproblem