Der Anfang – eine Aufgabe, viele Fragen
Im Rahmen meines Studiums belege ich das Modul Interaktive Medien. Hier sollen wir Schritt für Schritt lernen, wie man moderne Webseiten und Web-Applikationen erstellt. Jedes Semester baut dabei auf dem letzten auf – zumindest nehme ich das an. Zu Beginn arbeiteten wir ausschließlich mit HTML und CSS, dann kam JavaScript dazu – und nun auch PHP. Ich finde diesen Aufbau grundsätzlich gut: Man wird nicht direkt überfordert, sondern lernt eine Sprache nach der anderen kennen.
Als wir dieses Semester die neue Aufgabe erhielten, war ich neugierig – und auch ein bisschen „intriged“. (Ich mag das englische Wort, es trifft dieses Kribbeln, wenn etwas spannend und herausfordernd zugleich ist.)
„Hier liegt der Schwerpunkt auf der Entwicklung und Sicherheit von datenbankgestützten Web-Anwendungen. Die Studierenden setzen sich intensiv mit Authentifizierung und den dazugehörigen Sicherheitsaspekten auseinander. Darüber hinaus erlernen sie die Konzeption und Implementierung einer Datenbank mit mehreren Tabellen, um komplexe Datenstrukturen abzubilden. Anhand praxisnaher Beispiele werden die Grundlagen dynamischer Web-Anwendungen, wie sie etwa in Social-Media-Plattformen oder Content-Management-Systemen (z. B. WordPress) zu finden sind, vermittelt. Der Unterricht bietet dabei eine anwendungsorientierte Einführung, um die Studierenden auf die Anforderungen moderner Webentwicklung vorzubereiten. “
Die Aufgabe war es, ein funktionierendes Login-System zu entwickeln – mit Benutzeranmeldung, Passwortüberprüfung, Sessions und allem, was dazugehört. Auf den ersten Blick wirkte das machbar. Doch je tiefer ich einstieg, desto klarer wurde mir: Mir geht nicht nur darum, ein Login zu bauen – sondern zu verstehen, wie diese Funktioniert und wie sich diese auf meine Datenbank und Applikation auswirkt. So kristalisierten sich folgenden Fragen heraus:
- Wie funktioniert eigentlich Session-Management?
- Was passiert mit den Daten im Backend?
- Wie trenne ich sauber Frontend und Serverlogik?
- Und noch viel grundlegender: Wie lernt man, strukturiert zu denken, wenn der Unterricht einem nur Tools zeigt – aber keine Konzepte erklärt?
Zwischen Theorie und ChatGPT
Der Unterricht gliederte sich in zwei Bereiche: das User Research und das eigentliche Entwickeln der App. Für jeden dieser Abschnitte war eine Woche eingeplant – gespickt mit etwas Theorie, Coachings und individuellem Arbeiten. Aus den vorherigen Semestern wusste ich bereits: Diese Zeit reicht eigentlich nie, um wirklich alles zu lernen. Ich denke so ist es auch nie angedacht. Schade eingentlich.
Die erste Woche verbrachten wir damit, eine Idee zu entwickeln, Zielgruppen zu befragen und herauszufinden, ob unsere App überhaupt auf Interesse stossen würde. Gleichzeitig sollten Design, Wireframes und Mockup entstehen – möglichst alles synchron. Mitgeteilt wurde wenig Theorie dazu, vor allem, was man bei einer Zielgruppe Ü50 beachten sollte (grosse Schrift, hoher Farbkontrast, und um gottes willen genug grosse Interkationselemente) – vermittelt von jemandem, der selbst vielleicht gerade mal 30 war. Für mich war das insgesamt zu knapp. Besonders beim Feedback hätte ich mir mehr Tiefe gewünscht, um mein Verständnis von UX-Design wirklich zu stärken.
In Woche zwei ging es dann an die Umsetzung – wie immer im Zweierteam. Für mich war das absolut machbar, auch weil ich mir vor einiger Zeit selbst einen Server gemietet hatte, um meine Webseiten zu veröffentlichen. Für viele meiner Mitstudierenden war es allerdings eine echte Herausforderung. Der empfohlene Hoster „Infomaniak“ war allein schon ein Stolperstein – gepaart mit dem Zeitdruck, der Aufgabenkomplexität und der Tatsache, dass es Theorie und Hilfe von den Dozierenden nur in dieser einen Woche gab. Für viele wurde ChatGPT damit zur ersten Anlaufstelle – oft mit minimalistischen Prompts, um irgendwie eine funktionierende Lösung zu bekommen.
Von „Ich weiss das doch“ zum „Jetzt versteh ich’s wirklich“
Bereits im vorherigen Semester sollten wir eine kleine Website erstellen, die mit einer oder zwei APIs arbeitete. Dadurch hatten wir bereits ein erstes Grundverständnis von PHP und Datenbanken. Im Fokus stand damals das klassische CRUD-Prinzip – also Create, Read, Update, Delete. Dabei ging es eher um das Abrufen und Anzeigen von Daten als um deren Manipulation oder tiefergehende Logik.
Für mich war das ein sinnvoller Einstiegspunkt. Ich dachte: Okay, wir haben alle schon ein bisschen was gemacht – hier kann man anknüpfen. Aber stattdessen ging’s direkt mit dem Login los. Ohne Übergang. Kein gemeinsames Aufwärmen. Kein „Was passiert eigentlich bei einer Session?“. Kein „Wie trennt man sicher Backend und Frontend?“ Wir wurden direkt ins kalte Wasser geworfen.
Und obwohl wir alle schon ein bisschen PHP kannten, fühlte sich das Login-System an wie ein komplett neues Terrain.
Am Ende der Woche hatten manche noch keinen funktionierenden Server für das Hosting. Viele kämpften noch mit der Registrierung. Und alle – wirklich alle – versuchten irgendwie, mit minimalem Input etwas auf die Beine zu stellen, das irgendwie lief.
War das ein guter Punkt zum Ansetzen?
Schwierig. Rein technisch gesehen: vielleicht. Man konnte mit viel Hilfe von aussen etwas zusammenbauen. Aber didaktisch? Für viele war es eher frustrierend als ermutigend.
Gerade als Tutorin habe ich gemerkt, wie dünn das Fundament wirklich war. Es fehlte nicht nur an technischem Wissen – sondern vor allem an Verständnis dafür, wie man strukturiert denkt, wie man Probleme angeht, und warum bestimmte Konzepte wichtig sind.
Welche Schlüsse ziehe ich aus diesem Semsterprojekt?
Wenn ich eines weitergeben kann, dann das: Fokussiere dich auf strukturiertes Denken. Es geht nicht darum, möglichst schnell möglichst viele Funktionen in deine App zu stopfen. Es geht darum, zu verstehen, wie du etwas aufbaust – und warum. Überlege dir vor jeder neuen Funktion, wie sie sich in dein bestehendes System einfügt. Was sie braucht, was sie verändert, und was sie vielleicht überschreibt. So passiert es dir seltener, dass du am Ende denkst: Hätte ich das mal anders gelöst.
Und wenn du dich entscheiden musst zwischen Verstehen und einer schnellen, „schönen“ Lösung: Wähle das Verstehen. Nimm dir die Zeit zu recherchieren, auszuprobieren, Fehler zu machen. Nicht erst dann, wenn das Modul schon läuft und die Abgabe vor der Tür steht – sondern vorher. Baue kleine Testprojekte. Spiele mit Sessions, Formularen, Logins. Und zwar ganz ohne LMS, ganz ohne Deadline. Einfach, um zu merken, was du noch nicht weißt – und es ist okey, noch nicht alles zu wissen und zu können.