• Schulstufe
  • Klassenstufe
  • Schulform
  • Fach
  • Materialtyp
  • Quelle 1
Sortierung nach Datum / Relevanz
Kacheln     Liste

Robotik und Programmierung im Unterricht

Dossier

Die rasante Entwicklung der Technologie in der heutigen Zeit spiegelt sich nicht nur im Alltag, sondern zunehmend auch in den Berufsfeldern unserer Schülerinnen und Schüler wider. Um sie optimal auf die Herausforderungen und Chancen des 21. Jahrhunderts vorzubereiten, ist es essentiell, Robotik und Programmierung als feste Bestandteile in den Lehrplan zu integrieren. Dieses Dossier soll Ihnen als Leitfaden dienen, um die Grundlagen dieser Schlüsseltechnologien verständlich zu vermitteln und praktische Anwendungen im Klassenzimmer zu fördern. Relevanz von Robotik und Programmierung: Robotik und Programmierung sind nicht nur fundamentale Treiber der Industrie 4.0, sondern auch kritische Werkzeuge zur Förderung des logischen Denkens und Problemlösungsfähigkeiten. Durch den Einbezug dieser Themen in den Unterricht können bereits Grundschülerinnen und -schüler lernen, komplexe Probleme systematisch zu analysieren und kreative Lösungen zu entwickeln. Schwerpunktthemen des Dossiers Grundlagen der Programmierung: Einführung in verschiedene Programmiersprachen wie Python oder Scratch, die besonders geeignet sind für den Einstieg und verständliche Konzepte der Programmierung vermitteln. Aufbau und Funktion von Robotern: Verständnis der mechanischen und elektronischen Komponenten von Robotern, inklusive Sensoren und Aktuatoren, sowie der zugehörigen Steuerungssoftware. Projektbasiertes Lernen: Entwicklung von Unterrichtsprojekten, die Schülerinnen und Schüler anregen, eigene Roboter zu bauen und zu programmieren. Solche Projekte fördern nicht nur technische Fähigkeiten, sondern auch Teamarbeit und kritisches Denken. Ethik der Robotik: Diskussion über die ethischen Aspekte der Robotik und künstlichen Intelligenz, um ein Bewusstsein für die gesellschaftlichen Auswirkungen dieser Technologien zu schaffen. Anbindung an Lehrpläne und Kompetenzmodelle: Praktische Hinweise, wie diese Themen effektiv in bestehende Lehrpläne integriert und mit anderen Fächern wie Mathematik, Naturwissenschaften und Technik verknüpft werden können. Dieses Dossier bietet Ihnen praktische Anleitungen, didaktische Tipps und weiterführende Ressourcen, um Robotik und Programmierung ansprechend und wirksam in Ihren Unterricht zu integrieren.

  • Fächerübergreifend
  • MINT: Mathematik, Informatik, Naturwissenschaften und Technik

Programmierung einer Entscheidungstabelle

Unterrichtseinheit

Schülerinnen und Schüler entwickeln ein Programm, durch das dem Verkaufspersonal in einem Computergeschäft die Rabattvergabe erleichtert wird.Im Verlauf der Unterrichtseinheit stellen die Schülerinnen und Schüler eine Entscheidungstabelle zur Rabattberechnung auf und entwickeln aus dieser unter Einsatz der Programmiersprache Visual Basic ein Computerprogramm. Sie setzen zum ersten Mal eine Entscheidungstabelle in ein Computerprogramm um. Hierbei lernen sie die Formularelemente CheckBox und OptionButton sowie deren Handling in der Programmiersprache kennen.Da die Aufstellung einer Entscheidungstabelle zu Stundenbeginn für die Schülerinnen und Schüler eine Wiederholung darstellt, wird ihnen aus Gründen der Zeitökonomie ein Lösungsraster vorgegeben. Vorkenntnisse in Visual Basic (Selektion, Logische Operatoren) müssen vorhanden und die Aufstellung und Konsolidierung von Entscheidungstabellen bekannt sein. Einsatz der Materialien Vorkenntnisse in Visual Basic (Selektion, Logische Operatoren) müssen vorhanden und die Aufstellung und Konsolidierung von Entscheidungstabellen bekannt sein. Fachkompetenz Die Schülerinnen und Schüler sollen aus der Situationsbeschreibung Bedingungen und Aktionen im Zusammenhang mit Lieferung und Rabattberechnung ableiten, aus diesen Bedingungen und Aktionen eine Entscheidungstabelle aufstellen, die Entscheidungstabelle unter Einsatz des Irrelevanzzeigers ("-") konsolidieren, aus der Entscheidungstabelle ein Visual Basic-Formular mit den Elementen OptionButton und CheckBox entwickeln die Codierung in Visual Basic durchführen und hierbei erkennen, dass als grundlegende Programmstruktur die mehrseitige Auswahl zu benutzen ist, den AND-Operator zur Verknüpfung von Bedingungen einsetzen, die MSGBOX-Funktion zur Ausgabe der einzelnen Aktionen benutzen. Methodenkompetenz Die Schülerinnen und Schüler sollen zur Problemlösung erforderliche Sachinformationen selbständig analysieren und aufbereiten, die Fähigkeit und Bereitschaft erweitern, bei der Entwicklung von Anwendungssystemen Dokumentationstechniken einzusetzen und die dokumentierte Problemlösung unter PC-Einsatz umsetzen. Thema Aufstellung einer konsolidierten Entscheidungstabelle zur Rabattberechnung und deren Umsetzung in ein Computerprogramm mit der Programmiersprache Visual Basic Autoren Ursula Hahn, Armin Hahn Fach Anwendungsentwicklung Zielgruppe IT-Berufe, Wirtschaftsgymnasium Lernfeld "Entwickeln und Bereitstellen von Anwendungssystemen" für die Berufe Informatikkaufmann/-frau und IT-Systemkaufmann/-frau Zeitumfang eine Unterrichtsstunde Technische Voraussetzungen Schüler-PCs, Visual Basic bzw. VBA Planung Rabattberechnung Armin Hahn ist am Berufskolleg des Rhein-Sieg-Kreises in Siegburg tätig. Da die Aufstellung einer Entscheidungstabelle zu Stundenbeginn für die Schülerinnen und Schüler eine Wiederholung darstellt, wird ihnen aus Gründen der Zeitökonomie ein Lösungsraster vorgegeben. Im Gegensatz dazu ist das anschließende, bei der Umsetzung der Entscheidungstabelle in ein Computerprogramm verwendete Informationsblatt nicht bis ins kleinste Detail vorstrukturiert, sondern enthält nur die grundlegenden Informationen zur Entwicklung des Computerprogramms. Diese Situation entspricht der betrieblichen Praxis, auf die die Schülerinnen und Schüler gemäß Lernfeld 6 vorzubereiten sind und in der nur selten alle relevanten Informationen bis ins Detail vorstrukturiert sind. Die Informationsbeschaffung und -strukturierung muss im Rahmen der unterrichtlichen Erarbeitungsphase - ebenso wie im Betrieb - durch Teamarbeit mit Mitschülern beziehungsweise Kollegen erreicht werden. Ergebnispräsentation Die abschließende Schülerpräsentation des Computerprogramms findet unter Einsatz des im Computerraum installierten Beamers statt. Dies hat den Vorteil, dass sowohl der Ablauf des Programms als auch dessen Codierung gezeigt werden können, wodurch die Anschaulichkeit der Problemlösung erhöht und eine nachhaltige Lernerfolgssicherung bewirkt werden.

  • Informatik / Wirtschaftsinformatik / Computer, Internet & Co.
  • Sekundarstufe II

Programmierung: Fenstergestaltung mit Java

Unterrichtseinheit

Machen Sie mit Ihren Schülerinnen und Schülern einen kleinen Crashkurs zur Erarbeitung von Grundlagen der Fenstergestaltung mit Java. Das Ergebnis: die Simulation eines Pokerspiels!Beim Erlernen einer Programmiersprache werden anfangs viele grundlegende Ideen vermittelt - leider können die Schülerinnen und Schüler aber noch nicht viel "sehen". Das Erstellen von einfachen Fenstern mit Inhalten soll die Lernenden in dieser Unterrichtseinheit motivieren und ihnen Gelegenheit bieten, sich mit den Möglichkeiten der Layout-Gestaltung zu beschäftigen. Importieren von Klassen, überschreiben von Methoden, abstrakte Methoden: viele Elemente der objektorientierten Sprache Java lassen sich an einfachen Beispielen verstehen. Bei der Fenstergestaltung werden Elemente verwendet, die den Lernenden die Möglichkeit bieten, im Rahmen vorgegebener Methoden kreativ zu sein. Voraussetzungen und Inhalte der Unterrichtseinheit Die Schülerinnen und Schüler sind bereits mit grundlegenden Konzepten der objektorientierten Programmierung vertraut (Klassen und Objekte, Schleifen, bedingte Anweisungen). Durch den Import verschiedener Pakete soll ihnen verdeutlicht werden, welche vielfältigen Möglichkeiten das Klassenkonzept von Java bietet. Wie wertvoll es ist, vordefinierte Funktionen zu überschreiben, wird in vielen Beispielen deutlich. Eine wichtige Aufgabe der Informatik ist die Simulation realer Prozesse durch geeignete Abstraktionen. Am Beispiel des Pokerspiels sollen solche Modellierungen mit den Lernenden erarbeitet werden. Die Darstellung von Inhalten und Ergebnissen verschiedener Simulationen geschieht in verschiedenen Fenstern. Einfache Fenstertechniken werden durch das Kennenlernen eines EventListeners ergänzt. Um Ergebnisse und bestimmte Werte dauerhaft zu sichern, lernen die Schülerinnen und Schüler das Anlegen und Beschreiben von Dateien. Weitere Einsatzmöglichkeiten der Materialien Die Materialien der Unterrichtseinheit können auch in einem Ergänzungskurs verwendet werden - zahlreiche anschließende Fragestellungen sind denkbar. Zudem sind sie so konzipiert, dass interessierte Schülerinnen und Schüler sie - mit kleinen Änderungen und Ergänzungen - auch für ein Selbststudium nutzen können.Die Schülerinnen und Schüler sollen Probleme mathematisch abstrahieren können. mit den Elementen einer objektorientierten Programmiersprache Sachverhalte implementieren können. einfache Fenstertechniken kennen lernen und mit Java umsetzen können. EventListener kennen lernen und anwenden können. einen Einblick in das Speichern von Daten erhalten.

  • Informatik / Wirtschaftsinformatik / Computer, Internet & Co.
  • Sekundarstufe II

Statistik meets Wahrscheinlichkeitsrechnung – vom Simulieren und…

Unterrichtseinheit
14,99 €

