Projekte und Projektpartner
Hier finden Sie die möglichen Projekte bzw. Projektpartner des KIT Summer of Code for Society. Die unten stehende Liste wird regelmäßig aktualisiert.
Sie möchten ein Projekt vorschlagen? Mehr dazu finden Sie unter "Ein Projekt vorschlagen".
Portierung bestehender didaktischer Werkzeuge (u.a. Microsim)
Für den (Informatik-) Unterricht gibt es bereits einige didaktische Werkzeuge, die jedoch oftmals eine (veraltete) Plattformbindung haben oder installiert werden müssen, was in vielen Schulsystemen jedoch aus system-administrativen Gründen untersagt ist. Weiterhin sind viele Benutzeroberflächen veraltet. Daher sollen in diesem Projekt ein oder mehrere didaktische Werkzeuge, wie etwa MicroSim, für modernere Plattformen nachimplementiert werden. Hierfür eignen sich beispielsweise Plattformen wie Java (mittels JavaFX) oder der Browser (mittels HTML5 und Javascript).
"OCR on demand" für historische Drucke mit Kitodo.Presentation / DFG-Viewer
Der Verein Kitodo e. V. unterstützt Bibliotheken und Archive mit freier Software unter der Marke "Kitodo". Dazu gehört insbesondere Software für Digitalisierungsprojekte. Eine wichtige Komponente ist die Software Kitodo.Presentation, mit der Digitalisate - beispielsweise historische Bücher - im Internet präsentiert werden.
Kitodo.Presentation ist auch die Basis des DFG-Viewers [2], der Digitalisate der meisten Bibliotheken und vieler Archive anzeigen kann.
Soweit es zu digitalisierten Werken auch Volltexte gibt, zeigt der DFG-Viewer diese ebenfalls an. Leider ist dies heute bei vielleicht 90 % der historischen Bücher nicht der Fall. Es wäre sehr wünschenswert, wenn die Anwender trotzdem die Möglichkeit hätten, nicht nur Abbildungen der Seiten zu sehen, sondern auch Text zu erhalten. Deshalb soll im Rahmen des KIT Summer of Code eine prototypische "OCR-on-demand" realisiert werden.
Ganz grob fallen folgende Aufgaben an:
- Lokale Installation einer lauffähigen Instanz von Kitodo.Presentation auf Basis des DFG-Viewers. Diese ist die Grundlage für die Weiterentwicklung.
- Erweiterung des Codes (Webanwendung mit PHP, JavaScript) um
OCR-on-demand: bei Werken ohne Volltext kann der Anwender Volltext für die aktuelle Seite erzeugen lassen
Das Ziel ist also folgendes: Es gibt eine lokale Installation des DFG-Viewers, die wie der DFG-Viewer Digitalisate anzeigt, zusätzlich aber auch für Werke ohne Volltext eine "OCR-on-demand" durchführt, also Volltext auf Wunsch der Anwender produziert. Dazu gehört auch der notwendige Code und eine Dokumentation, die es ermöglichen, die lokale Installation zu reproduzieren.
Hilfreich hierfür sind Kenntnisse in Open-Source-Softwareentwicklung, Linux, Web-Anwendungen mit PHP / JavaScript, eventuell TYPO3 und ein Interesse am Thema OCR.
Mobile (An-) Steuerung von Mikrocontrollern via Scratch/RoboPro
Im Jahr 2019 wurde im Rahmen des Summer of Code eine Scratch-Ergänzung entwickelt, die es möglich macht, Scratch-Programme in ausführbaren Code für den ftDuino-Controller zu übersetzen. Damit können die Schülerinnen und Schüler jetzt auch Anwendungen für mobile Roboter entwickeln.
Es fehlt allerdings noch eine technische Basis, mit der die Schülerinnen und Schüler ihre Smartphones mit den Mikrocontrollern koppeln können. Darüber wäre die Realisierung von einfachen Steuerungen bis hin zu komplexen Analysen und Auswertungen von IoT-Sensoren möglich.
Die konkrete Projektidee ist, die Mikrocontroller mit Bluetooth anzusteuern. Einige der Controller bringen bereits Bluetooth-Module mit (TX-, TXT-, BT-Smart-Controller, micro:bit, Calliope Mini); die Arduino-basierten (ftDuino, Arduino) können mit verbreiteten Bluetootmodulen um SPP (HC-05) oder BLE (HM-10) erweitert werden. Über diese Standards können fast alle gängigen Smartphones gekoppelt werden.
Dazu wird für die AGs eine Smartphone-App benötigt, die
- mit den Controllern gekoppelt werden kann
- die Daten aller Smartphone-Sensoren an den Mikrocontroller übermitteln kann
- eine konfigurierbare GUI besitzt, die eine Steuerung über Knöpfe, Schieberegler, Neigungssensoren und Joystick erlaubt (siehe z.B. ArduinoBlue: github.com/purwar2016/ArduinoBlue-library)
- Daten vom Mikrocontroller empfangen und darstellen kann (siehe z.B. Bluefruit LE Connect App: https://learn.adafruit.com/bluefruit-le-connect)
Für die Mikrocontroller, die in den AGs eingesetzt werden, sollen einfache Treiber (Arduino) bzw. Beispielprogramme bereitgestellt werden, die das Zusammenspiel zwischen Mikrocontroller und App über vereinheitlichte Befehle unterstützen.
Erweiterung von BlueJ um einen Klasseneditor mit Codegenerierung
Ziel des Projekts ist es, einen Klasseneditor für die Lern- und Lehr-IDE für Java BlueJ zu erstellen, mit dem der dazugehörige Quelltext erzeugt werden kann. Als Vorbild dient der UML-Editor im JavaEditor. Zielgruppe der Erweiterung sind Schülerinnen und Schüler im Informatikunterricht (in Baden-Württemberg).
Erweiterung von BlueJ um ein Objektdiagramm mit Referenzbeziehungen
In diesem Projekt soll eine Erweiterung für die Lern- und Lehr-IDE für Java BlueJ erstellt werden, mit der ein Objektdiagramm angezeigt werden kann. In diesem Diagramm sollen Attributwerte und Referenzen, als Pfeile auf andere Objekte, dargestellt werden. Als Vorbild dient der UML-Editor im JavaEditor. Zielgruppe der Erweiterung sind Schülerinnen und Schüler im Informatikunterricht (in Baden-Württemberg).
Erweiterung und Vereinfachung von PhyPiDAQ
PhyPiDAQ ist ein Open-Source-Projekt, das eine Abstraktionsschicht bietet für Messgeräte und Sensoren, die an einen Raspberry Pi angeschlossen sind. Dabei werden grundlegende Funktionen zur Datenerfassung und -visualisierung wie Datenlogger, Balkendiagramm, XY- oder Oszilloskopanzeige sowie Datenaufzeichnung auf der Festplatte zur Verfügung gestellt. In diesem Projekt soll die Handhabung für Schüler vereinfacht und verbessert und ggf. Teile des Codes refaktorisiert werden. Grundlage hierfür bieten auch die ersten realisierten Anpassungen in https://github.com/osl2/PhyPiDAQ. Ziel ist hier, die Komplexität für Schülerinnen und Schüler zu senken und somit den Einsatz zu vereinfachen.