Konzept eines Arrays näherbringen? Schubkasten!

Immer wieder stelle ich mir die Frage, wie ich informatische Inhalte möglichst leicht verständlich, also als Analogie, haptisch greifbar, …, darstellen kann. Ich erhoffe mir dadurch, dass besonders Schüler, die über weniger Abstraktionsvermögen verfügen, die Thematik leichter durchdringen und sich für informatische Themen motivieren können.

Schubkasten-Idee

Die Idee mit dem Schubkasten ist nicht neu, allerdings wird die Analogie oftmals nur als Bild gezeigt, um Arrays darzustellen.
Erst vor Kurzem habe ich den geeigneten „Container“ für die Analogie gefunden. Oftmals haben die Schubkästen, die man im Bau- oder Bastelmarkt kaufen kann, nur eine Öffnung, haben keinen Deckel, usw.
Gestern habe ich die unten abgebildete Sammelbox (s.u.) bei Thomas Philipps gefunden. Mit den einzeln verschließbaren Boxen (inkl. Nummernaufkleber) ist der Lesezugriff direkt abbildbar, da man von aussen die Werte nicht ablesen kann.

Analogie

Mit der Schubkasten-Analogie lassen sich viele informatische Vorgänge rund um das Array abbilden, seien es String-Arrays, Integer-Arrays (siehe Bild oben), aber auch der Unterschied zwischen einem Null-Pointer („Es ist nichts in der Box“) und der Wert 0 ist abgespeichert („Es ist ein Zettel mit dem Wert 0 in der Box“).

Auslesen

Das Auslesen der Werte wird mittels eines Rollenspiels nachgespielt. Ein Schüler fragt einen anderen (Stichwort „Pointer“) z.B. 3. Stelle des Arrays (=Box mit Wert 2). Dieser übergibt ihm den Wert in Form des Zettels. Nun kann mit dem Wert etwas angestellt werden, bzw. dieser für eine Berechnung benutzt werden usw.

Zuweisen

Die Zuweisung funktioniert ähnlich wie das Auslesen, nur kann nun der erste Schüler einen Wert in Form eines neuen Zettels in der Box ablegen.

Mehrdimensionale Arrays

Einziger Nachteil meiner Box: Die Böxchen sind durchsichtig und sie sind nicht in einer Reihe, was vielleicht später bei mehrdimensionalen Arrays zu Verwirrung führen könnte. Allerdings denke ich, dass die Zahlenaufkleber dafür sorgen, dass man die Werte von aussen nicht lesen kann und die mehrdimensionalen Arrays kann man mit z.B. mit Streichholzschächtelchen (übrigens ein Schibboleth) innerhalb der Böxchen darstellen.

Unterrichtsidee für die Berufsschule

Lehr-Lern-Situation

Ich unterrichte momentan alle Azubis des ersten Ausbildungsjahrs der IT-Berufe (ca. 120 Schüler). Die Schüler kennen bereits Variablen, If-Bedingungen, Select-Case-Bedingungen und eindimensionale Schleifen.

Motivationsphase

Zunächst nehme ich ein Kästchen aus dem Schubkasten heraus und stelle den Schülern diese als Analogie für eine Variable vor. Diese kennen Sie bereits. Die Zeit- und Übersichtsprobleme, die sich aus dem Erstellen von vielen Variablen ergeben, werden diskutiert. Als Lösung präsentiere ich die Schubkastenbox (s.o.) Es werden die Vorteile der Boxidee gesammelt und ich stelle die Syntax des Erstellens, Werte-Zuweisens und Auslesens von Arrays in der geeigneten Programmiersprache vor.

Anwendungsphase

