Quellcode in der Bachelorarbeit & Masterarbeit:
So dokumentieren Sie Code, ohne den Lesefluss zu stören

Anhang oder Fließtext? Listing oder Pseudocode? LaTeX oder Word? Ein praxisorientierter Leitfaden für Informatik, Wirtschaftsinformatik und alle technischen Studiengänge – mit konkreten Beispielen, Entscheidungshilfe und Formatierungstipps. Zusammengestellt von Autoren mit Abschlüssen in Informatik, Softwaretechnik und Data Science.

Anhang vs. Text-Entscheidung
LaTeX & Word Tipps
Code-Beispiele
Fachspezifisch

Der häufigste Grund für Punktabzug in technischen Abschlussarbeiten: Die Arbeit liest sich wie eine Softwaredokumentation statt wie eine wissenschaftliche Argumentation – zu viel Code, zu wenig Analyse, Designentscheidungen nicht begründet. Als Ghostwriting-Agentur mit Informatik-Autorenstamm schreiben wir technische Abschlussarbeiten, in denen Code die Argumentation illustriert statt sie zu ersetzen: essenzielle Snippets im Fließtext mit Listing-Nummer und Erklärung, vollständige Klassen im Anhang, Algorithmen als Pseudocode, Architektur als UML. Unsere Akademiker kennen die Konventionen von Informatik, Wirtschaftsinformatik und Data Science – und den Unterschied zwischen einer guten Implementierung und einer guten wissenschaftlichen Arbeit über eine Implementierung.

📌 Die Grundregel in einem Satz

Im Fließtext gehören nur kurze, für das Verständnis essentielle Code-Snippets (maximal 10–15 Zeilen). Alles andere – vollständige Klassen, lange Funktionen, Konfigurationsdateien – gehört in den Anhang oder auf einen beigelegten Datenträger. Ihre Arbeit ist eine wissenschaftliche Argumentation, keine Softwaredokumentation.

1. Die Grundregel: Wissenschaftliche Arbeit ≠ Code-Dokumentation

Der häufigste Fehler in Bachelorarbeiten und Masterarbeiten mit Softwareentwicklung: Die Arbeit besteht zu 70 % aus Quellcode und zugehöriger Erklärung. Das führt fast immer zu Punktabzug – denn eine Abschlussarbeit soll zeigen, dass Sie wissenschaftlich argumentieren können, nicht dass Sie programmieren können.

🚨 Typischer Grund für Punktabzug

„Die Arbeit liest sich wie eine Softwaredokumentation. Der wissenschaftliche Beitrag – Analyse, Vergleich, Begründung der Designentscheidungen – kommt zu kurz." So oder ähnlich lautet die häufigste Kritik von Prüfern in Informatik und Wirtschaftsinformatik.

Wissenschaftliche Argumentation statt Softwaredokumentation – das ist der Perspektivwechsel, der technische Abschlussarbeiten von Punktabzug zu exzellenter Bewertung führt. Unsere Autoren strukturieren Ihre Arbeit so, dass Code die Argumentation illustriert: Designentscheidungen werden begründet, Alternativen verglichen, Performancemetriken diskutiert – und der Code dient als Beleg, nicht als Inhalt.

Code gehört durchaus in eine technische Abschlussarbeit – aber er dient der Illustration Ihrer Argumentation, nicht als Selbstzweck. Betrachten Sie Code-Snippets wie Abbildungen: Sie unterstützen den Text, ersetzen ihn aber nicht.

2. Anhang vs. Fließtext: Was gehört wohin?

✅ In den Fließtext

Kurze, essentielle Snippets

  • Selbst entwickelte Algorithmen (Kernlogik)
  • Code-Ausschnitte, die Sie im Text erklären
  • Maximal 10–15 Zeilen (halbe Seite)
  • Snippets, die eine Designentscheidung veranschaulichen
  • Vergleich zweier Implementierungen
  • Code, ohne den der Text nicht verständlich ist
📎 In den Anhang