Mathematik- und Informatik-Unterricht kombiniert: In der Einheit "Statistik meets Wahrscheinlichkeitsrechnung" werden in erster Linie mithilfe von Simulationen am PC Daten zu Zufallsexperimenten erfasst. Als Ergänzung werden Elemente der Wahrscheinlichkeitsrechnung betrachtet, um Erwartungswerte und andere Größen bei solchen Experimenten zu berechnen. Mit dem Vergleichen der Werte aus der Datensammlung mit den theoretischen berechneten Werten soll ein tieferes Verständnis für die Größen gefördert werden."Es gibt für alles eine App" - aber einige Fragen lassen sich oft nur mit Programmieren beantworten. Der PC erzeugt Zufallszahlen, mit welchen man reale Experimente simulieren kann. Hat man ein Grundverständnis für dieses Programmieren, kann man schnell eigene Experimente modellieren und anschließend simulieren. Der Informatik-Unterricht sieht den Umgang mit Tabellenkalkulationen und einer Programmiersprache vor. Damit lassen sich auch Zufallsexperimente simulieren. Im Mathematik-Unterricht werden auch Methoden zur Berechnung von Wahrscheinlichkeiten und Erwartungswerten erarbeitet. In der Unterrichtseinheit werden Zufallsexperimente simuliert. Der Vergleich mit Daten aus der berechnenden Statistik schließt sich den Simulationen an. So kann das Material einerseits im Informatik-Unterricht eingesetzt werden - die Berechnungen können vorgestellt werden, um den simulierten Wert mit berechnetem zu vergleichen -, andererseits in der Mathematik, um die berechneten Werte mit Ergebnissen aus der Simulation zu vergleichen. Ein tieferes Verständnis des Wahrscheinlichkeitsbegriffs und der Größe des Erwartungswertes stellt sich ein. Das Thema "Statistik meets Wahrscheinlichkeitsrechnung" im Unterricht Digitalisierung wird immer wichtiger - in der Mathematik haben viele Möglichkeiten der Statistik leider wenig Raum im Lehrplan finden können, da diese sehr vielfältig sind. Um den Schülerinnen und Schülern die Möglichkeiten der Statistik näher zu bringen, sollen hier relativ einfache Probleme erarbeitet werden. Das Anwenden der statistischen Methoden an eigenen Daten soll eine Motivation darstellen, die vorgestellten Größen besser kennen zu lernen. Vorkenntnisse Grundlagen im Umgang mit einer Tabellenkalkulation beziehungsweise einer Programmiersprache sollten vermittelt worden sein. Werden nur fertiggestellte Simulationen in den letzten Klassen des Mathematikunterrichts eingesetzt, können Erwartungswert und Standardabweichung mithilfe der Simulationen nähergebracht werden. Didaktische Analyse Dem Zufall begegnet man täglich. Viele Wahrscheinlichkeitsaussagen werden mithilfe messbarer Größen vorhergesagt. Mit einer Wahrscheinlichkeitsaussage möchte man eine relative Häufigkeit voraussagen. Wie gut gelingt das? Es ist nicht möglich, eine sehr große Anzahl von Versuchsdurchführungen in überschaubarer Zeit in echt durchzuführen - deswegen wird simuliert. Einen Einblick, wie man mit dem PC simuliert und was man aus diesen Daten machen kann, sollen die Themen zeigen. Kombination aus Informatik- und Mathematik-Unterricht Erarbeitet man mit der Programmierung Simulationen, kann die Lösung der Mathe Arbeitsblätter verwendet werden, um relative Häufigkeiten mit berechneten Werten zu vergleichen. Auch umgekehrt: Erarbeitet man die Wahrscheinlichkeitsberechnungen, kann man mit Lösungen der Simulationen die berechneten Werte durch relative Häufigkeiten bei Simulationen prüfen. Methodische Analyse Die Themen müssen nicht alle und nicht chronologisch abgearbeitet werden. Ziel der Art der Aufbereitung ist es, an Stellen im eigenen Unterricht mit einem "Thema" zu ergänzen. Für Lernende der Abschlussklassen werden die kurz vorgestellten Größen im Zusammenhang mit Zufallsgrößen möglicherweise als theoretische Konstrukte empfunden - mit der Verwendung vieler Daten (ohne im Detail zu verstehen, wie der Rechner diese erarbeitet) können diese Größe in ihrer Bedeutung nähergebracht werden. Fachkompetenz Die Schülerinnen und Schüler können mathematisch argumentieren (K1). Probleme mathematisch lösen (K2). mathematisch modellieren (K3). können mit symbolischen, formalen und technischen Elementen der Mathematik und Informatik umgehen (K5). modellieren und implementieren (Informatik). kommunizieren und kooperieren (Informatik). darstellen und interpretieren (Informatik). Medienkompetenz Die Schülerinnen und Schüler arbeiten sicher am PC mit einer Tabellenkalkulation. verstehen, wie eine Tabellenkalkulation oder der PC viele Werte bestimmen und darstellen kann. erlernen den Umgang mit einer Programmiersprache. Sozialkompetenz Die Schülerinnen und Schüler bringen sich bei der Erarbeitung und der Präsentation von Inhalten und Ergebnissen in die Gruppenarbeit ein. werten Daten kritisch aus und kommentieren diese. geben selbst Hilfestellung oder fragen andere nach Hilfe.

  • Informatik / Wirtschaftsinformatik / Computer, Internet & Co. / Mathematik / Rechnen & Logik
  • Sekundarstufe I, Sekundarstufe II

Die Verwendung der Case-Anweisung

Unterrichtseinheit

