Projekte
Was erwartet dich?
Neben spannenden Vorlesungen aus der Informatik und Erfahrungsberichten von Studierenden und Experten aus der Praxis, entwickelt ihr euer eigenes kleines Projekt. Mögliche Themen dafür sind:
- #programmable: Entwicklung einer Social Media App
- Let AI Handle It: Spiele mit neuronalen Netzen
- Programmierung von Mikrocontrollern mit Arduino
- Virtuelle Welten
Jedes dieser Projekte ist unabhängig von deinen Informatik-Vorkenntnisse.
✅ Du hast bisher noch nie programmiert? Kein Problem, das lernst du ganz schnell.
✅ Du hast bereits Programmiererfahrung in Java oder Python? Super, dann kannst du dein Wissen erweitern und praktisch anwenden.
Die Gruppenprojekte werden dabei abwechselnd eigenständig und/oder in Teams von ca. 3 Jugendlichen bearbeitet und durch Mitarbeitende der Universität betreut.
#programmable: Entwicklung einer Social Media App
Worum geht es?
Entwicklung einer Webanwendung (Social Media App), Dateninterpretation
Was wollen wir machen?
#instagram, #tiktok, #twitter — Social Media ist überall. Aber wie funktionieren eigentlich solche Sozialen Netzwerke? In diesem Projekt schauen wir hinter die Kulissen der sozialen Plattformen und lernen nicht nur deren Aufbau und Funktionsweise, sondern entwickeln selbst eine kleine Webanwendung. Dabei programmieren wir alles, was ihr so von euren Lieblings-Netzwerken kennt: Newsfeed, Profil, Liken und Kommentare. Und natürlich könnt ihr eure eigene Social Media App mit euren Bildern und Inhalten füllen.
Womit setzen wir es um?
Python und Django Framework (keine Vorkenntnisse direkt notwendig, aber ein Wille zur Einarbeitung in das Django Framework ist vorteilhaft)
Was lernt ihr?
- Verständnis für Aufbau und Funktionsweise von Webseiten
- Anwendung von relevanten Entwurfsmustern (Pattern, MVC)
- Implementierung einer Webanwendung
Let AI Handle It: Spiele mit neuronalen Netzen
Worum geht es?
Entwicklung eines Spiels und einer spielenden künstlichen Intelligenz
Was wollen wir machen?
Pong, Tetris, Super Mario, Minecraft, Fortnite. Die Gaming-Industrie ist ein Paradebeispiel des technologischen Fortschritts. Alles begann mit einem pixeligen Tennis-Spiel. Heute stürzen sich Spieler aus Flugzeugen in eine detailreiche Comic-Spielwelt und konkurrieren über die Herrschaft einer Insel. Eine ähnlich rasante Entwicklung kann man in der Welt der künstlichen Intelligenz beobachten. In diesem Projekt wollen wir hinter die Kulissen schauen und gemeinsam aufdecken, was sich hinter Begriffen wie „Machine Learning“ und „Künstliche Intelligenz“ verbirgt. Hierzu entwickeln wir zunächst ein Spiel in der Programmiersprache Python. Anschließend verwenden wir Methoden aus der Welt des „Machine Learnings“, um dem Computer beizubringen, dass von uns entwickelte Spiel selbständig zu spielen.
Womit setzen wir es um?
Python (keine Vorkenntnisse notwendig, aber natürlich vorteilhaft)
Was lernt ihr?
- Einstieg in Python über das Entwickeln eines Spiels
- Einblick in die Welt der künstlichen Intelligenz
- Reinforcement Learning, eine vielseitig einsetzbare Methode um Maschinen beizubringen zu „denken“
Arduino: Programmierung von Mikrocontrollern
Worum geht es?
Programmierung von Mikrocontrollern
Was wollen wir machen?
Hast du neben Software auch Interesse an Hardware? Dann bist du in diesem Projekt bestens aufgehoben: In diesem Projekt erarbeiten wir zunächst die Grundlagen elektronischer Schaltungen, bevor wir in den Umgang mit Mikrocontrollern, also kleinen Computersystemen, die spezialisierte Aufgaben übernehmen, einsteigen. Aufbauend auf diesen Erkenntnissen wollen wir gemeinsam elektronische Systeme mit mehreren Komponenten entwickeln, die von einem (oder mehreren) zentralen Mikrocontrollern gesteuert werden. Deiner Kreativität sind keine Grenzen gesetzt: Mit Arduino kannst du von der Alarmanlage, über die visuelle Darstellung von Lautstärke bis hin zur Spieleprogrammierung (z.B. Snake, Pong oder Tic-Tac-Toe) alles ausprobieren.
Mikrocontroller sind kleine Computersysteme, die spezialisierte Aufgaben übernehmen. Beispielsweise steuern solche Systeme die einzelnen Komponenten eines Autos, wie z.B. die Kraftstoffpumpe, Informationssysteme oder Sicherheitssysteme. Die Controller erhalten Informationen über ihre Umwelt dabei von Sensoren und verarbeiten diese, um sie etwa einem Benutzer auszugeben (z.B. Einparkhilfe) oder um Aktoren zu steuern (z.B. Antiblockiersystem).
Womit setzen wir es um?
Arduino-Plattform, die wir in einem C/C++-Dialekt programmieren (keine Vorkenntnisse notwendig, aber natürlich vorteilhaft)
Was lernt ihr?
- Einblick in elektronische Schaltungen
- Einblick in die Arbeit mit Mikrocontrollern auf der Plattform von Arduino
- Grundlegende Programmierung von Mikrocontrollern
Virtuelle Welten
Worum geht es?
Entwicklung eigener Welt mit POVRAY
Was wollen wir machen?
In der Gruppe sollen neben den Grundlagen von Raytracing besonders die dafür verwendeten Beschreibungsmethoden betrachtet werden. Diese bieten neue Ansätze zum Verständnis des Prinzips der Rekursion, einer fundamentalen Methode der Informatik. Raytracing ist eine Methode zur Erzeugung realistischer dreidimensionaler Darstellungen von einzelnen Objekten und ganzen Szenen. Grundlage dafür ist eine Beschreibung der Anordnung von Objekten, Lichtquellen und Kameras sowie des umgebenden Raumes (z. B. Nebel); diese Beschreibung wird dann durch ein automatisches Verfahren (hier das Programm POVRAY) zur Berechnung eines Bildes oder einer Bildfolge (Trickfilm) verwendet. Die Beschreibung erfolgt in einer Sprache, die als Programmiersprache (zum Erstellen eben jener Welten) bezeichnet werden kann. Natürlich kommt auch der Spaß nicht zu kurz, denn wo sonst hat man die Möglichkeit, die Welt so zu gestalten, wie man es möchte?!
Womit setzen wir es um?
POVRAY (keine Vorkenntnisse notwendig, aber natürlich vorteilhaft)
Was lernt ihr?
- Verständnis für das Prinzips „Raytracing“
- Vorstellung von POVRAY (Persistence of Vision Raytracer
- Rekursion als Prinzip in der Informatik
AppSpark: Programmiere deine eigene App
Worum geht es?
Design und Programmieren einer eigenen App
Was wollen wir machen?
In AppSpark dreht sich alles um die spannende Welt der App-Entwicklung! Wir zeigen dir, wie du deine eigene individuelle App von Grund auf gestalten und programmieren kannst. Du wirst nicht nur lernen, wie Apps funktionieren, sondern auch, wie du kreative Ideen in eine voll funktionsfähige Anwendung umsetzen kannst. Von nachhaltigen Themen über die Integration von Künstlicher Intelligenz in deinem eigenen Chatbot bis hin zu Informations-Apps, Quizzen oder Spielen – in AppSpark ist für jeden etwas dabei. Wir glauben daran, dass die besten Apps aus der Kombination von Leidenschaft, Kreativität und Technologie entstehen. Daher ist es uns wichtig, dass du ein Thema wählst, das dich wirklich interessiert und begeistert, das wir in den ersten Tagen zusammen brainstormen werden. Wir benutzen den MIT App Inventor (bei Vorerfahrung auch AndroidStudio), bei dem du ohne umfangreiche Programmierkenntnisse eigene Designentscheidungen triffst, z.B. Buttons platzierst, Textfelder anordnest und später deren Funktionen programmierst. Die Ergebnisse deiner App siehst du direkt auf deinem Smartphone oder Tablet!
Womit setzen wir es um?
Design Thinking Methode und MIT App Inventor (KEINE Vorkenntnisse notwendig)
Was lernt ihr?
- Einblick in die Grundlagen der App-Entwicklung
- Konkretisierung eigener kreativer Ideen
- Treffen von Design- und Programmierentscheidungen
CodeExplorers: Coding und Modding mit Minecraft
Worum geht es?
Erstellen von Mods für Minecraft.
Was wollen wir machen?
Minecraft ist eines der bekanntesten Spiele und seit jeher gibt es Fans, die über Mods eigene Ideen in das Spiel einbringen. Hier wollen wir mithilfe der Modding API Minecraft Forge eine eigene Mod erstellen mit coolen neuen Block, Items, Tränken, etc. Dabei werden wir auch in den bestehenden Code von Minecraft eintauchen um herauszufinden, wie wir unsere eigenen Ideen umsetzten können.
Womit setzen wir es um?
Minecraft Forge (keine Vorkenntnisse für Forge notwendig, ein paar erste Programmiererfahrungen hilfreich)
Was lernt ihr?
- Umgang mit einer API
- Analyse von bestehendem Code als immer wiederkehrendes Problem der Softwareentwicklung