Professur Web Engineering

FAQ

Anmeldung Praxisprojekte Bachelor/Master

Bitte beachten Sie die folgenden Punkte, wenn Sie von mir während Ihres Praxisprojekts betreut werden möchten:

  1. Die anschließende Bachelor- oder Masterarbeit muss in nur 3 bzw. 6 Monaten erstellt werden. Besonders im Falle der Bachelorarbeit ist dies für eine wissenschaftliche Arbeit ein sehr kurzer Zeitraum. Daher empfehle ich, die Zeit des Praxisprojekts für Einarbeitung und Konzeption zu nutzen. Wenn Sie bereits Ideen aus Ihrer beruflichen Tätigkeit oder anderen Quellen haben, sollten Sie diese in die Themenfindung des Praxisprojekts einfließen lassen.
  2. Das Praxisprojekt ist Teil des Moduls Projektmanagement. Sie sollen die im Theorieteil erlernten Methoden anwenden. Daher ist mindestens eine Spezifikation des Ziels (z.B. ein Pflichtenheft) und ein Meilensteinplan erforderlich, bevor das Projekt beginnt. Diese sollten in einem Projekttagebuch dokumentiert werden.
  3. Wenn Sie Ihr Praxisprojekt bei mir durchführen möchten, werde ich ein Git-Repository auf unserem Gitlab-Server für Sie einrichten. Bitte hinterlegen Sie dort einen One-Pager mit der Beschreibung Ihres Vorhabens sowie einen Meilensteinplan. Diese Dokumente dienen als Grundlage für unser nächstes Treffen.
  4. Es ist wichtig, dass Ihre Arbeit die Mindestanforderungen an Komplexität und Zeitaufwand erfüllt, die 3 bzw. 5 CPs entsprechen (d.h. 75 bzw. 125 Stunden oder knapp 2 bzw. 4 Wochen Arbeitszeit). Zusätzlich fließen auch weitere Kriterien wie Korrektheit, die Tiefe der Analyse und die Komplexität der Lösung in die Bewertung ein.

Treffpunkt WebEx

Wenn nichts anderes vereinbart wurde, treffen wir uns zum genannten Zeitpunkt in meinem WebEx-Raum.

Abgabe Ihrer erstellten Arbeiten

Das Folgende gilt für Ihre Bachelorarbeit, Masterarbeit, das Praxisprojekt und die Praktikumsdokumentation. Sobald wir uns auf Ihre Betreuung geeinigt haben, erstelle ich ein Repository auf unserem Gitlab-Server für Sie. Dies wird Ihre Abgabeplattform sein, auf der alle Dokumente, Codeteile, Daten usw. – also alles, was notwendig ist, um Ihre Arbeit nachzuvollziehen – abzulegen sind.

Dokumente, Code und Daten nicht per E-Mail senden!

Sobald ich die Betreuung Ihrer Arbeit übernommen habe, werde ich Ihnen ein Repository dafür einrichten. Bitte senden Sie mir ab diesem Zeitpunkt keine E-Mails mit Anhängen, sondern nutzen Sie das Git zur Datenübertragung (und damit Archivierung). Diese hat den Vorteil, dass alle Artefakte, die während Ihrer Tätigkeit anfallen, einheitlich erfasst werden und sortiert nach Studierenden und Projekten abgelegt sind.

Kapitelstruktur Ihrer Abschlussarbeit

Sowohl Bachelor- als auch Masterarbeiten sollen wissenschaftliche Arbeiten sein. Um diesem Anspruch gerecht zu werden sind wissenschaftliche Methoden zur Problemlösung anzuwenden. Dieser Leitfaden soll Ihnen dabei helfen Ihre Arbeit zu strukturieren.

1. Einleitung

Beginnen Sie Ihre Arbeit mit einer klaren Einleitung, in der Sie das zu lösende Problem grundlegend vorstellen und einordnen. Erklären Sie, warum dieses Problem relevant ist und welche Zielsetzung Ihre Arbeit verfolgt.

2. Recherche / Verwandte Arbeiten

Im zweiten Teil erweitern Sie den Fokus und betrachten, wie andere Forscher bzw. Entwickler das Problem angegangen sind. Untersuchen Sie verschiedene Ansätze und Lösungen, die bereits existieren. Dies ermöglicht Ihnen, ein umfassendes Verständnis des Lösungsraums zu entwickeln und Ihre eigene Arbeit in den Kontext bestehender Forschung zu stellen.

3. Konkrete Realisierungen / Implementierung