Auch in dieser Unterrichtseinheit lösen die Schülerinnen und Schüler mithilfe der Entwicklungsumgebung Delphi, die sie bereits selbstständig erkundet haben, im Modellunternehmen Info Tec GmbH ein betriebswirtschaftliches Problem.Die Stunde basiert auf einer betrieblichen Handlungssituation im Modellunternehmen Info Tec GmbH. Die Schülerinnen und Schüler befinden sich wieder in der Situation, als Programmierer ein betriebswirtschaftliches Problem zu lösen. Die Lernenden greifen dazu auf die Entwicklungsumgebung von Delphi zurück, die sie bereits selbstständig erkundet haben. Sie lernen dabei sukzessive Komponenten und Ereignisse kennen. Um ihre Fertigkeiten zu entwickeln, sollen sie selbstständig Mitschriften anfertigen, die Merksätze zur Programmierung sowie wichtige Informationen in tabellarischen Übersichten (Objekt, Eigenschaft, Reaktion, Ereignisse und Reaktionen, Übersicht von Eigenschaften et cetera) beinhalten, um beim Programmieren eine Gedächtnisstütze zu haben. Die Lernenden sind in der heutigen Stunde mit einer betrieblichen Situation konfrontiert, in der für eine Problemstellung eine Problemlösung zu erarbeiten ist, bei der bis dato unbekannte Befehle (Case-Anweisung) sinnvoll einzusetzen sind.Die Stunde basiert auf didaktischen Prinzipien der Handlungsorientierung sowie dem Prinzip des eigenverantwortlichen Arbeitens und Lernens (EVA). Entsprechend den Fähigkeiten sind die selbstständigen Erarbeitungsprozesse ergänzt um die Vorgabe notwendiger Fachinhalte. Als didaktische Elemente der Informatik liegt dem Unterricht eine Kombination aus programmiersprachlichem Zugang und einem Zugang über die Lern- und Programmierumgebung (Objektorientierung) zugrunde. Fortsetzung des Kommentars Das Prinzip der Schülerselbsttätigkeit ist Ziel, wird aber auf die aktuelle Leistungsfähigkeit abgestimmt. Unterrichtsverlauf und Arbeitsaufträge Hier finden Sie eine detaillierte Übersicht über den Unterrichtsverlauf und den Einsatz der Materialien. Fachkompetenz Die Schülerinnen und Schüler erweitern ihre kognitive Kompetenz, indem sie auf Basis unterschiedlicher Leittexte erarbeiten, wie Fallunterscheidungen in einem Programm mit einer bestimmten Syntax lösbar sind. sensibilisieren sich dafür, eine bestimmte Syntax zur Umsetzung von Auswahlstrukturen im Rahmen von Problemstellungen sinnvoll einzusetzen. wenden Fachwissen aufgabenbezogen an, das in unterschiedlichen betrieblichen Kontexten von Bedeutung ist (Zinsstaffel, Rabattsystem, Boni et cetera) trainieren ihre Anwendungskompetenz, indem sie das allgemeine Vorgehen zur Problemlösung mittels Algorithmen einsetzen. festigen ihre Anwendungskompetenz im Hinblick auf den Umgang mit einer objektorientierten Entwicklungsumgebung sowie der Erstellung von Struktogrammen. Methodenkompetenz Die Schülerinnen und Schüler schulen ihr Textverständnis, indem sie Informationen selektieren und strukturieren. erweitern ihre IT-Methodenkompetenz, indem sie Problemstellungen analysieren, mittels Editor als Struktogramm abbilden und mithilfe einer Programmiersprache realisieren. entwickeln ihre Selbsterschließungskompetenz, denn sie ist aufgefordert, im Rahmen des Lernarragements eine Problemlösung zu erarbeiten. Sozialkompetenz Die Schülerinnen und Schüler fördern durch Präsentation und Diskussion der Arbeitsergebnisse personale Kompetenzen wie Ausdrucksfähigkeit, freies Sprechen und Auftreten in einer Gruppe. Thema Die Verwendung der Case-Anweisung zur Lösung eines betriebswirtschaftlichen Problems in Delphi. Autor Christoph Dolzanski Fach Datenverarbeitung, Lernbereich: Algorithmen und Datenstrukturen, elementare Kontrollstrukturen (Verzweigung und Auswahl) codieren Zielgruppe Wirtschaftsgymnasium Jahrgangsstufe 12, Höhere Berufsfachschule Datenverarbeitung, Berufsschule Zeitrahmen mindestens 2 Unterrichtsstunden Technische Voraussetzungen PC, Beamer, MS-Word, Delphi-Entwicklungsumgebung, Struktogrammeditor (Strukted32), Internet-Zugang für Recherchen bei Bedarf Planung Verlaufsplan Die Verwendung der Case-Anweisung Weitgehende Selbstständigkeit ermöglichen Um den individuellen Fähigkeiten der Schülerinnen und Schüler zu entsprechen, sind die selbstständigen Erarbeitungsprozesse ergänzt um die Vorgabe notwendiger Fachinhalte. Das Prinzip der Schülerselbsttätigkeit ist Ziel, wird aber auf die aktuelle Leistungsfähigkeit abgestimmt. Programmiersprachlicher Zugang Als didaktische Elemente der Informatik liegen dem Unterricht eine Kombination aus programmiersprachlichem Zugang und einem Zugang über die Lern- und Programmierumgebung (Objektorientierung) zugrunde. Dem programmiersprachlichen Zugang entsprechend werden zunächst einfache und dann komplexere Sprachstrukturen eingeführt. Die gewählten Problemstellungen sind einfach. Sie bedürfen einer geringen Modellbildung, so dass die analytischen Fertigkeiten nicht überfordert werden. Dadurch entsteht der Nachteil, dass die praktische Relevanz der Aufgabenstellung geringer ausgeprägt ist und Sprachkenntnisse "auf Vorrat" erworben werden ("totes Wissen"). Vorteil des Vorgehens ist eine systematische Unterrichtsgliederung sowie ein erleichterter Zugang für die Schülerinnen und Schüler, die das schrittweise Erlernen aus dem Fremdsprachenunterricht kennen. Objektorientierung Der Rückgriff auf Merkmale des lern- und programmierumgebungsbezogenen Zugangs ist logische Konsequenz der objektorientierten Entwicklungsumgebung. Sie erlaubt die Verwendung von Objekten und Operatoren, die im Sinne eines Baukastens bereits als Elemente vorhanden und verwendbar sind. Die Codierung steht am Ende der Programmentwicklung. Unterstützung durch die Lehrkraft Das Vorgehen orientiert sich in starkem Maß an den kognitiven Voraussetzungen der Lernenden. Durch die Verwendung vorhandener Komponenten entstehen leistungsfähige Programme mit professionellem Aussehen, die Erfolgserlebnisse gewährleisten. Dabei ist der Nachteil, dass die Tiefe der vermittelten Informatikkenntnisse beschränkt bleibt, für die fokussierten Lerngruppen vertretbar. Das Problem unterschiedlicher Vorkenntnisse kann teilweise gelöst werden. Durch das Wirken der Lernenden als Lernbegleiter ist dieser Tatbestand abgemildert. Insbesondere die Tatsache, dass sich diese Form der Programmierung harmonisch mit den elementaren kognitiven Prozessen beim Denken, Erkennen und Problemlösen im menschlichen Gehirn vereinbaren lässt, spricht für das Vorgehen. Die auftretenden Schwierigkeiten bieten die Möglichkeit, gezielt Fragen aufzuwerten und sich damit auf dem Weg zur selbstgesteuerten und selbstverantwortlichen Informationsaufnahme zu entwickeln. Die Schülerinnen und Schüler sind für ihren Lernprozess verantwortlich und bestimmen in den Arbeitsphasen individuell ihr Lerntempo. Die Lernenden sind mit einer betrieblichen Handlungssituation konfrontiert, für die sie eigenständig eine Problemlösung erarbeiten. Erster Schritt des Handlungsmodells Die Schülerinnen und Schüler versetzen sich in eine betriebliche Handlungssituation, in der sie als Programmierer in einem bekannten Betrieb tätig sind. Die Vorstellung, auch bei schönstem Wetter intensiv arbeiten zu müssen, wird die Lernenden stören. Das Vorgehen ist geeignet, in der Unterrichtseröffnung die Lernbereitschaft der Schülerinnen und Schüler zu aktivieren. Sie werden im Sinne einer Problementfaltung dafür sensibilisiert, dass programmgestützte Werkzeuge zur Erledigung betrieblicher Aufgaben hilfreich sind. Zweiter Schritt des Handlungsmodells Die Partnerteams erhalten ihre Arbeitsaufträge und suchen und erproben geeignete Lösungen. Zunächst befasst sich jeder mit der Aufgabenstellung und den Informationen. Durch Diskussion der Vorgehensweise und der Lösungen im Team sowie dem Hinweis auf unterstützende Informationen werden Unsicherheiten reduziert und kreative Lösungen gefördert. Auftretende Schwierigkeiten und Fragen können festgehalten und im Plenum geklärt werden. In dieser Phase sind die Lernenden stark auf sich gestellt. Das Erleben von Unsicherheiten und Schwierigkeiten ist ein wichtiger Lernanlass, der nicht durch zu frühes Eingreifen verhindert werden soll. Wenn ein Team nicht mehr weiter weiß, kann der Lehrer in dieser Phase aktiv eingreifen und weitere Informationen zur Verfügung stellen. Dritter Schritt des Handlungsmodells Die Problemstellung wird im Plenum präsentiert. Es bietet sich an, zwei Teams die Ergebnisse vorstellen zu lassen. Die anderen Teams fungieren dann als Kontrollgruppen, die entsprechende Ergänzungen anbringen. Fragen und Schwierigkeiten beim Lösen der Problemstellungen können in diesem Schritt geklärt werden. Vierter Schritt des Handlungsmodells Auf Basis der gemachten Erfahrungen und der erworbenen Fähigkeiten werden Merkmale für das zielorientierte Vorgehen bei der Lösung der Problemstellung herausgearbeitet. Dabei steht das Festhalten von Kriterien, die der Vermeidung von Fehlern dienen, vor dem Anspruch auf Vollständigkeit der Handlungsanweisung. Diese Aufzeichnung kann dann bei nachfolgenden Aufgabenstellungen ergänzt und angepasst werden. Fünfter Schritt des Handlungsmodells Im fünften Schritt geht es darum, die gewonnenen Einsichten in praxisbezogenen Kontexten umzusetzen. Dies soll in einer folgenden Unterrichtsstunde aufgegriffen werden. Die Lernenden erhalten auf Basis der Handlungssituation dieser Unterrichtseinheit eine weitere Problemstellung, die sie in Delphi umsetzen. Der betriebswirtschaftliche Hintergrund der Fragestellung erlaubt einen Perspektivenwechsel und ermöglicht es, den fachübergreifenden Aspekt des Themas aufzugreifen.

  • Informatik / Wirtschaftsinformatik / Computer, Internet & Co.
  • Sekundarstufe I, Sekundarstufe II, Berufliche Bildung

Der programmierbare Roboterarm

Unterrichtseinheit