Die Aufgabenstellung der Anwendungsphase lautet wie folgt:
„Eine Restaurantbesitzer möchte den Überblick über die Umsätze der letzten 2 Wochen mit dem Computer behalten und diese auswerten. Zur Zeit wird dies per Vergleich der Kassenausdrucke an einer Pinnwand dargestellt . Ihr Ausbilder hat Ihnen den Auftrag gegeben, ein Computerprogramm zu schreiben, dass die Umsätze (12 Werktage) mittels eines Arrays in einem Computerprogramm abzubilden. Es soll der Durchschnitt berechnet werden und die drei Tage mit den höchsten Umsätzen sollen angezeigt werden können.“

Ihr Ausbilder hat Ihnen die folgenden Vorgaben gemacht:

  1. Der aktuelle Umsatz des Tages soll im ersten Array-Feld stehen. Der Eintrag vom vorherigen Tag steht dann logischerweise im zweiten Feld, usw.
  2. Wenn ein neuer Eintrag in das Array hinzugefügt werden soll, verschieben sich alle anderen Einträge um einen Tag nach hinten.

Meine (aktuellen) Informatik-Links

Hier nun meine aktuelle unkommentierte Linkliste.

GenerellesMaterial

Gutes Unterrichtsmaterial
[informatikunterricht] – Home (auf informatikZentrale.de)
Gymnasium Ideensammlung
OS,SQL, etc.
Tino Hempel
Links zu Unterrichtmaterial
Inf-Schule
Informatik in der Oberstufe – Index
Melzkaffee – Informatik
Informatik Grundkurs Klasse 12
Netze und ihre Ausdehnung | online-wissen
Skriptum Informatik: Inhaltsverzeichnis

HTML/PHP/DB

HTML

Free Website Templates
HTML and CSS Table Border Style Wizard
Bento – Learn HTML and CSS in your browser!
Html shell

DB

Relationale Datenbanken | Chrissis‘ Edublog

SQL-TutorialMiniwelten zur Modellierung

PHP Grundlagen – Software Entwicklung und IT Projektmanagement

PHP für dich – Der echo bzw. print Befehl

mysql => php

Datenbank (alles) => Arbeitsblätter

Gästebuch mit PHP und MySQL – Lehrer-Online

Projektarbeit Warenwirtschaftssystem – Lehrer-Online

SQL Tutorial

Peter Kropff

Betriebssysteme

Betriebssysteme

Prof. Dr. Christian Baun – Vorlesungen

Operating Systems Course, (SS2014)

Netze

Netzwerksimulation

Rechnernetzen: Material und Unterrichtseinheiten

Netzwerktechnik – Wikibooks, Sammlung freier Lehr-, Sach- und Fachbücher

Digitale Schaltungen

Material und Unterrichtseinheiten fuer den Informatik-Unterricht – Technische Informatik

Umrechnung von ZahlensystemenRechnerarchitektur mit Simulator JOHNNY – ZUM-Wiki

ProgrammierenJava

studsemjuel.nw.lo-net2.de/if/basiskurs/

Java Tutorial interaktiv – Programmieren lernen mit Java

Programmierung: Fenstergestaltung mit Java – Lehrer-Online

WbrsX Mobile AppMaterial

Objektorientierte Sytementwicklung in Java | Chrissis‘ Edublog

Java Tutorial interaktiv – Programmieren lernen mit Java

Aktuelle Aufgaben – Programmieraufgaben.ch

Java-Programmieraufgaben / Java-Übungsaufgaben – Übersicht

Javakurs/Übungsaufgaben – FreitagsrundenWiki

www2.inf.fh-bonn-rhein-sieg.de/~sweil2m/Tutorium/Tutorium1.pdf

SWING WindowBuilder

Java – Links für Übungsaufgaben

Hier nun eine kleine Liste von guten Links zum Erstellen eigener Übungsaufgaben.

Aufgabensammlungen

Aufgaben von Blue Pelican Java (englisch)

Aufgaben von Programmieraufgaben.ch

Erläuterungen und Aufgaben bei gailer.net

Erläuterungen und Aufgaben bei informatikzentrale.de

Cheatsheets

GUI-Cheatsheet (Swing)

XML-Dateien schreiben