Informationen für Lehrkräfte

Eigener Server

Mit einem Account bei Render.com lässt sich ein eigener Server mit nur einem Klick erstellen:

Deploy to Render

Einschränkungen siehe https://render.com/docs/free, insbesondere:

  • Nach 15 Minuten Inaktivität wird die App in einen Ruhezustand versetzt, sodass der erste Seitenaufruf eine gewisse Zeit dauert.
  • Die ausgehende Bandbreite ist beschränkt auf 100 GB pro Monat.

Ausarbeitungen

Im MNU-Journal Ausgabe 3/2022 wurde das SocialBotNet und der Einsatz im Unterricht vorgestellt. Download des MNU-Journal Artikels.

Die Unterrichtseinheit wurde außerdem bei der INFOS 2019 mit dem Unterrichtspreis der Gesellschaft für Informatik ausgezeichnet. Download der Ausarbeitung

Dieses Projekt ist im Rahmen einer Zulassungsarbeit am Lehrstuhl für Didaktik der Informatik der Ludwig-Maximilians-Universität München entstanden. Download der Zulassungsarbeit

Überblick der Didaktik

Ziel dieser Webseite

Die Webseite bietet eine einfache, offene Programmierschnittstelle ("API") über HTTP und HTTPS an, über die die Daten der Webseite abgerufen und neue Inhalte erstellt werden können. Dadurch können Schüler*innen selbst Bots programmieren und so erfahren, wie Social Bots funktionieren. Die Auseinandersetzung durch die eigene Programmierung ermöglicht ihnen, die Technologie zu reflektieren und Gefahren sowie Grenzen einschätzen zu können.

Mit einem Account auf der Webseite können Beiträge auf der eigenen Pinnwand oder an bestimmte Nutzer geschrieben werden, Posts geliket und ein Profil gestaltet werden. Besondere Herausforderung ist, mit den eigenen Beiträgen in die Top-Trends auf der Startseite zu gelangen.

Beispiel eines Unterrichtskonzeptes

Ein mögliches Unterrichtskonzept für die Oberstufe über den Verlauf von 4 Schulstunden wird im Folgenden kurz dargestellt. Ausführlichere Informationen finden sich insbesondere in der Ausarbeitung für den GI Unterrichtspreis 2019

Neben den Programmierkenntnissen (sicherer Umgang mit Datentypen, Objekten und for-Wiederholung) ist Vorwissen zum Schichtenmodell und dem Client-Server-Prinzip für die Unterrichtssequenz hilfreich.

Erste Stunde: Einführung zu Social Bots und Verknüpfung mit Protokollen

  1. Aktivierung: Sammeln von Vorerfahrungen oder zeigen eines Videos. Gut geeignet z.B. "Social Bots" von ZDF heuteplus und "Fake News & Social Bots in 3 Minuten erklärt" von explain-it
  2. "Nutzersicht" der Webseite: Die Lernenden erstellen einen Account und analysieren, welche Möglichkeiten es auf der Webseite gibt und welche Stellen anfällig für Manipulationen sind.
  3. Sichtbare Client-Server-Kommunikation: Über die Entwicklertools des Browsers kann die Netzwerkkommunikation sichtbar gemacht werden. Hervorzuheben ist, dass der Browser mittels GET-Anfragen Daten vom Server abruft und mittels POST Daten an den Server sendet.
  4. Erläuterung der "Programmierersicht": Gleiches Protokoll (HTTP), aber andere Schnittstelle. Wegen des gleichen Protokolls kann die API auch im Browser betrachtet werden. Die Lernenden rufen als Beispiel /api/posts?sortby=trending auf und vergleichen es mit der Benutzersicht der Startseite.

Zweite und Dritte Stunde: Programmieren eines eigenen Social Bots

Ausgehend von einfachen Programmen, die per POST-Anfrage vorgefertigte Nachrichten schreiben, werden immer komplexere Anwendungen geschrieben. Anregungen:

  • Posten vorgefertigter Texte auf der eigenen Pinnwand. (einfach)
  • Liken aller Beiträge auf der eigenen Pinnwand.(einfach)
  • Posten von Texten, die aus mehreren Satzteilen zufällig kombiniert werden, z.B. wie der Buzz-o-Mat.(mittel)
  • Posts nach Schlüsselwörtern durchsuchen und dann liken.(anspruchsvoll)
  • Nutzerprofile nach Schlüsselwörtern durchsuchen und dann vorgefertigte Texte an diese Nutzer schreiben. (anspruchsvoll)
  • Anbinden externer Webservices wie pokeapi.co oder openweathermap.org. (sehr anspruchsvoll)

    Eine Übersicht über zahlreiche offene APIs gibt es im Github-Projekt public-apis-dev. Über Rückmeldungen zu gut verwendbaren APIs daraus würde ich mich freuen!

Die Arbeitsblätter und Projektvorlagen dienen zur Unterstützung der selbstgesteuerten Arbeit der Lernenden.

Vierte Stunde: Sicherung und Reflexion

Die abschließende Stunde dient der Sicherung und Reflexion des Gelernten. Anhand konkreter Schülerprogramme und dem zugehörigen Kommunikationsverlauf kann die Netzwerkkommunikation zwischen Client und Servern wiederholt werden. Eine Diskussion der gesellschaftlichen Auswirkungen von Social Bots, insbesondere der möglichen Einflussnahme auf politische Debatten, rundet das Thema ab.

Beispielprojekte

Hier kann ein Javaprojekt mit Beispielbots heruntergeladen werden. Enthalten sind:

  • ein einfacher und ein fortgeschrittener Social Bot im Projekt mit Objekten,
  • der einfache Bot nur mit JSON zum Vergleich,
  • ein Bot, der mit der Wetter-API von openweathermap.org kommuniziert und Beiträge passend zum Wetter schreibt. Benötigt (kostenlosen) API-Key von api.openweathermap.org.

Eine Beispiellösung für einen Bot und das Arbeitsblatt kann auf Anfrage zugeschickt werden.

Die Materialien für die Online-IDE wurden dankenswerterweise von Jürgen Horzella erstellt.

Hier kann ein Beispielbot mit Python heruntergeladen werden. Der Bot kann Beiträge posten und liken und mit der Pokemon API von pokeapi.co kommunizieren, um Fakten über Pokemons zu posten.

Die Python Materialien wurden dankenswerterweise von Christopher Frank (E-Mail: ) erstellt, der auch gerne bei Fragen kontaktiert werden kann.

Der Einsatz von JavaScript ist ebenfalls möglich, wie der exemplarische JavaScript-Client von Julian Dorn zeigt.