In der vorliegenden Unterrichtseinheit "Der programmierbare Roboterarm" sollen die Schülerinnen und Schüler erste Einblicke in die Automatenprogrammierung und die Strukturierung von Programmen erhalten. Die Materialien können für die Erarbeitung im Unterricht und zur Wiederholung oder Prüfungsvorbereitung - auch am heimischen Rechner - eingesetzt werden.Die Behandlung des Themas "Informationen verarbeiten" wird an vielen Schulen mittels der Programme "Karol - der Roboter" oder "Kara" erledigt. Bei beiden Programmen tun sich die Schülerinnen und Schüler schwer damit, Sensoren zu erkennen und automatisierte Abläufe hineinzuinterpretieren. An diesem Problem soll nun der "Roboterarm" ansetzen und den Lernenden diese wichtigen Begriffe der Informatik praxisnah veranschaulichen. Das in dieser Unterrichtseinheit verwendete dreidimensionale Modell eines Roboterarms wurde durch die objektorientierte Programmiersprache VRML (Virtual Reality Modeling Language) verwirklicht.Der programmierbare Roboterarm setzt jede Eingabe der Schülerinnen und Schüler bildlich um - durch diese Veranschaulichung ist der Lernerfolg "vorprogrammiert". Das VRML-Plugin von blaxxun Contact steht kostenfrei zur Verfügung. Der gesamte Kurs "Der programmierbare Roboterarm" ist in vier Kapitel unterteilt. Während sich die ersten drei Kapitel an die Klassen 7 bis 8 richten, können die Inhalte des vierten Kapitels auch in Klasse 10 beziehungsweise Jahrgangsstufe 11 und 12 zum Einsatz kommen. Ausführliche Hinweise zum Lehrplanbezug (hier Sachsen) finden Sie auf den folgenden Seiten. 1. Einführung in die Automatenprogrammierung - Sensoren und Zustände Schülerinnen und Schüler erkunden den Roboterarm. Sie erstellen das UML-Diagramm und modifizieren es durch Methodenaufrufe. 2. Einführung in die Automatenprogrammierung - Lineare Programmierung Nach dem "Spielen" mit dem Roboterarm über die Programmbuttons geht es nun um die Automatisierung von Abläufen - der eigentlichen Aufgabe von Robotern. 3. Einführung in die Automatenprogrammierung - Programmanalyse Die Lernenden müssen die Zusammenhänge zwischen den Sensorzuständen und den Methodenaufrufen abstrahieren. 4. Strukturiertes Programmieren - Nutzung von Kontrollstrukturen Nach dem linearen Programmieren lernen die Schülerinnen und Schüler Schleifen und Verzweigungen kennen. Die Schülerinnen und Schüler untersuchen durch die Nutzung des VRML-Modells die Sensoren und ihre verschiedenen Zustände an einem Roboterarm. untersuchen das UML-(Unified Modeling Language-)Diagramm des "Industrieroboters" sowie das Schema der Zustände und ihre Beeinflussung mit verschiedenen Methoden. bestimmen vorprogrammierte Bewegungsabläufe unter Berücksichtigung der Sensorenzustände mittels Programmeingabe und halten diese in Zustandstabellen fest. untersuchen die Kontrollstrukturen Schleifen (Wiederholungen) und bedingte Verzweigungen und wenden diese an. Erkundung des 3D-Modells Durch eine spielerische Beschäftigung mit dem VRML-Modell (Abb. 1) soll den Schülerinnen und Schülern klar werden, über welche Sensoren der Roboterarm verfügen muss und welche Zustände diese Sensoren annehmen können. So können die Lernenden gemeinsam das UML-(Unified Modeling Language-)Diagramm sowie das Schema der Zustände und der Methoden erarbeiten (siehe "roboterarm_1.pdf"). Dabei wird ihnen auch klar, von welchem Zustand man NICHT in einen anderen Zustand kommt. Plugin erforderlich Das dreidimensionale Modell wurde durch die objektorientierte Programmiersprache VRML (Virtual Reality Modeling Language) verwirklicht, die speziell für das Internet entwickelt worden ist. Das zur Darstellung des Modells erforderlich Plugin können Sie kostenlos aus dem Internet herunterladen: blaxxun Contact 5.1 Download des Plugins von der Homepage des Autors der Unterrichtseinheit Cortona3D Viewer Download der Freeware-Version Cortona von Parallel Graphics Methodenaufrufe Nach der Erarbeitung Theorie kann das UML-Diagramm erstellt und durch Methodenaufrufe modifiziert werden (siehe "roboterarm_1.pdf"). Das erworbene Wissen kann simultan am Rechner auf die Probe gestellt werden. Für die Methodenaufrufe stehen im ersten Teil des Programms "Roboterarm.exe" sechs Button zur Verfügung (Abb. 2, Platzhalter bitte anklicken): R - Arm nach rechts drehen L - Arm nach links drehen H - Roboterarm nach oben (hoch) schwenken T - Roboterarm nach unten (tiefer) schwenken A - Greifer öffnen (auf) Z - Greifer schließen (zu). Über diese Buttons wird der Roboterarm gesteuert. Bei einem falschen Methodenaufruf gibt das Programm eine entsprechende Fehlermeldung aus. Wird zum Beispiel der Button "R" gedrückt, wenn der Richtungssensor bereits "rechts" anzeigt, hat dies eine entsprechende Fehlermeldung zur Folge. Lernumgebung "Programmierbarer Roboterarm" Die Lernumgebung ist - wie alle weiteren Materialien zur Unterrichtseinheit - in dem Downloadpaket programm_roboterarm.zip enthalten (siehe Startseite des Artikels). Das Programm wird per Klick auf die Datei "Roboterarm.exe" gestartet. Die EXE-Datei ruft die Bilddateien der Unterordner "mit_kugel" und "ohne_kugel" sowie die PDF-Arbeitsblätter auf und muss daher mit diesen Ordnern und Dateien auf einer Ebene liegen. Lernbereich 1, Computer verstehen: Daten und Strukturen Übertragen des Prinzips "Eingabe - Verarbeitung - Ausgabe" auf Vorgänge im Alltag, Bedienen technischer Geräte Lernbereich 2, Computer nutzen und anwenden: Objekte - Attribute - Methoden Zuordnung von konkreten Objekten zum Modell: Objekt - Attribut - Attributwert, UML-Notation (Unified Modeling Language) Lernbereich 1, Informationen repräsentieren: Klassen und Objekte Klassen aus der Erfahrungswelt: Name, Attribut, Attributwertebereich, Methode Einfache Programmierung Zur Automatisierung von Abläufen muss ein Weg gefunden werden, wie man der Maschine mitteilen kann, was man von ihr will. Das geschieht im Allgemeinen über die Programmierung. Die Schülerinnen und Schüler sollen an dieser Stelle jedoch keine Programmierprofis werden, sondern sich mit den Strukturen einer Programmiersprache vertraut machen. Die vorliegende Programmiersprache besteht im Wesentlichen aus einer Aneinanderreihung der Großbuchstaben R, L, H, T, A und Z, wobei jeder Buchstabe eine Methode aufruft und somit einen Sensorzustand verändert: R - Arm nach rechts drehen L - Arm nach links drehen H - Roboterarm nach oben (hoch) schwenken T - Roboterarm nach unten (tiefer) schwenken A - Greifer öffnen (auf) Z - Greifer schließen (zu). "Sehen", was man programmiert Die Eingabe falscher Buchstaben wird durch den Parser herausgefiltert - es erfolgt keine Fehlermeldung. Dies kann man übrigens später nutzen, um zum Beispiel im Rahmen der Binnendifferenzierung Wörter zu finden, die den Roboterarm sinnvoll programmieren. Die in Frage kommenden Buchstaben mit ihrem dazugehörigen Methodenaufruf sind während der Eingabephase immer auf dem Bildschirm präsent (Abb. 3, Platzhalter bitte anklicken). Durch die signifikante Bedeutung der Programmierbefehle dieser rudimentären Programmiersprache sollte jede Schülerin und jeder Schüler binnen kürzester Zeit Erfolgserlebnisse in Form von gewünschten Bewegungsabläufen erringen. Lernbereich 1, Computer verstehen: Daten und Strukturen Übertragen des Prinzips "Eingabe - Verarbeitung - Ausgabe" auf Vorgänge im Alltag: Bedienen technischer Geräte Lernbereich 1, Informationen repräsentieren: Klassen und Objekte Klassen aus der Erfahrungswelt: Name, Attribut, Attributwertebereich, Methode Lernbereich 2, Informationen verarbeiten: Modell - Algorithmus - Lösung Begriff: Algorithmus (Endlichkeit, Eindeutigkeit, Ausführbarkeit, Allgemeingültigkeit), Kennen des Problemlöseprozesses (Problemanalyse, Lösungsentwurf, Umsetzung, Test, Dokumentation), selbstständiges Lösen einfacher Probleme, einfache Automaten, Aufgaben in einfachen grafischen Programmierumgebungen (kritische Bewertung der Resultate) Nennung der Methodenaufrufe Im dritten Abschnitt des Programms zeigt sich, ob die Lernenden die Theorie zur linearen Programmierung verstanden haben. Die Schülerinnen und Schüler haben nun die Aufgabe, vorgegebene Bewegungsabläufe in Programme umzusetzen. Dazu können sie Bewegungsabläufe betrachten, indem sie den entsprechenden Button anklicken (Beispiel 1-4; Abb. 4, Platzhalter bitte anklicken). Die Lernenden können sich die Sequenzen beliebig oft vorspielen lassen. Dann muss ein Programm aus einer Aneinanderreihung der Großbuchstaben R, L, H, T, A und Z formuliert und in die entsprechende Eingabemaske eingetragen werden. Nach einem Klick auf den "ok"-Button wird die Eingabe analysiert und bewertet. Ausfüllen der Zustandstabellen Die eigentliche Schwierigkeit besteht dabei nicht in der konkreten Auflistung der Methodenaufrufe in Form eines Programms, sondern vielmehr im Ausfüllen der Zustandstabellen. Dazu müssen die Schülerinnen und Schüler die Zusammenhänge zwischen den Sensorzuständen und den Methodenaufrufen abstrahieren. Die Sensorenzustände werden nicht mehr angezeigt. Lernbereich 1, Computer verstehen: Daten und Strukturen Übertragen des Prinzips "Eingabe - Verarbeitung - Ausgabe" auf Vorgänge im Alltag: Bedienen technischer Geräte Lernbereich 1, Informationen repräsentieren: Klassen und Objekte Klassen aus der Erfahrungswelt: Name, Attribut, Attributwertebereich, Methode Lernbereich 2, Informationen verarbeiten: Modell - Algorithmus - Lösung Begriff: Algorithmus (Endlichkeit, Eindeutigkeit, Ausführbarkeit, Allgemeingültigkeit); Kennen des Problemlöseprozesses: Problemanalyse, Lösungsentwurf, Umsetzung, Test und Dokumentation; selbstständiges Lösen einfacher Probleme, einfache Automaten, Aufgaben in einfachen grafischen Programmierumgebungen; kritische Bewertung der Resultate Lernbereich 2, Formeln und Gleichungen Die Schülerinnen und Schüler erfassen komplexere Aufgabentexte und übertragen den lösungsnotwendigen Inhalt in die mathematische Sprache und deren Symbolik. Sie erfassen Strukturen von Termen, Gleichungen und Formeln. Anschauliche Einblicke in die Programmierung Das strukturierte Programmieren - also die Nutzug von Kontrollstrukturen - setzt bei den Schülerinnen und Schülern ein erhöhtes Maß an Abstraktionsvermögen voraus. Durch Anschaulichkeit kann man ihnen jedoch den Weg der Aneignung erster Erfahrungen mit dieser Materie ebnen. Diesen Anspruch versucht das Programm "Roboterarm" gerecht zu werden. Nach den ersten Einblicken in die (lineare) Programmierung des Roboterarms sollen nun Aufgaben programmiertechnisch gelöst werden, bei denen man vorzugsweise Kontrollstrukturen einsetzt. Schleifen und Verzweigungen Beim linearen Programmieren galt bisher: Ein Programm für den programmierbaren Roboterarm besteht aus einer Reihe von Großbuchstaben, die von links nach rechts abgearbeitet werden. Beim strukturierten Programmieren kommen nun jedoch Schleifen und Verzweigungen mit hinzu. Da Schleifen und Verzweigungen dem linearen Ablauf des Programms widersprechen, spricht man nicht mehr von linearer Programmierung, sondern von strukturierter Programmierung. Im vierten Abschnitt des Programms werden nacheinander die folgenden Themen behandelt, die über die jeweiligen Reiter aufgerufen werden können (Abb. 5, Platzhalter bitte anklicken). Über den letzten Karteikartenreiter kommt man zurück zum Hauptmenü. Es empfiehlt sich, die Kapitel der Reihe nach abzuarbeiten: Bedienung des Roboterarms über Buttons Lineares Programmieren mit Kugeltransport Kontrollstruktur "Schleifen" Kontrollstruktur "Bedingte Verzweigungen" Beibehaltung der Befehle Die bereits bekannten Programmierbefehle werden beibehalten. Auch in diesem Programmteil ist während der Bedienung darauf zu achten, dass die Anzeige der Sensoren berücksichtigt wird. Wenn zum Beispiel der Richtungs-Sensor bereits "links" anzeigt, kann der Befehl "L" (Roboterarm nach links schwenken) nicht mehr ausgeführt werden. Das Programm gibt eine Fehlermeldung aus. Neuer Befehl: Kugeltausch Hinzu kommt nun die Last in Form einer Kugel, die durch den Roboterarm vom rechten Lager auf das linke Lager befördert werden soll. Jede der Kugeln hat die Masse 300 Kilogramm. Sobald der Greifer um die Kugel geschlossen wird, zeigt der Last-Sensor die aktuelle Last an. Nachdem die Kugel mittels Roboterarm vom rechten Lager auf das linke Lager befördert wurde, kann der Kugeltausch (neuer Befehl der Programmiersprache: "K") durchgeführt werden. Neue Sensoren: Last- und Lastlage In diesem Zusammenhang sind zwei neue Sensoren hinzugekommen, welche die Last betreffen. Der Roboterarm verfügt nun über einen Last-Sensor, der die Masse der Last in Kilogramm ermittelt. Der zweite Sensor ist der Lastlage-Sensor, der über die aktuelle Lage der Kugel informiert. Für den problemlosen Kugeltausch (Abb. 6) müssen zwei Bedingungen erfüllt sein: Die Kugel muss vom rechten Lager auf das linke Lager befördert worden sein. (Lastlage-Sensor: links ) Die Kugel muss freigegeben sein. (Roboterarm-Sensor: oben ) Kugeltausch Die Programmiersprache bestand bisher aus der Aneinanderreihung der Großbuchstaben R, L, H, T, A und Z. Damit konnte man den Roboterarm durch seine gesamten Bewegungsfreiheiten (Sensor-Zustände) führen. Zum Erfüllen der nun anstehenden Aufgaben benötigt man darüber hinaus noch den Befehl "K", der die Methode Kugeltausch aufruft. Gemäß der unter "4.1 Bedienung des Roboterarms über Buttons" betrachteten Bedingungen kann nun eine nach links transportierte Kugel - die vom Greifer freigegeben wurde - ausgetauscht werden (Abb. 7). "Aufgabe erfüllt" Die Kugel wird von ihrem linken Podest (Sensor-Lastlage = links ) entfernt und die nächste Kugel auf dem rechten Podest bereitgestellt (Sensor-Lastlage = rechts ). Für die Erfüllung der Aufgabe ist zu beachten, dass die Anzahl der bewegten Kugeln erst nach dem Kugeltausch erfasst wird (Abb. 8). "Schleifen" statt Wiederholung von Programmteilen Der Abschnitt "Schleifen" bearbeitet innerhalb des Roboterarm-Programms zum ersten Mal Programmstrukturen, die von der linearen Programmierung abweichen. Wenn zum Beispiel nicht nur eine Kugel bewegt werden soll, sondern eine beliebige Anzahl, so musste man dafür bisher einen bestimmten Programmteil mehrfach wiederholen. Das kann man auch eine Schleife erledigen lassen. Als Schleife wird ein Programmteil bezeichnet, der mehrfach nacheinander ausgeführt werden kann. Syntax der Schleife Der Roboterarm erkennt die Kontrollstruktur einer Schleife an der Syntax "W3(ZA)" (Abb. 9). Das "W" kennzeichnet die Struktur als Wiederholung (Schleife), die darauf folgende Ziffer (1-9) gibt die Anzahl der Wiederholungen an. Für die Bearbeitung der gestellten Aufgaben sind einstellige Zahlen ausreichend - mehrstellige Zahlen werden auf die letzte Stelle reduziert. Die Befehlssequenz in der Klammer stellt den zu wiederholenden Programmteil dar. Beim Programmablauf würde "W3(ZA)" dasselbe ergeben wie "ZAZAZA". Allerdings kann man bei vielen Wiederholungen oder größeren Schleifen Befehle sparen. Bei der Verwendung von Schleifen ist zu beachten, dass mehrere Schleifen nacheinander - aber nicht geschachtelt - eingegeben werden dürfen. Unterschiedliche Beantwortung einer Bedingung mit mehreren Alternativen Mit den "Wiederholungen" kennt man bereits eine Kontrollstruktur, die das Verzweigen eines Programms ermöglicht. Eine echte Verzweigung jedoch - die sich aus der unterschiedlichen Beantwortung einer Bedingung mit mehreren Alternativen ergibt - ist das noch nicht. In dem hier vorgestellten Programmteil werden dem Roboterarm Kugeln mit unterschiedlichen Lasten (null bis 500 Kilogramm) vorgelegt. Die Masse von 300 Kilogramm ist dabei die Obergrenze, die der Roboterarm heben kann, ohne Schaden zu nehmen. Sobald der Roboterarm eine Kugel im Greifer hat (Richtung: links , Arm: unten , Greifer: zu ) wechselt die Lastposition auf den Zustand im Greifer und nun muss der Test erfolgen, ob die Last vom Roboterarm bewegt werden kann oder nicht. Syntax der bedingten Verzweigung Der Roboterarm erkennt die Kontrollstruktur der Verzweigung an der Syntax "I". Der Großbuchstabe "I" steht für das englische "if ... then". Die erste Befehlsfolge wird ausgeführt, wenn die Kugel die erlaubte Masse von höchstens 300 Kilogramm hat. Bei der anderen Alternative (Masse > 300 Kilogramm) wird die zweite Befehlsfolge ausgeführt. Es ist darauf zu achten, dass der Roboterarm am Ende des Tests bei beiden Alternativen dieselben Sensoren-Zustände hat, damit das Programm anschließend fehlerfrei weiter ausgeführt werden kann. Beispiel "Bewege fünf Kugeln" Für die Bearbeitung der zweiten Aufgabe "Bewege fünf Kugeln" kann der Test problemlos in die Schleife eingebaut werden - es darf aber nur ein Test im Programm durchgeführt werden. Wenn die Kugel zu schwer ist, muss sie rechts liegen bleiben, bis der Roboterarm wieder nach oben geschwenkt ist. Nun kann die Kugel auch in der rechten Position getauscht werden und der Kugeltausch wird für die Erfüllung der Aufgabe mitgezählt. Abb. 10 zeigt eine schematische Darstellung der Verzweigung für die Befehlsfolge "RTZI L". Sensoren-Zustände vor der Verzweigung Richtung: rechts , Arm: unten ; Greifer: zu Sensoren-Zustände nach der Verzweigung Richtung: rechts ; Arm: oben ; Greifer: zu Der Unterschied besteht darin, dass sich nach der Verzweigung für den Fall "Masse > 300 Kilogramm" keine Kugel im Greifer befindet, sondern auf dem rechten Podest. Anderenfalls befindet sich die Kugel im Greifer. Wenn alle Aufgaben erfolgreich gelöst worden sind, sollten die Schülerinnen und Schüler die Struktur von Programmen grundlegend beherrschen und für weiterführende Programmieraufgaben gut vorbereitet sein. Lernbereich 1, Computer verstehen: Daten und Strukturen Übertragen des Prinzips "Eingabe - Verarbeitung - Ausgabe" auf Vorgänge im Alltag: Bedienen technischer Geräte Lernbereich 2, Computer nutzen und anwenden: Objekte - Attribute - Methoden Zuordnung von konkreten Objekten zum Modell: Objekt - Attribut - Attributwert Lernbereich 1, Informationen repräsentieren: Klassen und Objekte Klassen aus der Erfahrungswelt: Name, Attribut, Attributwertebereich, Methode Lernbereich 2, Informationen verarbeiten: Modell - Algorithmus - Lösung Begriff: Algorithmus (Endlichkeit, Eindeutigkeit, Ausführbarkeit, Allgemeingültigkeit); Programmstrukturen, Folge, Wiederholung, Verzweigung: Kennen des Problemlöseprozesses (Problemanalyse, Lösungsentwurf, Umsetzung, Test, Dokumentation, Lösen eines einfachen Problems unter Nutzung der Programmstrukturen, selbstständiges Lösen einfacher Probleme, einfache Automaten), Aufgaben in einfachen grafischen Programmierumgebungen (kritische Bewertung der Resultate) Lernbereich 1, Komplexe Anwendungssysteme Anwenden der Kenntnisse zu Modellen auf ein neues Werkzeug (Erkennen von Objekten, selbstständiges Einarbeiten in die Bedienung), sich positionieren zu Möglichkeiten und Grenzen der gewählten Werkzeuge Lernbereich 2, Informatische Modelle Einblick gewinnen in die Systematik informatischer Modellierung, Klassifizierung von Modellen in der Informatik Lernbereich 2, Formeln und Gleichungen Schülerinnen und Schüler erfassen komplexere Aufgabentexte und übertragen den lösungsnotwendigen Inhalt in die mathematische Sprache und deren Symbolik. Sie erfassen Strukturen von Termen, Gleichungen und Formeln.

  • Informatik / Wirtschaftsinformatik / Computer, Internet & Co.
  • Sekundarstufe I, Sekundarstufe II