Vollständiger & ergänzender Code

  • Vollständige Klassen und Module
  • Code, der länger als eine halbe Seite ist
  • Konfigurationsdateien, SQL-Scripts, Build-Files
  • Unit-Tests und Testfälle
  • Boilerplate-Code (Getter/Setter, Imports)
  • Code, auf den im Text nur verwiesen wird

Kernlogik in den Fließtext, vollständige Klassen in den Anhang, Gesamtcode auf den Datenträger – unsere Ghostwriter treffen diese Entscheidung für jedes Code-Fragment Ihrer Arbeit und stellen sicher, dass der Fließtext eine wissenschaftliche Argumentation bleibt, nicht zum Code-Dump wird. Jedes Listing wird mit Nummer, Caption und Erklärung eingebettet – nach dem Muster Einleitung → Listing → Erklärung der relevanten Zeilen.

💡 Die 20-Zeilen-Faustregel (LMU München)

Die Richtlinie des Lehrstuhls für Programmierung und Softwaretechnik (LMU) empfiehlt: Code-Beispiele, die ca. 20 Zeilen bzw. eine halbe Textseite überschreiten, sind vorzugsweise in den Anhang zu geben, falls sie nicht für das Verständnis des Textes unbedingt nötig sind. Andernfalls können sie wie eine Abbildung behandelt werden – mit Listing-Nummer und Caption.

Und der vollständige Quellcode?

Den gesamten Quellcode Ihres Projekts drucken Sie nicht aus. Bei 2.000+ Zeilen Code wäre das Papierverschwendung und kein Prüfer liest das. Stattdessen:

  • Digitaler Datenträger (USB-Stick, CD) – klassisch, von vielen Prüfungsordnungen gefordert
  • Git-Repository (GitHub, GitLab) – modern, mit Commit-Historie als Nachweis
  • ZIP-Datei als Anhang der digitalen Abgabe

⚠️ Firmencode: Copyright beachten!

Schreiben Sie Ihre Arbeit in einem Unternehmen? Dann klären Sie vor der Abgabe, ob und welchen Code Sie veröffentlichen dürfen. Manche Unternehmen untersagen die Weitergabe des vollständigen Quellcodes. In diesem Fall: relevante Snippets anonymisieren oder Pseudocode verwenden.

3. Entscheidungshilfe: Fließtext, Anhang oder gar nicht?

Wenn-Dann-Matrix: Wohin mit dem Code?

Snippet < 15 Zeilen und für Argumentation essentiell
Fließtext als Listing
15–50 Zeilen, wichtig für Verständnis
Ganzseitige Abbildung (Float) oder Anhang mit Verweis
> 50 Zeilen oder vollständige Klasse
Anhang (Listing A.1, A.2, …)
Gesamter Quellcode des Projekts
Datenträger / Git-Repository
Algorithmus, Sprache irrelevant
Pseudocode im Fließtext
Architektur / Klassenbeziehungen
UML-Diagramm statt Code

Snippet unter 15 Zeilen ins Listing, 15–50 Zeilen als Float oder Anhang, über 50 Zeilen nur noch Anhang, Algorithmen als Pseudocode, Architektur als UML – unsere Autoren wenden diese Entscheidungsmatrix auf jedes Code-Fragment Ihrer Arbeit an und sorgen dafür, dass der Fließtext eine lesbare wissenschaftliche Argumentation bleibt, in der Code als Illustration dient – nicht als Inhalt.

4. Code richtig formatieren: 7 Regeln

#RegelErklärung
1Monospace-SchriftImmer Courier New, Consolas oder Fira Code – niemals die gleiche Schrift wie der Fließtext
2Listing-Nummer & CaptionJedes Code-Snippet erhält eine Beschriftung: „Listing 1: Implementierung des Dijkstra-Algorithmus"
3ZeilennummernErmöglichen präzise Verweise im Text: „In Zeile 7 wird die Prioritätswarteschlange initialisiert"
4Syntax-HighlightingFarbige Hervorhebung verbessert Lesbarkeit – in LaTeX mit minted oder listings, in Word manuell
5ListingverzeichnisAnalog zum Abbildungsverzeichnis: eigenes „Verzeichnis der Listings" erstellen
6Erklärung im TextJedes Listing muss im Fließtext referenziert und erklärt werden – Code ohne Kontext ist wertlos
7Kein Copy-Paste-WallNie mehrere Seiten Code hintereinander ohne Text dazwischen – das ist kein Paper, sondern ein Dump

Monospace-Schrift, Listing-Nummer mit Caption, Zeilennummern, Syntax-Highlighting, Listingverzeichnis, Erklärung im Text, kein Copy-Paste-Wall – sieben Regeln, die zusammen den Unterschied zwischen einem professionellen Code-Listing und einem Quellcode-Dump ausmachen. Unsere Akademiker formatieren jeden Code-Block nach diesen Standards – in LaTeX mit minted oder listings, in Word mit manueller Formatierung – und referenzieren jedes Listing im Fließtext mit Zeilenverweis.

Beispiel: So sieht ein gutes Listing im Fließtext aus

Im Folgenden ein Beispiel, wie ein Code-Snippet in Ihre Argumentation eingebettet sein sollte:

„Die zentrale Logik des Empfehlungsalgorithmus basiert auf kollaborativem Filtern. Listing 3 zeigt die Berechnung der Kosinusähnlichkeit zwischen zwei Nutzervektoren:"

Listing 3: Kosinusähnlichkeit (Python) 1def cosine_similarity(vec_a, vec_b): 2 """Berechnet die Kosinusähnlichkeit zweier Vektoren.""" 3 dot_product = sum(a * b for a, b in zip(vec_a, vec_b)) 4 norm_a = sum(a ** 2 for a in vec_a) ** 0.5 5 norm_b = sum(b ** 2 for b in vec_b) ** 0.5 6 if norm_a == 0 or norm_b == 0: 7 return 0.0 8 return dot_product / (norm_a * norm_b)

„Die Funktion nimmt in Zeile 3 das Skalarprodukt und normalisiert es in Zeile 8. Der Edge Case leerer Vektoren wird in Zeile 6–7 abgefangen, um Division durch Null zu vermeiden."

💡 Das Muster merken

Einleitung → Listing → Erklärung: Sagen Sie dem Leser, was er gleich sieht, zeigen Sie den Code, erklären Sie die relevanten Zeilen. Nie Code ohne Kontext einfügen.

5. Pseudocode, UML & Alternativen zum Quellcode

Nicht immer ist echter Quellcode die beste Wahl. Oft kommunizieren abstraktere Darstellungen Ihre Idee besser:

DarstellungsformWann einsetzenVorteil
PseudocodeAlgorithmus ist wichtig, Programmiersprache nichtSprachunabhängig, fokussiert auf Logik, kürzer
UML-KlassendiagrammArchitektur / Zusammenspiel von Klassen zeigenÜberblick ohne Implementierungsdetails
UML-SequenzdiagrammAblauf von Interaktionen / API-CallsZeitlicher Ablauf wird sichtbar
Flussdiagramm / PAPProgrammablauf, EntscheidungslogikAuch für Nicht-Programmierer verständlich
Entity-Relationship-DiagrammDatenbankstrukturStandard in Wirtschaftsinformatik
Screenshot der GUIBenutzeroberfläche erklärenVisuell, selbsterklärend

Pseudocode für sprachunabhängige Algorithmen, UML-Klassendiagramme für Architektur, Sequenzdiagramme für API-Abläufe, ER-Diagramme für Datenbankstruktur – unsere Ghostwriter wählen für jede Stelle Ihrer Arbeit die Darstellungsform, die den höchsten Informationsgehalt bei geringstem Platzverbrauch bietet. Oft kommuniziert ein UML-Diagramm die Architektur besser als 200 Zeilen Code – und genau diese Entscheidung ist es, die Prüfer als wissenschaftliche Reife werten.

💡 Pseudocode in LaTeX

Verwenden Sie das algorithm2e- oder algorithmicx-Paket für professionellen Pseudocode. Diese Pakete erzeugen automatisch nummerierte „Algorithm"-Umgebungen mit eigenem Verzeichnis – genau wie Listings und Abbildungen.

6. LaTeX vs. Word: Code-Listings in der Praxis

KriteriumLaTeXWord
Paket / Methodelistings (Standard) oder minted (professionell, benötigt Pygments)Textfeld mit Courier New oder Code-Snippet als Bild einfügen
Syntax-HighlightingAutomatisch für 100+ SprachenManuell oder über Notepad++/VS Code kopieren
ZeilennummernEine Option: numbers=leftManuell einfügen
Listingverzeichnis\lstlistoflistings oder \listoflistingsManuell anlegen oder Abbildungsverzeichnis nutzen
Querverweise\ref{lst:mycode} → automatische NummerierungManuelle Nummerierung
EmpfehlungKlare Empfehlung für Code-lastige ArbeitenFunktioniert, erfordert aber mehr manuellen Aufwand

LaTeX-Schnellstart: listings vs. minted

listings-Paket

Vorteile: Keine Abhängigkeiten, funktioniert sofort, reicht für die meisten Arbeiten.

Einbindung: \usepackage{listings}

Nutzung: \begin{lstlisting}[language=Python, caption=...]

minted-Paket

Vorteile: Deutlich besseres Syntax-Highlighting (nutzt Pygments), professionellere Optik.

Einbindung: \usepackage{minted} + Python + Pygments installieren

Kompilieren: pdflatex -shell-escape

💡 Overleaf-Nutzer

Auf Overleaf funktioniert minted sofort ohne lokale Installation – Pygments ist vorinstalliert. Für Studierende, die ihre Bachelorarbeit in Overleaf schreiben, ist minted die bequemste Lösung für professionelle Code-Listings.

7. Fachspezifisch: Andere Fächer, andere Erwartungen

💻 Informatik

Code-Snippets werden erwartet und sind Teil der Eigenleistung. Fokus auf Algorithmen, Architekturentscheidungen, Performancevergleiche. UML-Diagramme als Standard.

Erwartung: Listings-Paket, eigenes Listingverzeichnis, Pseudocode für Algorithmen.

→ Ghostwriter Informatik

📊 Wirtschaftsinformatik

Weniger Code, mehr Architektur und Prozesse. ER-Diagramme, BPMN-Modelle und Screenshots der GUI oft wichtiger als Quellcode.

Erwartung: Code nur bei eigenem Prototyp. Business-Kontext im Vordergrund.

→ Ghostwriter Wirtschaftsinformatik

🔬 Data Science / Statistik

R- oder Python-Skripte zur Datenanalyse. Fokus auf Reproduzierbarkeit. Jupyter Notebooks als ergänzender Anhang.

Erwartung: Relevante Transformationen im Text, vollständige Skripte im Anhang/Repository.

→ Empirische Bachelorarbeit

⚙️ Ingenieurwissenschaften

MATLAB/Simulink, Python für Simulationen. Code ist Werkzeug, nicht Ergebnis. Pseudocode oft ausreichend.

Erwartung: Algorithmus erklären, Implementierung nachrangig. Ergebnisse zählen.

→ Ghostwriter finden

🌐 Medieninformatik / Webentwicklung

HTML/CSS/JS-Snippets, API-Dokumentation, Screenshots der UI. Responsive Design zeigen.

Erwartung: Ausgewogene Mischung aus Code, Screenshots und Architekturdiagrammen.

→ Ghostwriter Informatik

Informatik mit Algorithmen und UML, Wirtschaftsinformatik mit ER-Diagrammen und BPMN, Data Science mit Jupyter Notebooks und Reproduzierbarkeit, Ingenieurwissenschaften mit MATLAB und Pseudocode, Medieninformatik mit API-Dokumentation und Screenshots – unsere Autoren kennen die Code-Konventionen jedes dieser Fachbereiche und passen Umfang, Formatierung und Abstraktionsniveau der Code-Darstellung an die Erwartungen Ihres spezifischen Prüfers an.

8. Häufig gestellte Fragen

Wie viel Code gehört maximal in den Fließtext?