Im dritten Teil verengen Sie den Fokus wieder und beschreiben Ihre (eine oder mehrere) konkrete Implementierungen aus dem zuvor erörterten Lösungsraum. Erklären Sie detailliert, wie Ihre gewählte Lösung umgesetzt wurde und begründen Sie Ihre Auswahl. Dieser Teil sollte klar und nachvollziehbar die praktischen Schritte Ihrer tatsächlichen Arbeit darstellen.

4. Evaluation

Der vierte Teil ist der zentrale Punkt Ihrer Arbeit. Hier evaluieren Sie Ihre implementierte Lösung durch ein wissenschaftliches Experiment. Definieren Sie zu Beginn klare Metriken und Kennzahlen zur Erfolgsmessung (diese sollten in Teil 1 und 2 motiviert worden sein). Stellen Sie dann dar, ob und wie gut Ihre Lösung das Problem löst und vergleichen Sie sie mit alternativen Ansätzen. Dieser Abschnitt sollte auf Messungen basieren, die sowohl quantitative (bspw. Performancemetriken) als auch qualitative (bspw. Nutzerevaluationen) Daten umfassen können.

5. Fazit

Schließen Sie Ihre Arbeit mit einem Fazit ab, das die gewonnenen Erkenntnisse zusammenfasst. Reflektieren Sie über die Ergebnisse Ihrer Evaluation und diskutieren Sie mögliche Implikationen und zukünftige Forschungsansätze.

Der Erfolg Ihrer Abschlussarbeit hängt maßgeblich davon ab, wie gründlich und methodisch Sie Ihre Evaluation im vierten Teil durchführen. Eine klare Planung und die fundierte Durchführung von Experimenten sind hier von zentraler Bedeutung.

Empfohlener Arbeitsablauf für KI-unterstütztes Programmieren

KI ist ein mächtiges Werkzeug, um Ihre Produktivität als Programmiererin oder Programmierer zu erhöhen. Es gibt jedoch einiges dabei zu beachten. Folgend finden Sie eine Leitlinie, wie Sie bei der Entwicklung vorgehen sollten. (Angepasst von Karpathy-Tweet)

  1. Gesamtkontext einspeisen
    • Sammle alle relevanten Dateien (Quellcode, Styles, Dokumentation …) und gib sie dem LLM als Kontext.
    • Bei kleinen Projekten kann das ein simples Skript sein (z. B. files-to-prompt . -e ts -e tsx -e css -e md --cxml --ignore node_modules -o prompt.xml).
    • Bei großen Projekten lieber iterativ vorgehen und nur die gerade benötigten Module liefern, um das Kontextfenster nicht zu sprengen.
  2. Ein einziges, klar umrissenes Teilziel formulieren
    • Beschreibe die nächste konkrete inkrementelle Änderung (z. B. „Füge Pagination zur Blog-Liste hinzu").
    • Frage nicht sofort nach Code, sondern bitte erst um 2 – 3 Architektur­optionen / Lösungswege inkl. Vor- und Nachteilen.
  3. Variante auswählen & Entwurfscode anfordern
    • Entscheide dich für den vielversprechendsten Ansatz.
    • Bitte das LLM um einen ersten Code-Entwurf nur für diesen Schritt (kein Mega-Patch).
  4. Prüfen, lernen, verfeinern
    • Öffne parallel die offiziellen API-Dokumentationen für unbekannte Aufrufe.
    • Stelle Rückfragen, lasse dir Details erklären, fordere kleine Änderungen oder ziehe bei Bedarf eine alternative Variante heran.
    • Behalte die Rolle des „kritischen Seniors": Das Modell ist ein genialer, aber unzuverlässiger Junior.
  5. Integrieren & aufräumen
    • Füge den Code manuell in dein Projekt ein, achte auf Stil- und Qualitätsrichtlinien.
    • Refaktoriere, füge Tests hinzu und stelle sicher, dass der Build sauber bleibt.
  6. Testen
    • Führe Unit-, Integrations- und ggf. End-to-End-Tests aus.
    • Lass das LLM Fehlermeldungen erklären oder Testfälle vorschlagen, aber behalte das letzte Wort.
  7. Commit & nächstes Inkrement planen
    • Git-Commit mit aussagekräftiger Message.
    • Frage das LLM, welche kleinen Features / Verbesserungen sich als Nächstes anbieten.
    • Gehe zurück zu Schritt 2 und wiederhole den Zyklus.
Leitgedanken: Arbeite langsam, defensiv und paranoid. Nutze jede Gelegenheit zum eigenen Lernen, gib dem Modell klare Leitplanken und delegiere niemals die Qualitätskontrolle.