AJAX II: Implementierung der serverseitigen Komponenten

Unterrichtseinheit

Der zweite Teil der AJAX-Unterrichtssequenz befasst sich mit den serverseitigen Elementen der Anwendung. Dabei handelt es um die MySQL-Datenbank und die PHP-Scripte zur Interaktion mit der Datenbank und der Kommunikation mit den Clients. Diese Unterrichtsstunden haben zum Ziel die serverseitigen Komponenten der Webanwendung (MySQL-Datenbank und PHP-Skripte) zu implementieren. Die Basis dafür ist die Demoanwendung, die im Hinblick auf dieses Ziel zu analysieren ist. Die Lerngruppe erarbeitet das Datenmodel (Datenbanktabellen und Tabellenfelder) sowie die Anwendungs- und Kommunikationsfälle (Use Cases), mit denen die Anwendungslogik realisiert werden kann. Verwendung von Skripten Die Implementierung der PHP-Skripte soll von den Lernenden selbstständig mithilfe der zur Verfügung gestellten Informationsquellen durchgeführt werden. Um Zeit zu sparen, bietet es sich hier an, arbeitsteilig vorzugehen: Die zu implementierenden Skripte werden auf Gruppen aufgeteilt. Das ist ohne Lernverlust möglich, weil die Skripte weitgehend gleichartig strukturiert sind. Die Lehrperson kann situationsabhängig entscheiden, ob Teile der Demoanwendung vorgegeben werden. Didaktische Reduktion PHP ist eine mächtige und objektorientierte Programmiersprache, von der im Rahmen dieses Projekts nur ein vergleichsweise kleiner Teil benötigt und behandelt wird. Eine Hilfsklasse namens MySQL_class in der die PHP-Funktionen des MySQL Application Interface (API) gekapselt sind, wird vorgegeben. Diese Klasse erleichtert die Implementierung der erforderlichen Datenbankoperationen. Als konkretes Beispiel für die Anwendung dieser Klasse dient das Skript register.php, mit dem neue Benutzer in der Datenbank registriert werden. Ablauf der Unterrichtseinheit Das Datenmodel der Anwendung Die Schülerinnen und Schüler erstellen eine MySQL-Datenbank, indem sie die serverseitig erforderlichen Daten erarbeiten und entsprechend umsetzen. Serverseitige Kommunikationskomponenten Die Schülerinnen und Schüler lernen verschiedene Komponenten eines PHP-Scripts kennen und versuchen, eine Server-Client-Kommunikation aufzubauen. Implementierung der Kommunikationskomponenten Die Schülerinnen und Schüler programmieren in der PHP-Programmiersprache und beginnen die Funktionsweise des Scripts zu verstehen. Fachkompetenz Die Schülerinnen und Schüler sollen die Funktionalität der Anwendung analysieren und ausgehend von den Ergebnissen eine MySQL-Datenbank entwickeln und implementieren. PHP-Skripte implementieren, die mit der Datenbank und den Clients kommunizieren. Methodenkompetenz Die Schülerinnen und Schüler sollen Informationen in deutsch- und englischsprachigen Internetforen und -tutorien beschaffen, auswerten und für die Entwicklungsarbeit benutzen. eine zur Verfügung gestellte PHP-Klasse für die Interaktion mit der Datenbank integrieren und benutzen. Thema AJAX II: Implementierung der serverseitigen Komponenten Autor Dr. Ralf Seliger Fach Web-Programmierung, Informationstechnik, Informatik Zielgruppe Informationstechnische Assistentinnen und Assistenten (Oberstufe) Zeitraum etwa 12 Unterrichtsstunden Medien Computer, Internet Technische Voraussetzungen Rechnerraum mit Internetzugang und Beamer Fachliche Lernvoraussetzungen Die Lernenden sollen über praktische Kenntnisse in der prozeduralen Programmierung verfügen. Planung Verlaufsplan AJAX II Die Entwicklung des Datenmodells für die Webanwendung Tic Tac Toe bis zur Implementierung der Datenbank gliedert sich in vier Schritte: Analyse der Anwendungsfälle (Use Cases) der Anwendung (Registrierung, Anmeldung, Angebotsabgabe, Angebotsannahme, Spiel, Reset) Erarbeitung der für die Organisation der Anwendungsfälle serverseitig erforderlichen Daten Realisierung in Form einer relationalen MySQL-Datenbank Implementierung der Datenbank Einrichtung Die entwickelte Datenbank wird mithilfe der Webanwendung phpMyAdmin auf dem Server implementiert. Gleichzeitig wird ein Datenbankbenutzer mit den erforderlichen globalen Rechten SELECT, INSERT, UPDATE und DELETE eingerichtet. Falls erforderlich, sind die Lernenden darauf hinzuweisen, dass mit geeigneten Maßnahmen dafür zu sorgen ist, dass sich niemand doppelt anmelden kann. Komponentenerstellung Um die serverseitigen Funktionalitäten der Webanwendung in möglichst übersichtliche, klar voneinander abgegrenzte Pakete beziehungsweise Module zu unterteilen, sollte für jeden Anwendungsfall eine eigene so genannte Kommunikationskomponente erstellt und in Form eines PHP-Skripts implementiert werden. So wird zudem verhindert, dass zu stark divergierende Ergebnisse entstehen. Komponententabelle Aus den erarbeiteten Anwendungsfällen ergeben sich unmittelbar die folgenden Komponenten: Komponente Zweck register.php Registrierung eines neuen Benutzers login.php Anmeldung eines registrierten Benutzers offer.php Veröffentlichung eines Spielangebots accept.php Annahme eines veröffentlichten Angebots move.php Verarbeitung eines ankommenden Spielzugs resetGame.php Zurücksetzen des Zustands der Anwendung poller.php Beantwortung der periodischen Client Requests Polling-Komponente Die Polling-Komponente poller.php ist dafür zuständig, serverseitig diese regelmäßig eintreffenden Requests entgegen zu nehmen, zu verarbeiten und zu beantworten. Darüber hinaus soll sie die Datensätze von Benutzern entfernen, die längere Zeit keine Requests mehr gesendet haben und somit offline sind (Demoanwendung: drei Sekunden bei einem Polling-Intervall von einer Sekunde). Insgesamt ist die Polling-Komponente deutlich aufwändiger und komplexer als die übrigen Komponenten. Für die Client-Server-Kommunikation wird das Hypertext Transfer Protocol (HTTP) verwendet: Die Clients senden Requests zum Server; die Requests werden vom Server beantwortet. Der Server hat keine Möglichkeit, die Clients aktiv anzusprechen und ihnen Daten zu übertragen; er beantwortet ausschließlich Requests. Es ist daher erforderlich, dass die Clients den Server in regelmäßigen Intervallen ansprechen (Polling), um über den aktuellen Zustand der Anwendung informiert zu werden (aktuell angemeldete Benutzer, aktuell vorliegende Spielangebote, Angebotsannahmen, ein neuer Zug des aktuellen Gegners) Nachdem die zu programmierenden Komponenten im Unterricht anhand der Anwendungsfälle identifiziert wurden, sollen die Lernenden mithilfe des folgenden Aufgabenblatts die Input- und Outputdaten sowie die Algorithmen entwickeln, die in den Komponenten zu implementieren sind. Die Datei util.php, welche die Klasse MySQL_class enthält, ist den Lernenden zur Verfügung zu stellen. Assoziative Arrays Ein wichtiger Aspekt der Programmiersprache PHP sind die "Assoziativen Arrays". Im Gegensatz zu nummerisch indizierten Arrays kann man auf die Elemente (Werte beziehungsweise Values) assoziativer Arrays mithilfe von Strings (Schlüssel beziehungsweise Keys) zugreifen. Dies sollte für die Verarbeitung der Datenbankabfragen ausgenutzt werden, weil es die Lesbarkeit des Codes stark verbessert. Testcode für die PHP-Scripte Die korrekte Funktionsweise der Skripte kann während der Entwicklung zum Beispiel mithilfe eines einfachen XHTML-Formulars getestet werden. Das folgende Listing zeigt den XHTML-Code des Testformulars für das Anmeldeskript login.php: Nach Absendung des Formulars zeigt ein Blick in die Datenbank mit phpMyAdmin sowie auf das zurück gelieferte XML-Dokument, ob das Skript login.php wie gewünscht funktioniert. Für die anderen Skripte ist das Formular entsprechend zu modifizieren. Informationsblätter Als konkretes Beispiel für die Implementierung kann das ausführlich kommentierte Skript register.php herangezogen werden, das auf dem folgenden Infoblatt exemplarisch abgedruckt ist und auf dem auch die Hilfsklasse MySQL_class dokumentiert wird. Programmierung Als Konsequenz der Tatsache, dass die Client-Server-Kommunikation mithilfe von AJAX (Asynchronous JavaScript and XML) realisiert wird, müssen die serverseitigen Komponenten XML-Dokumente produzieren und zurückliefern. Als Root-Element des XML-Dokuments wird in der Demoanwendung in allen Skripten verwendet. Grundsätzlich ist die Namenswahl natürlich beliebig. Es ist jedoch auf Konsistenz zwischen Client und Server zu achten. Hinweis Wenn ein anderer Name für den Root-Tag gewählt werden sollte, muss dies auch in der Datei util.php geändert werden. Innerhalb der XML-Elemente sind etwa unterschiedliche Benutzernamen durch definierte Zeichen wie zum Beispiel senkrechte Striche ( | ) voneinander zu trennen, damit sie clientseitig wieder voneinander getrennt werden können.

  • Informationstechnik
  • Sekundarstufe II

