Ausgefallene oder anspruchsvolle Themen beim Abschlussprojekt

Hin und wieder kommt bei Prüflingen die Frage auf, ob es sinnvoll sei, für das Abschlussprojekt ein anspruchsvolles bzw. außergewöhnliches Thema zu wählen:

Sollte ich für das Abschlussprojekt ein „Standardthema“ wählen oder besser ein ausgefallenes/anspruchsvolles Thema?

Die Antwort ist wie so oft: Es kommt drauf an. Und zwar auf eure Kenntnisse.

Standardthemen

Die erste Frage ist, was überhaupt ein „Standardthema“ ist. Für den Bereich Anwendungsentwicklung nenne ich einfach mal ein paar Beispiele:

  • Entwicklung einer Projektverwaltung mit Weboberfläche
  • Umsetzung eines Windows-Clients zur Zeiterfassung
  • Entwicklung eines Shop-Moduls für CMS123
  • Umsetzung einer datenbankgestützten Webanwendung für X

Gefühlt habe ich schon hunderte Projektverwaltungen mit Zeiterfassungskomponente als Abschlussprojekt gesehen. Allerdings scheint der Bedarf in den Unternehmen an Individuallösungen in diesem Bereich noch nicht gedeckt zu sein 😉

Ich würde ein Standardthema allgemein so definieren:

  • Einsatz einer am Markt verbreiteten Programmiersprache (z.B. PHP, Java, C#)
  • Entwicklung für eine gängige Plattform (z.B. Windows oder Web)
  • Verwendung eines etablierten Architekturkonzepts (z.B. MVC)
  • Berücksichtigung aller klassischen Komponenten einer Software (Datenhaltung, Logik, Präsentation)
  • Lösen eines allgemeinen fachlichen Problems (z.B. Projektverwaltung, Webshop)

Bei einem solchen Projekt kann der Prüfling sein gesamtes Wissen anwenden und die Prüfer haben viel zu bewerten. Ein Beispiel wäre sicherlich Gerdas Projektarbeit. Es handelt sich um eine Windows-Anwendung mit C#, die auf Basis einer relationalen Datenbank ein fachliches Problem unter Anwendung der MVC-Architektur löst.

Damit will ich allerdings keineswegs Gerdas Projekt abwerten. Wer die Projektdokumentation liest, wird sehen, dass sie sich durchweg auf einem sehr guten Niveau bewegt, auch wenn das Thema selbst vielleicht eher „Standard“ ist. Es kommt immer auf die konkrete Umsetzung an!

Ausgefallene Themen

Demgegenüber stehen ausgefallene(re) Themen, die z.B. seltene Programmiersprachen (gerne würde ich mal Haskell sehen 😉 ) verwenden, wenig häufige fachliche Themen behandeln oder auf Datenbank und Anzeige verzichten. Vielleicht wird auch ein sehr spezielles technisches Thema behandelt (z.B. die Implementierung eines eigenen Protokolls) oder eine komplexe Aufgabenstellung (vielleicht schwierige mathematische Verfahren) gelöst.

Man könnte z.B. sagen, dass die Projektarbeit von Markus ein eher außergewöhnliches Thema hatte, da weder Datenbank noch GUI entwickelt wurden, eine ungewöhnliche Programmiersprache (Xtend) verwendet wurde und eine komplexe Aufgabenstellung (Entwurf einer eigenen Programmiersprache) gelöst wurde.

Bewertungskriterien der Projektdokumentation

Schauen wir uns vor der Diskussion der Vor- und Nachteile ausgefallener Themen einmal die Bewertungskriterien der IHKen für die Projektarbeit (vgl. IHK Darmstadt) an:

  • Beschreibung der Ausgangssituation
  • Ressourcen- und Ablaufplanung
  • Durchführung und Auftragsbearbeitung
  • Darstellung der Projektergebnisse
  • Äußerliche Gestaltung
  • Kundendokumentation

Wie man deutlich sieht (auch bei Berücksichtigung der Details im oben verlinkten PDF), wird in keinem Punkt bewertet, wie technisch interessant oder anspruchsvoll das Projekt ist. Der technische Anspruch wird nämlich bereits beim Genehmigen des Projektantrags geprüft. Projekte, die eine gewisse technische Tiefe nicht aufweisen, werden direkt abgelehnt (siehe auch Inhalte des Projektantrags).

Das Projekt muss eine für das Berufsbild passende technische Tiefe aufweisen. Ob die technische Tiefe ausreichend ist, entscheidet der Prüfungsausschuss. Wenn diesen Damen und Herren das Thema „reicht“, kann das Projekt bedenkenlos umgesetzt werden. Man kann somit insb. auch mit einem Standardthema eine sehr gute Note erreichen.

Denn letztlich werden anhand der Projektdokumentation mehr die Projektmanagement- und Modellierungsfähigkeiten des Prüflings bewertet und weniger die Programmierkenntnisse (siehe auch Muss das Abschlussprojekt erfolgreich und lauffähig sein?), so schade das auch sein mag. Beide oben genannten Arbeiten haben übrigens 100% bekommen, was noch einmal unterstreicht, dass die Themenwahl nicht unbedingt entscheidend ist.

Themenfindung

Zur Auswahl eines Projektthemas für das Abschlussprojekt habe ich bereits eine ganze Podcast-Episode aufgenommen: (siehe auch Themenfindung für das Abschlussprojekt) Darin gebe ich Tipps, wie ihr auf Ideen für euer Abschlussprojekt kommt. Grundsätzlich solltet ihr mehrere potentielle Projektideen identifizieren, gegeneinander abwägen und letztlich das geeignetste auswählen.

Wenn ihr nun vor der Wahl steht, könnt ihr die folgenden Punkte berücksichtigen, um zwischen Standardthema und ausgefallenem Projekt zu entscheiden.

Nachteile von Standardthemen

Ich habe hier mal ein paar Nachteile von Standardthemen zusammengetragen, die man eventuell anführen könnte. Verallgemeinern kann man das aber eigentlich nicht, da jedes Projekt individuell zu sehen ist. Auch mit einem sehr allgemeinen Thema kann man ohne Probleme eine sehr gute Note erreichen, wenn man sich an den obigen Bewertungskriterien orientiert.

  • Weniger technische Komplexität
    Im Vergleich mit komplexeren Themenstellungen wird ein Standardprojekt vielleicht nicht so toll aussehen. Wenn andere Prüflinge in der gleichen Zeit eine schwierigere Aufgabe lösen, muss das ja irgendwie honoriert werden.
  • Bessere Vergleichbarkeit mit anderen Projekten
    Wenn eine Aufgabe bereits mehrfach gelöst wurde, ist eine bessere Vergleichbarkeit gegeben und die Prüfer können einen höheren Maßstab an das Projekt anlegen.
  • Keine technische Notwendigkeit
    Bei echten Standardthemen ist die Frage nach der Notwendigkeit der Lösung zu stellen. Warum wird überhaupt noch selbst entwickelt, anstatt eine Standardsoftware zu kaufen?
  • Langweilig für die Prüfer
    Langweilige Projektberichte liest auch ein Prüfer nicht gerne. (Allerdings darf das natürlich die Bewertung nicht beeinflussen.)
  • Fehlende Kenntnisse der Prüflings werden schneller sichtbar
    Wenn ich als Prüfer z.B. die verwendete Programmiersprache (sehr gut) kenne, achte ich darauf, ob moderne Entwicklungsmöglichkeiten (z.B. Lambdas oder Generics) und bekannte Muster verwendet wurden. Ist das nicht der Fall, habe ich gleich gute Fragen für das Fachgespräch 😉

Nachteile von ausgefallenen Themen

Demgegenüber stehen einige Nachteile ausgefallener Themen, die man sich vor Augen halten sollte, bevor man ein solches Thema wählt, nur um die Prüfer zu beeindrucken.

  • Die Kenntnisse der Prüfer sind weitreichend
    Geht erst einmal davon aus, dass die Prüfer deutlich mehr Fachwissen mitbringen als ihr. Natürlich kann es sein, dass ihr Kernentwickler von TYPO3 seid und die Prüfer noch nie PHP gesehen haben, aber in den meisten Fällen ist es anders herum. Deswegen sitzen die Prüfer ja auch im Ausschuss und ihr legt die Prüfung ab 😛
  • Detaillierte und tiefergehende Fragen im Fachgespräch
    Solltet ihr ein Thema wählen, das den Prüfern tatsächlich nichts sagt, ist die Frage, ob das zu eurem Vorteil ist. Denn im Zweifel fragen die Prüfer nun jedes Detail nach, um das Projekt zu verstehen. Und das setzt voraus, dass ihr euch wirklich gut mit der Materie auskennt. (Das sollte allerdings auch für ein Standardthema gelten.)
  • Nischendiskussion mit fachkundigen Prüfern
    Falls ihr aber Pech habt und ein Prüfer sich mit eurem Nischenthema gut auskennt, dürft ihr euch ebenfalls auf eine heiße Diskussion freuen, da nun der Prüfer vielleicht sein Lieblingsthema ansprechen kann und tief einsteigen möchte. Den Ausschuss mit einem – eurer Meinung nach – außergewöhnlichen Thema zu beeindrucken kann also schnell nach hinten losgehen, wenn ihr zufälligerweise einen Prüfer habt, der sich auskennt.
  • Fehlende Vorkenntnisse
    Wenn ihr ein Thema umsetzt, in das ihr euch beim Abschlussprojekt erst einarbeiten müsst, kann das nur nach hinten losgehen. Wenn ihr die nötigen Vorkenntnisse aufweist, ist das natürlich kein Problem. Hätte Markus z.B. für das Abschlussprojekt zum ersten Mal eine DSL entwickelt, hätte ich ganz klar vom Thema für sein Abschlussprojekt abgeraten. Das ist auch das Hauptproblem, warum Prüflinge mit außergewöhnlichen Themen scheitern: Ihnen fehlt das nötige Fachwissen, um die kritischen Fragen (s.o.) des Prüfungsausschusses beantworten zu können.
  • Aufwand wird unterschätzt
    Bei sehr anspruchsvollen Themen wird häufig der notwendige Aufwand für eine gute Umsetzung unterschätzt. Vergesst nicht, dass max. 70 Stunden zur Verfügung stehen. Wenn das Projekt offensichtlich nicht in dieser Zeit hätte umgesetzt werden können, muss das zum Nichtbestehen der Prüfung führen.
  • Fehlende Dokumentationsmöglichkeiten
    In klassischen Projekten kann der Prüfling aus dem Vollen schöpfen, wenn es um die Methodik geht: ERM, Tabellenmodell, GUI-Mockups, UML-Diagramme, Kundendoku usw. Bei ausgefallenen Projekten ist das vielleicht nicht der Fall. Wenn es z.B. keine Datenhaltung und keine GUI gibt, fallen viele der genannten Punkte weg. Dann muss man sich schon gut überlegen, welche Inhalte man überhaupt in die Doku packt.

Fazit

Ein außergewöhnliches Thema zu wählen, nur um den Prüfungsausschuss zu beeindrucken, ist keine gute Idee. Ihr wisst nicht, welche Vorkenntnisse die Prüfer mitbringen. Natürlich ist es für die Prüfer spannender, eine frische Dokumentation zu lesen und nicht die x-te Projektverwaltung zu bewerten. Aber ich rate dringend von Experimenten beim Abschlussprojekt ab. Es geht hier immerhin um eure Note und ihr müsst niemandem beweisen, wie toll ihr seid.

Wichtig ist: Ich rate ganz klar davon ab, für das Abschlussprojekt ein Thema aus einem Bereich zu wählen, in dem man vorher noch keine oder nur wenig Praxiserfahrung gesammelt hat. Das Abschlussprojekt muss sauber und fundiert umgesetzt werden und nicht oberflächlich und mit Halbwissen. Das bekommen die Prüfer spätestens im Fachgespräch raus.

Wenn ihr das Thema wirklich gut beherrscht, spricht nichts gegen ein anspruchsvolles oder außergewöhnliches Thema. Ansonsten gilt: Lieber auf Nummer sicher gehen und ein Thema wählen, bei dem ihr euch sicher fühlt.

Also etwas allgemeiner: Sucht euch ein Thema, das ihr mit euren Kenntnissen optimal umsetzen könnt. Wenn das dann auch noch ein „außergewöhnliches“ Projekt ist, umso besser.


Wie seht ihr das? Habt ihr ein eher außergewöhnliches Thema gewählt oder ein klassisches? Wie sind eure Erfahrungen bei der Prüfung? Habt ihr noch mehr Gründe für oder gegen die Wahl eines ausgefallenen Themas?

Polyglot Clean Code Developer
About the Author
Ausbildungsleiter für Fachinformatiker Anwendungsentwicklung und Systemintegration, IHK-Prüfer und Hochschuldozent für Programmierung und Software-Engineering.

6 comments on “Ausgefallene oder anspruchsvolle Themen beim Abschlussprojekt

  1. Ein Seriöser Nutzer sagt:

    Wenig Fakten, viele unnötige Smileys
    – ich erwarte in Zukunft mehr Professionalität und weniger Smileys

  2. Stefan Macke sagt:

    So viele Smileys sind doch gar nicht drin! 😛

    Was hättest du dir denn an anderen Inhalten gewünscht? Ich war der Meinung, dass ich die Vor- und Nachteile ausgefallener Themen ganz gut dargestellt habe. Ich bin aber für Anregungen immer offen.

    Und was genau heißt „mehr Professionalität“? Einfach nur die Smileys weglassen? Oder hast du vielleicht ein paar konkrete Verbesserungsvorschläge für den obigen Text?

  3. Joself Muecke sagt:

    Also bei unserer IHK, ich nenne jetzt mal nicht den Namen, ist es schon oft vorgekommen, dass Pruefer Standardthemen besser bewertet haben als ausgefallene Themen.
    Projektantraege wurden schon abgelehnt mit der Begruendung „zu wissenschaftlich“.
    In der Praesentation wurde angezweifelt, dass ein Azubi die Arbeit selbst gemacht hat.
    Reine Konsolenanwendungen, die sehr komplexe Probleme loesen, scheinen schlechter abzuschneiden.
    In meiner Abteilung gilt die Devise: nicht zu komplex, einfach, fuer die Pruefer verstaendlich, am besten mit GUI.
    Obwohl das eigentlich so garnicht unser Metier ist.
    Gern sehen die Pruefer auch ne „Rechnung“ bzw eine Uebersicht, was das Projekt dem Betrieb bringt, bzw. wo es Kosten einspart (oder ggf. Gewinne erwirtschaften koennte).
    Mein Arbeitsgeber ist ein Bildungstraeger bzw. in der Forschung aktiv, da ist diese Rechnung manchmal nicht so leicht aufzustellen.
    Alles in allem habe ich den Eindruck, dass die Pruefer bei uns relativ ignorant sind und auch keinen Willen haben sich auf was neues/anderes einzulassen als auf das was sie schon kennen.
    Ich geben hier die Erfahrungen meiner Kollegen und Lehrer wieder. Ich selbst stehe kurz vor dem Projektantrag.
    LG

  4. Stefan Macke sagt:

    Eine Wirtschaftlichkeitsbetrachtung gehört für mich auch unbedingt mit zum Abschlussprojekt. Die Prüflinge sollen ja auch ihre kaufmännischen Fähigkeiten unter Beweis stellen. Und bislang konnte ich noch für jedes Projekt irgendeinen Nutzen definieren. Wenn es kein monetärer ist, kann man zumindest eine Nutzwertanalyse erstellen.

  5. Joe sagt:

    Hallo Stefan,
    Danke für deine guten Tipps und den Podcast.
    Ich mache eine Umschulung und bin gerade im sechs monatigen Praktikum.
    Mein Praktikumsbetrieb verwendet eine eigens entwickelte Programmierumgebung und – Sprache, mit der ich gerne mein Abschlussprojekt machen würde, da ich nach der Umschulung sehr Wahrscheinlich damit arbeiten werde.
    Ich habe allerdings bedenken, da die Prüfer die Syntax nicht kennen können.
    Währe ein fiktives C#-Projekt besser als ein echtes Projekt in der unternehmenseingenen Programmiersprache?
    Danke im Voraus
    Liebe Grüße Joe

  6. Stefan Macke sagt:

    Hallo Joe, nein, ein fiktives Projekt ist niemals die Lösung. Das wird man im Fachgespräch schnell merken. Es gibt keine speziellen Anforderungen an die eingesetzte Programmiersprache, solange du dir nicht in Low-/No-Code-Plattformen was „zusammenklickst“, sondern selbst programmierst. Ob die Prüfer:innen sich mit „deiner“ Sprache auskennen, ist irrelevant. Es geht um die Durchführung eines sinnvollen Projekts.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax