Lernfeld Algorithmen und Datenstrukturen

Die Materialien ohne Lösungen sind frei zugänglich. Die Materialpakete inklusive Lösungen sind passwortgeschützt, da sie nur für Lehrer*innen gedacht sind. Bei Interesse senden Sie uns bitte eine E-Mail unter Angabe Ihres Namens und Ihrer Schule.

Einstieg in das algorithmische Problemlösen mit Snap!

Die Materialien führen im Kontext eines Zeichenprogramms nach und nach in die wichtigsten Konzepte der Algorithmik ein. Dazu gehören die Verwendung von Anweisungen, Kontrollstrukturen und Variablen, die Kommunikation zwischen Objekten und das Zusammenfassen von Teilfunktionen in einer Operation (bei Snap! sind das die eigenen Blöcke). Diese Konzepte sollen abschließend im Rahmen eines kleinen Projektes selbständig angewendet werden.

Um dem unterschiedlichen Lerntempo der Schüler*innen und heterogenen Lerngruppen, in denen einige Schüler*innen bereits Vorkenntnisse im Bereich Algorithmik besitzen, gerecht zu werden, sind Zusatzmaterialien enthalten, die Ergänzungen auf einem komplexeren Niveau vorsehen.

Zeichenkettenverarbeitung mit Snap!

Die Materialien knüpfen an das Materialpaket algorithmisches Problemlösen mit Snap! an und erarbeiten grundlegende algorithmische Konzepte im Umgang mit Zeichenketten. Als Kontext dienen dabei unter anderem verschiedene Verschlüsselungsverfahren, so dass sich eine Verknüpfung mit dem Modul Kryptologie aus dem Lernfeld Informationen und Daten anbietet.

Einstieg in die textbasierte Programmierung mit Processing

Die Materialien richten sich vor allem an Lernende, die bereits erste Erfahrungen mit der Programmierung in einer grafischen Programmiersprache gesammelt haben und nun einen Einblick in die textbasierte Programmierung erhalten möchten. Das Materialpaket umfasst vier Themenblöcke.

Der Einstieg erfolgt über die Zeichenoperationen von Processing, die mit Benutzerinteraktionen kombiniert werden. Am Ende steht ein erstes eigenes Projekt.
Darauf aufbauend können grundlegende algorithmische Konzepte im Umgang mit Zeichenketten erarbeitet werden. Der Leitfaden orientiert sich am Leitfaden zur Zeichenkettenverarbeitung mit Snap!, so dass die Materialien auch parallel eingesetzt werden können.
Über die Gemeinsamkeiten der grafischen und textbasierten Programmiersprachen wird in einem weiteren Leitfaden die programmiersprachenunabhänge Darstellung von Programmen in Form von Struktogrammen motiviert.
Der vierte Leitfaden thematisiert das Erstellen eigener Methoden in Processing.

Einstieg in die Entwicklung von Programmen im Java-Editor

Die Materialien richten sich an Lernende, die bereits erste Erfahrungen in der Programmierung, z.B. in einer grafischen Programmiersprache wie Scratch oder Snap! gesammelt haben. Sie bieten einen ersten Einstieg in die Entwicklung von Programmen mit graphischer Benutzeroberfläche in Java.

Im Rahmen dieses Materialpaketes wird der von Gerhard Röhner erstellte Java-Editor verwendet. Darin enthaltene Elemente zum Design von graphischen Oberflächen wie Objekt-Inspektor, Vorschaufenster und Editor findet man dabei auch in anderen Entwicklungsumgebungen wieder.

Reihungen in Processing und Java

Aufbauend auf den Inhalten aus dem Materialpaket Einstieg in die textbasierte Programmierung mit Processing können sich die Schüler:innen mit diesen Materialien den Umgang mit ein- und zweidimensionalen Reihungen erarbeiten. Die Erläuterungen erfolgen anhand von Beispielen in Processing. Die Übungsaufgaben können teilweise aber auch unabhängig von Processing, z. B. als JFrame in einer Entwicklungsumgebung für Java umgesetzt werden. Die Aufgaben greifen auch Aspekte aus dem Bereich Kryptologie auf.

Erstellen und Verwenden eigener Klassen in Java

Anhand dieser Materialien können sich die Lernenden Einsatzmöglichkeiten eigener Klassen und Objekte sowie den Umgang damit erarbeiten. Dabei geht es sowohl um die Verwendung einer gegebenen Klasse als auch um den Entwurf und die Implementierung eigener Klassen.

Die Materialien richten sich an Schüler:innen in der Qualifikationsphase. Als Werkzeuge werden der Java-Editor und Processing verwendet. Eine Anpassung der Beispiele und Aufgaben an das jeweils andere Werkzeug oder eine andere Entwicklungsumgebung ist möglich.

Prinzip und Verwendung der Datenstrukturen Stapel, Schlange und Dynamische Reihung

Die Materialien richten sich an Lernende in der Qualifikationsphase, die bereits Erfahrungen mit dem algorithmischen Problemlösen und der Verwendung eigener Klassen und Objekte sammeln konnten. Sie bieten einen möglichen Einstieg in die Verwendung der Datenstrukturen Stapel, Schlange und Dynamische Reihung. Als Werkzeug wird der Java-Editor verwendet. Eine Anpassung an eine andere Entwicklungsumgebung ist möglich.

Suchen und Sortieren

Die Materialien zum Suchen und Sortieren richten sich an Schüler:innen der Qualifikationsphase. Sie können sowohl in Kursen auf grundlegendem als auch auf erhöhtem Anforderungsniveau eingesetzt werden. Die Entwicklung eigener Such- und Sortierstrategien ist programmiersprachenunabhängig. Das Materialpaket enthält u.a. Vorlagen und Lösungen zur Implementierung selbst entwickelter Such- und Sortierverfahren in Snap! und Processing sowie ein Gruppenpuzzle zur Untersuchung bekannter Sortierverfahren.