Scratch – die ideale Programmiersprache für den Einstieg

Fachartikel
5,99 €

Dieser Fachartikel erklärt, was genau hinter der Programmiersprache Scratch steckt, warum sie super für den Einstieg geeignet ist und welche Unterrichtsmaterialien am besten dafür zugeschnitten sind, um mit Schülerinnen und Schülern Scratch zu programmieren. Was ist Scratch überhaupt und warum ist es optimal für den Einstieg ins Programmieren geeignet? Scratch ist eine einfache grafische Programmiersprache , die speziell entwickelt wurde, um Kindern erste Programmiererlebnisse zu ermöglichen. Die Programmierung erfolgt grafisch, das heißt es wird über eine visuelle Darstellung programmiert. Farbige Bausteine werden per Drag and Drop zu Stapeln angeordnet. Das Besondere ist, dass die Blöcke so designed sind, dass sie nur dann zusammenpassen, wenn dies syntaktisch auch Sinn macht. Ein bisschen wie beim Puzzeln. So entstehen keine Syntaxfehler – ein großer Vorteil. Genau aus diesem Grund eignet sie sich perfekt für den Einsatz in der Grundschule , denn bereits Kinder und Jugendliche ohne technische Vorkenntnisse erfahren mit Scratch schnelle Lernerfolge. Mit Scratch ist es möglich, einfache Spiele, Quizze und Animationen zu programmieren. Dadurch ergibt sich ein breites Spektrum an fächerübergreifenden Einsatzmöglichkeiten (etwa Sachunterricht, Sport, Deutsch, Mathematik). Scratch ist für Schülerinnen und Schüler ab der 3. Klasse geeignet. Das Besondere an Scratch ist, dass es für jedes Leistungsniveau einsetzbar ist – für Einsteigerinnen und Einsteiger ohne jegliche Vorkenntnisse, aber auch für Fortgeschrittene, um komplexe Anwendungen zu programmieren.

  • Informatik / Wirtschaftsinformatik / Computer, Internet & Co.
  • Primarstufe

Wir "programmieren" Klassenkameraden für eine Mission auf dem Mond

Unterrichtseinheit

In dieser Unterrichtseinheit planen, testen und führen die Schülerinnen und Schüler eine Mission zum Mond durch, indem sie einen imaginären Rover über den Mond navigieren. Sie verstehen die Bedeutung eindeutiger und präziser Kommunikation beim Schritt-für-Schritt-Programmieren und schulen so unter anderem ihr logisches Denken. Die Unterrichtseinheit "Mission auf dem Mond" führt die Schülerinnen und Schüler hin zu simplen Konzepten des logischen Denkens. Die Lernenden übernehmen in Partnerarbeit die Rolle des "Missionsleiters" und des "Rovers". Aufgabe der Missionsleitung ist es, den blinden Rover über die Mondoberfläche zu navigieren und dadurch seine eigene Kommunikationskompetenz zu schulen. Des Weiteren wird das vorausschauende Denken geübt und das Vertrauen zwischen den Partnerinnen und Partnern gestärkt. Die Lernenden müssen gut zusammenarbeiten und einer genauen Route folgen, um Hindernisse zu umgehen und Missionen auszuführen, um sicher bei ihrem Ziel anzukommen. Die Unterrichtseinheit wurde im Rahmen der Projekte ESERO Germany und "Columbus Eye - Live-Bilder von der ISS im Schulunterricht" an der Ruhr-Universität Bochum entwickelt.Die Unterrichtseinheit bietet einen Einsteig in das logische Denken hin zu einer präzisen und klaren Kommunikation. Vor dem Hintergrund einer Mondmissionen ist es die Aufgabe der Schülerinnen und Schüler mithilfe einer simplen Programmiersprache als Missionsleitung, ihren Partner oder Partnerin, den Rover, erfolgreich und vorausschauend über die Mondoberfläche zu navigieren. Dabei werden Aufgaben gelöst und Probleme bewältigt. Die Vorraussetzungen für die Durchführung der Unterrichtseinheit innerhalb des Klassenzimmers sind gering. Bei älteren Schülerinnen und Schülern kann auch gerne erst mit der zweiten Übung begonnen werden. Altersgruppe: 8 bis 12 Jahre Unterrichtsfach: Informatik, Mathe, Kunst Schwierigkeitsgrad: Einfach Benötigte Zeit: 45 Minuten Besondere Vorkenntnisse sind nicht notwendig. Die Schülerinnen und Schüler lernen einfache Konzepte des logischen Denkens kennen. planen und testen einfache Aufgaben. lernen die Funktion von einfachem, Schritt-für-Schritt Programmieren. verbessern ihre Kommunikation durch Rollenspiele. lesen Planquadratangaben und geben anschließend klare und bewusste Instruktionen für die Navigation im Referenzraum. lernen die Wichtigkeit eindeutiger Kommunikation. erleben wie wichtig gute Teamarbeit ist.

  • Technik / Sache & Technik / Elektrotechnik / Physik / Astronomie
  • Primarstufe, Sekundarstufe I

Algorithmen und ihre Darstellung im Struktogramm

Unterrichtseinheit