Als Faustregel: nicht mehr als 10–15 Zeilen pro Snippet und nicht mehr als 2–3 Listings pro Kapitel. Wenn Sie merken, dass Code-Listings mehr als ein Drittel einer Seite einnehmen, ist es Zeit, den Code in den Anhang zu verschieben und im Text nur noch die Kernlogik als Pseudocode zu zeigen.

Brauche ich ein eigenes Listingverzeichnis?

Ja – sobald Sie mehr als drei Code-Listings in Ihrer Arbeit verwenden, sollten Sie analog zum Abbildungs- und Tabellenverzeichnis ein Listingverzeichnis anlegen. In LaTeX geht das automatisch mit \lstlistoflistings (listings-Paket) oder \listoflistings (minted-Paket). In Word müssen Sie es manuell erstellen.

Darf ich fremden Code (z. B. von Stack Overflow) verwenden?

Ja, aber Sie müssen ihn als Quelle angeben – genau wie ein Textzitat. Geben Sie die URL, den Autor (wenn bekannt) und das Abrufdatum an. Bei größeren Code-Blöcken aus Open-Source-Projekten ist auch die Lizenz zu beachten (MIT, GPL, Apache). Ihr Eigenanteil sollte dennoch deutlich überwiegen.

Soll ich Code auf Deutsch oder Englisch kommentieren?

Ihr Code sollte in der Sprache Ihrer Arbeit kommentiert sein. Schreiben Sie die Arbeit auf Deutsch, kommentieren Sie auf Deutsch – auch wenn Variablennamen typischerweise auf Englisch sind. Bei englischsprachigen Arbeiten natürlich auf Englisch. Sprechen Sie das im Zweifel mit Ihrem Betreuer ab.

Wie zitiere ich meinen eigenen Code im Text?

Eigenen Code zitieren Sie nicht – er ist Teil Ihrer Eigenleistung. Sie referenzieren ihn mit Listing-Nummern: „Wie in Listing 3 (Z. 5–8) dargestellt, berechnet die Funktion…" Bei Code im Anhang: „Der vollständige Quellcode findet sich in Anhang A.2." Bei externem Repository: „Der Code ist verfügbar unter [URL] (Commit: abc123)."

Mein Professor will den kompletten Code gedruckt im Anhang – was tun?

Wenn die Prüfungsordnung es verlangt, müssen Sie es tun. Tipps: Verwenden Sie eine kleine Schriftgröße (8pt), zwei Spalten und Syntax-Highlighting. Achten Sie darauf, dass der Anhang separat paginiert ist und nicht in die Seitenzahlbegrenzung der eigentlichen Arbeit einfließt. Besser: Fragen Sie, ob ein digitaler Datenträger als Alternative akzeptiert wird.

Was ist der Unterschied zwischen Listing und Abbildung?

Listings und Abbildungen sind eigenständige Float-Typen. Code-Snippets werden als „Listing" (nicht „Abbildung") beschriftet und erhalten ein eigenes Verzeichnis. In LaTeX erzeugen listings und minted automatisch den Typ „Listing". In Word können Sie die Beschriftungsart manuell als „Listing" definieren (Verweise → Beschriftung einfügen → Neue Bezeichnung).

Professionelle Hilfe bei Ihrer technischen Abschlussarbeit?

Von der Entscheidung, welcher Code in den Fließtext gehört, über die korrekte LaTeX-Formatierung mit minted bis zur fachspezifischen Abstimmung auf die Erwartungen Ihres Prüfers – unsere Akademiker schreiben technische Abschlussarbeiten, die wissenschaftlich argumentieren statt Code dokumentieren. Seit 2012 haben wir über 12.000 Projekte abgeschlossen, darunter hunderte in Informatik, Wirtschaftsinformatik und Data Science. Unsere Ghostwriter aus Informatik und Wirtschaftsinformatik kennen die Konventionen – von sauberen Code-Listings über UML-Diagramme bis zur wissenschaftlichen Argumentation.

Jetzt unverbindlich anfragen
crossmenu