In dieser Unterrichtseinheit lernen die Schülerinnen und Schüler, unabhängig von einer Programmiersprache ein Struktogramm zu entwerfen. Im Junior-Entwicklungsteam der InfoTec GmbH sollen sie unter Verwendung von Auswahlstrukturen einen Algorithmus formulieren und darstellen.Auf Basis von Entwicklungsaufträgen des Modellbetriebs InfoTec GmbH werden Fachinhalte der Informationsverarbeitung mit betriebswirtschaftlichen Aspekten verknüpft. In einem Auftragsbuch für das Junior-Entwicklungsteam finden sich Arbeitsaufträge, die wie Entwicklungsaufträge zur Softwareerstellung strukturiert sind. Die Lernenden führen daran eine Problemanalyse durch und entwickeln eine Lösung nach dem EVA-Prinzip (Eingabe - Verarbeitung (Lösungsalgorithmus) - Ausgabe). Im Anschluss wird der Algorithmus als Struktogramm abgebildet und mittels Editor modelliert. Dies dient als Programmierhilfe, die unabhängig von einer später verwendeten Entwicklungsumgebung (Excel, VBA, Delphi) die Planung und Dokumentation der Problemlösung erlaubt. Die Entwicklungsaufträge basieren auf betriebswirtschaftlichen Fragen. Die Lerngruppe erarbeitet die Auswahlstruktur und lernt die Möglichkeit kennen, ein- und zweiseitige Entscheidungen sowie in weiteren Schritten mehrstufige Entscheidungen als verschachtelte Verzweigungen zu formulieren. Zur Modellierung verwenden die Schülerinnen und Schüler die Strukturelemente nach Nassi Shneiderman. Damit werden Kompetenzen im informatischen Denken erworben, die später in Excel (Wenn-Funktion) oder in einer Programmiersprache ihre Anwendung finden.Der Lehrplan sieht vor, dass die Lernenden die Fertigkeit erwerben, Problemlösungen als Algorithmen darzustellen. Ferner sollen elementare Kontrollstrukturen angewendet werden. Die Schülerinnen und Schüler befassten sich vorab in Lernsituationen mit Algorithmen, wobei diese als Teil der eigenen Lebenswelt erfahrbar wurden. Gestützt auf Beispiele wurden Grundlagen erarbeitet (Begriffsdefinition, Gütekriterien von Algorithmen, Darstellungsmethoden). Jetzt wird mit dem Junior-Entwicklungsteam eine betriebliche Handlungssituation für das Modellunternehmen InfoTec GmbH geschaffen, um Fachinhalte in betriebliche Kontexte einzubinden. Der Unterricht zeichnet sich dadurch aus, dass die Lernenden als Entwicklungsteams agieren. Sie erhalten Aufträge anderer Betriebsbereiche, bei denen es sich um Problemstellungen handelt, für die es eine Lösung zu entwickeln gilt. Unterrichtsablauf und Einsatz der Materialien Auf der Unterseite finden Sie detaillierte Hinweise zum Unterricht und die Arbeitsmaterialien. Fachkompetenz Die Schülerinnen und Schüler erweitern ihre kognitive Kompetenz, da sie erarbeiten, wie eine betriebliche Entscheidung als Auswahlstruktur in einem Algorithmus zu formulieren ist. schulen ihre Analysekompetenz, indem sie Informationen einer Problemstellung aus dem Text isolieren und bei der Entwicklung einer Lösung neu strukturieren. festigen ihr logisches Denken und entwickeln ihre Abstraktionskompetenz, weil sie für ein verbal formuliertes Problem eine abstrakte Problemlösung konzipieren. schulen ihre Problemlösungskompetenz, indem sie Kenntnisse einsetzen, um eine betriebliche Aufgabe zu lösen. trainieren ihre Anwendungskompetenz, da sie die Problemlösung mittels Algorithmen erarbeiten und mit einen Struktogramm modellieren. Methodenkompetenz Die Schülerinnen und Schüler erweitern ihre IT-Methodenkompetenz, indem sie ein Struktogramm unter Verwendung eines Editors abbilden. trainieren ihre Selbsterschließungskompetenz, denn sie sind aufgefordert, im Rahmen des Lernarrangements notwendige Informationen zur Lösung einer realitätsorientierten betrieblichen Aufgabe eigenständig zu gewinnen. Thema Im Junior-Entwicklungsteam der InfoTec GmbH. Die Lösung betriebswirtschaftlicher Entscheidungsprobleme unter Verwendung von Auswahlstrukturen als Algorithmus formulieren und darstellen. Autor Christoph Dolzanski Fach Datenverarbeitung, Lernbereich Algorithmen, elementare Kontrollstrukturen entwickeln Zielgruppe Wirtschaftsgymnasium Jahrgangsstufe 11, Höhere Berufsfachschule Datenverarbeitung, Berufsschule Zeitrahmen 1 Unterrichtsstunde, weitere Arbeitsaufträge (binnendifferenzierte Schwierigkeitsgrade) in Form eines Auftragbuchs, Zeitumfang in Abhängigkeit vom Leistungsvermögen der Schüler Technische Voraussetzungen PC, Beamer, Powerpoint, Struktogrammeditor (z. B. Strukted32), gegebenenfalls Internet-Zugang für Recherchen Am Beginn des Unterrichts steht ein informierendes, hinführendes Vorgehen, mit dem die Lernenden in die betriebliche Situation des Junior-Entwicklungsteams versetzt werden. Das Auftragsbuch der Abteilung wird gezeigt und mit dem Hinweis übergeben, dass sich darin die zu bearbeitenden Aufträge der Organisationseinheiten befinden. Die Teams entnehmen dem Auftragsbuch die von ihnen zu bearbeitenden Entwicklungsaufträge (erster oder zweiter Auftrag algorithmen_entwicklungsabteilung.ppt). Jeder Auftrag sollte von mindestens zwei Entwicklungsteams bearbeitet werden. In den Teams erfolgt die Problematisierung, die auf einer praktischen Aufgabenstellung beruht. Danach entwerfen die Teams eigene Lösungsvorschläge (entwicklungshandbuch.ppt und Internet-Recherche). Die Schülerinnen und Schüler analysieren das Problem, formulieren die Ein- und Ausgabedaten sowie den Lösungsalgorithmus (eventuell algorithmen_arbeitsblatt_problemanalyse.rtf) und bilden diesen als Struktogramm unter Verwendung eines Editors (strukted32.exe) ab. Im Sinne des computergestützten Unterrichts dient der PC als universelles Werkzeug. Die Schülerinnen und Schüler können Lösungen erarbeiten, die Arbeitsergebnisse in medialer Form speichern, austauschen und in der Folgephase präsentieren. Zunächst diskutieren die Teams mit der gleichen Aufgabenstellung ihre Ergebnisse und einigen sich auf eine gemeinsame Lösung. Einige Entwicklungsteams stellen die von ihnen konzipierte Problemlösung vor. Im gesamten Junior-Entwicklungsteam wird der Vorschlag diskutiert, geprüft und gegebenenfalls ergänzt. Durch Präsentation der Lösung via Beamer aus dem Editor besteht die Möglichkeit zur direkten Korrektur oder Ergänzung. So kann eine Expertenlösung im Plenum erarbeitet und an Fehlern gelernt werden. Da unterschiedliche Aufgaben gestellt werden, könnten aus Zeitgründen einige Inhalte offen bleiben, die dann in der Folgestunde thematisiert werden. Die Schülerinnen und Schüler können sich in der Hausaufgabe mit dem durch sie noch nicht bearbeiteten Auftrag befassen. Offene Fragen und Probleme, die von den Lernenden in der Erarbeitung festgehalten wurden, können jetzt aufgegriffen werden. Die Lernenden tauschen ihre Erfahrungen aus. Dabei können Merkmale für das richtige Vorgehen und für die Vermeidung von Fehlern herausgearbeitet und festgehalten werden. Die gemeinsamen Elemente der Lösungen - insbesondere die Auswahlstruktur - können angesprochen werden. Die Ergebnisse der Stunde werden über die Entwicklungsaufträge, eigene Notizen, sowie das gespeicherte Struktogramm gesichert. Humbert, L., Didaktik der Informatik - mit praxiserprobtem Unterrichtsmaterial, 1. Aufl., Wiesbaden: Teubner 2005. Landwehr, N., Neue Wege der Wissensvermittlung, ein praxisorientiertes Handbuch für Lehrpersonen in schulischer und beruflicher Aus- und Fortbildung, Aarau: Sauerländer in der aktuellen Auflage. Schubert, S. Schwill, A., Didaktik der Informatik, Heidelberg u.a.: Spektrum Akademischer Verlag, 2004. Braun, W., Lösung kaufmännischer Probleme mit MS-Excel unter Office 2000, Darmstadt: Winklers 2001. Braun, W., Einführung in die visuelle Projektentwicklung mit Delphi, Windows 95 im Einsatz, Aufbau von Informationssystemen, Softwaredesign, 1. Aufl., Darmstadt: Winklers 1997.

  • Informatik / Wirtschaftsinformatik / Computer, Internet & Co.
  • Sekundarstufe II

Wie funktionieren Navigationsprogramme? – ein Exkurs in die…

Unterrichtseinheit

Über das Anschauungsproblem vom Finden der schnellsten Route lernen die Schülerinnen und Schüler die Grundlagen der Netzwerkoptimierung und das algorithmische Lösen von "Schnellste-Wege-Problemen". Darüber hinaus bearbeiten die Schülerinnen und Schüler das Problem, einen möglichst guten Kompromiss zwischen schnellster und umweltfreundlichster Route zu finden und tauchen dabei in ein Problem der multikriteriellen Optimierung ein. Was ist die schnellste Route von Mainz nach München? Google Maps oder andere Online-Karten beantworten uns diese Frage schnell. Aber wie geht ein Computerprogramm dabei vor? Ist die schnellste Route automatisch auch die umweltfreundlichste Route? In diesem Unterrichtsmaterial müssen als erstes aus dem komplexen Straßennetz auf einer Karte Süddeutschlands die wichtigsten Informationen und Wege von Mainz nach München gefunden werden. Dabei konzentrieren sich die Lernenden auf das Autobahnnetz und markieren Straßen und Autobahnkreuze. Autobahnabschnitte werden mit Zeiten ergänzt, die man benötigt, um sie zurückzulegen. So erstellen die Schülerinnen und Schüler einen Graph und entwickeln eine grobe Vorstellung von möglichen Routen und eventuell sogar schon eine Idee für die schnellste Route. An dieser Stelle werden die anwendungsbezogenen Arbeitsblätter durch ein nicht obligatorisches Video ergänzt, das Graphen formal-mathematisch einführt. Die Materialien und Arbeitsblätter finden Sie über den Link am Ende dieser Seite. Wie kann man sich jedoch sicher sein, die schnellste Route gefunden zu haben? Dafür soll der Dijkstra-Algorithmus, der wohl bekannteste "Kürzeste-Wege-Algorithmus", so nachvollzogen werden, dass die Lernenden ihn selbst anwenden können. Da es sich um einen für Schülerinnen und Schüler komplexen Algorithmus in einem nicht bekannten Anwendungsgebiet handelt, bekommen die sie zum Nachvollziehen zuerst übersichtliche grafische Hilfestellungen und Hinweise, die es besonders zu beachten gilt. Auch ein Erklärvideo soll helfen, den Algorithmus zu verstehen. Nachdem die Lernenden den schnellsten Weg gefunden und versucht haben, den Dijkstra-Algorithmus selbst zu formulieren, sind sie nun selbst gefordert, die umweltfreundlichste Route von Mainz nach München zu finden. Weil die Umweltfreundlichkeit einer Route einerseits von sehr vielen Faktoren abhängt, andererseits aber auch nicht eindeutig definiert ist, handelt es sich dabei um eine starke Vereinfachung. Abschließend wird folgende Frage bearbeitet: Wie findet man den besten Kompromiss zwischen schneller und umweltfreundlicher Route? Thematisch schließt somit die Lerneinheit in Richtung der aktuellen Nachhaltigkeitsdebatte ab und schafft fachmathematisch eine Verbindung zwischen Netzwerk- und multikriterieller Optimierung. Darüber hinaus haben die Lernenden die Möglichkeit, sich in einem interaktiven Jupyter-Notebook-Kurs mit dem Programmieren des Dijkstra-Algorithmus zu beschäftigen. Dieser löst die Anschauungsbeispiele in der Programmiersprache Python. Relevanz des Themas Heutzutage spielen Navigationsprogramme, besonders Google Maps oder Apple Karten, eine sehr große Rolle und werden alltäglich verwendet. Das Lösen von Navigationsproblemen kann dem mathematischen Fachgebiet der Netzwerkoptimierung zugeordnet werden. Das allein zeigt die herausragende Relevanz und unterschätzte Bedeutung eines Themas, das in den Lehrplänen der Länder deutschlandweit bisher keine große spielt. Vorkenntnisse Die Lernenden benötigen für die Unterrichtseinheit keine mathematischen Vorkenntnisse, da es sich um ein außerschulisches mathematisches Anwendungsfeld handelt. Durch die recht anspruchsvollen Inhalte ist diese Lernumgebung jedoch erst für Schülerinnen und Schüler ab der 8. Klasse bis hin zur Oberstufe empfohlen. Didaktische Analyse Die Schülerinnen und Schüler lernen mathematische Inhalte im Bereich der Netzwerkoptimierung kennen. Sie lernen den Umgang mit Graphen, Knoten, Kanten und Kantengewichten. Ein Exkurs mit einer kleinen Einführung in die formal-mathematische Netzwerkoptimierung wird für leistungsstarke Oberstufenschülerinnen und -schüler in einem Video gegeben. Außerdem erarbeiten sie ein algorithmisches Vorgehen, den Dijkstra-Algorithmus, sowie ein bikriterielles Netzwerkoptimierungsproblem. Lernschwierigkeiten sind besonders bei der Formulierung des Algorithmus zu erwarten, weswegen hier das Wahrnehmen der Hilfestellungen im Erklärvideo empfohlen wird. Methodische Analyse Das Lernheft beziehungsweise die Arbeitsblätter können ausgedruckt, ausgeteilt und bearbeitet werden. Die Bearbeitung an Tablets bietet sich ebenfalls an. Für den Programmierexkurs ist ein Computer oder ein Tablet notwendig. Es gibt unterschiedliche Möglichkeiten, die Lerneinheit methodisch durchzuführen: Sie kann über mehrere Stunden als Wochenarbeitsauftrag mit dem Lernheft in Einzel- oder Paararbeit erfolgen. Sicherungen können in kleinen Gruppen- oder Paararbeitsphasen durchgeführt werden, indem Ergebnisse verglichen werden. Die Arbeitsphasen des Lernhefts sind als Arbeitsblätter nutzbar. Für jede Arbeitsphase kann eine Unterrichtsstunde verwendet werden. Am Anfang kann ein gemeinsamer Einstieg und am Ende eine gemeinsame Sicherung stattfinden. Die Arbeitsphasen finden in Einzel- oder Paararbeit statt. Es ist auch denkbar, das Lernheft vollständig in einer Heimarbeitsphase durchzuführen. Am Ende sollte aber eine Besprechung im Unterricht stattfinden Hinweise zu den Materialien Arbeitsblatt 1 : Die Lernenden erstellen aus Kartenmaterial ein Netzwerk aus Knoten und Kanten. Arbeitsblatt 2 : Die Lernenden vollziehen an einem Beispiel den Dijkstra-Algorithmus nach und formulieren ihn selbst. Arbeitsblatt 3 : Die Lernenden wenden den Dijkstra-Algorithmus an einem Beispiel selbst an. Arbeitsblatt 4 : Die Lernenden lösen an einem Beispiel ein bikriterielles Netzwerksoptimierungsproblem. Programmierexkurs : Die Lernenden vollziehen den Code des Dijkstra-Algorithmus nach und programmieren Abschnitte selbst. Alle Arbeitsblätter sind einzeln oder als Lernheft zusammengefasst verfügbar. Sie können die Arbeitsblätter über den Link am Ender der Seite herunterladen. Digitale Kompetenzen, die Lehrende zur Umsetzung der Unterrichtseinheit benötigen (nach dem DigCompEdu Modell) Die Lehrkräfte integrieren das Hilfsmaterial zur Programmierung des Dijkstra-Algorithmus, um den Lernenden das Erarbeiten eigener, kreativer Lösungen zu ermöglichen und sie in ihrem Lösungsprozess zu unterstützen (3.2 und 3.4). Dabei nutzen sie das Lernvideo zu Graphen, um den Lernenden das Vertiefen ihres eigenen Wissens zu ermöglichen (3.4). Fachkompetenz Die Schülerinnen und Schüler erstellen einen Graph mit Knoten, Kanten und Kantengewichten, indem sie aus Kartenmaterial einen Graphen erstellen. erklären und formulieren den Dijkstra-Algorithmus, indem sie ihn an einem Beispiel nachvollziehen und anschließend die einzelnen Schritte dokumentieren. wenden den Dijkstra-Algorithmus an, indem sie die umweltfreundlichste Route zwischen Mainz und München finden. Medienkompetenz Die Schülerinnen und Schüler verstehen die Funktionsweise von Navigationsprogrammen, indem sie grundlegende Prinzipien der Netzwerkoptimierung anhand eines Beispiels nachvollziehen. erklären einen Algorithmus, indem sie algorithmische Strukturen in einem Beispiel erkennen und allgemeingültig formulieren. lösen ein technisches Problem, indem sie ein "Kürzeste-Wege-Problem" in der Programmiersprache Python formulieren. Sozialkompetenz Die Schülerinnen und Schüler kommunizieren miteinander, indem sie in Paararbeit zusammenarbeiten. geben einander Feedback, indem sie in Sicherungsphasen Lösungen kontrollieren und besprechen. 21st Century-Skills Die Schülerinnen und Schüler fördern sich im kritischen Denken, indem sie bei der Formulierung und Programmierung des Dijkstra-Algorithmus strukturiert vorgehen, Argumente innerhalb der Lerngruppe analysieren und die Ergebnisse des Dijkstra-Algorithmus nutzen, um die umweltfreundlichste Route zu bestimmen*. stärken ihre Fähigkeiten zur Kollaboration und Kommunikation, indem sie die Aufgaben im Team diskutieren und lösen. fördern ihr Verständnis der digitalen Welt, indem sie durch das Bearbeiten der Aufgaben einen Einblick in die Funktionsweise von Navigationsprogrammen erlangen. * nach Ennis, R.H. (2011). Critical Thinking: Reflection and perspective – Part I. Inquiry: CT across the Disciplines 26 (1), S. 4–18.

  • Mathematik / Rechnen & Logik / Informatik / Wirtschaftsinformatik / Computer, Internet & Co.
  • Sekundarstufe I, Sekundarstufe II, Berufliche Bildung

Erste Schritte mit Astro Pi: Programmiersprache mithilfe von Raspberry…

Unterrichtseinheit

Diese Unterrichtseinheit führt in die Programmierung des Raspberry Pi mit Python ein. Anhand verschiedener Aufgaben werden die Schülerinnen und Schüler einen Raspberry-Pi-Computer einrichten und programmieren. Ziel ist es, erste Programmierkenntnisse zu erlangen. Ein AstroPi ist ein Mini-Computer, der mit der Unterstützung der UK Space Agency und der Europäischen Weltraumorganisation (ESA) von der Raspberry Pi Foundation entwickelt wurde. Es gibt zwei ganz besondere AstroPi-Computer: Sie heißen Ed und Izzy und wurden extra für einen Flug ins Weltall gebaut. Beide befinden sich nun auf der Internationalen Raumstation ISS und stehen Schülerinnen und Schülern zur Verfügung. Die vorliegende Unterrichtseinheit führt in die Programmierung des AstroPi ein: Unter Verwendung verschiedener Datenstrukturen in Python steuern die Schülerinnen und Schüler die Farben von LEDs an und erzeugen so unterschiedlich starke farbige und weiße Lichter. Im letzten Arbeitsblatt simulieren sie das System der Luftfeuchtigkeitsregulierung auf der ISS und sammeln Umgebungsdaten wie die Temperatur, die Beschleunigung der ISS und die Richtung der Schwerkraft. Die Unterrichtsmaterialien sind Teil der Astro Pi Challenge. Durch den Wettbewerb haben Schülerinnen und Schüler die einmalige Chance, wissenschaftliche Untersuchungen im All durchzuführen, indem ihre selbstgeschriebenen Computerprogramme auf Astro Pis speziellem Raspberry Pi Computer auf der Internationalen Raumstation (ISS) ausgeführt werden. Altersklasse: 10 bis 16 Jahre Fächer: Informatik, Technik, danach sind weitere Anwendungen in anderen MINT-Fächern möglich Schwierigkeitsgrad: leicht Ort: drinnen (Klassenraum) Erforderliche Materialien: AstroPi-Bausatz; Monitor, USB-Tastatur und USB-Maus Diese Unterrichtseinheit ist der erste Teil einer Reihe von drei Lernhilfe-Sets, die vom ESA Education Office, der Bildungsorganisation der ESA, und ihren Partnern für die erste "European Astro Pi Challenge" entwickelt wurden. Durch das Abarbeiten der Übungen dieser Lektion in der angegebenen Reihenfolge erlernen die Schülerinnen und Schüler die grundlegenden Programmierkenntnisse, die sie für die ersten Schritte mit Raspberry Pi benötigen. Weitere Materialien, die vom ESA Education Office für die "European Astro Pi Challenge" entwickelt wurden: Der Sense Hat: Einrichtung des Sense HAT und visuelle Ausgabe über die Sense HAT-LED-Matrix Datenerfassung mit dem Astro Pi: Erfassung von Daten aus der Umgebung mithilfe von Sense-HAT-Sensoren Die Schülerinnen und Schüler lernen, was ein Raspberry Pi ist, kennen seine Hauptfunktionen und wissen, wie man ihn einrichtet und benutzt. lernen den Unterschied zwischen Hardware und Software kennen. lernen, was eine Programmiersprache ist. lernen, wie sie mit Python programmieren können. lernen, wie sie mit Eingabe- und Ausgabemeldungen, Variablen, Datentypen, "if"-Anweisungen und Schleifen umgehen müssen. lernen, wie sie mit dem Turtle-Modul von Python geometrische Formen zeichnen können.

  • Physik / Astronomie / Technik / Sache & Technik
  • Sekundarstufe I, Sekundarstufe II
ANZEIGE