Player FM - Internet Radio Done Right
12 subscribers
Checked 4d ago
Vor acht Jahren hinzugefügt
Inhalt bereitgestellt von Stefan Macke. Alle Podcast-Inhalte, einschließlich Episoden, Grafiken und Podcast-Beschreibungen, werden direkt von Stefan Macke oder seinem Podcast-Plattformpartner hochgeladen und bereitgestellt. Wenn Sie glauben, dass jemand Ihr urheberrechtlich geschütztes Werk ohne Ihre Erlaubnis nutzt, können Sie dem hier beschriebenen Verfahren folgen https://de.player.fm/legal.
Player FM - Podcast-App
Gehen Sie mit der App Player FM offline!
Gehen Sie mit der App Player FM offline!
Podcasts, die es wert sind, gehört zu werden
GESPONSERT
C
Curated Questions: Conversations Celebrating the Power of Questions!


Episode Notes [00:00] The Importance of Questioning [01:21] Introduction to Curated Questions [02:20] Meet Kevin Kelly [03:56] Kevin Kelly's Mentor: Stewart Brand [05:33] The Role of Questions in Intellectual Traditions [06:47] Disequilibrium and Growth [10:21] Embodied Questions and Exploration [11:11] Balancing Exploration and Exploitation [11:50] The Inefficiency of Questioning [15:53] The Abundance Mindset [18:39] The Inevitable and Quality Questions [19:26] Hill Climbing vs. Hill Making [22:28] The Challenge of Innovation [24:13] The Beauty of Engineering and Innovation [24:34] Navigating the Frontier of New Technologies [25:33] The Role of AI in Question Formulation [26:43] Challenges in Advancing AI Capabilities [29:11] The Long Now Foundation and the 10,000 Year Clock [29:56] Transmitting Values Over Time [31:03] Ethics in AI and Self-Driving Cars [33:26] The Art of Questioning [34:04] Photography: Capturing vs. Creating [36:12] The Inefficiency of Exploration [38:36] Daily Practice and Long-Term Success [40:17] The Importance of Quantity for Quality [43:22] Final Thoughts and Encouragement on Questioning [46:24] Summary Takeaways Resources Mentioned Wired Magazine Whole Earth Review WELL Hackers Conference What Technology Wants by Kevin Kelly The Inevitable by Kevin Kelly Cool Tools Project Long Now Foundation Stewart Brand Socratic Method Koan René Descartes Conde Nast Vouge Olivetti Typewriter Trolley Problem Terry Gross Lex Friedman Tim Ferriss KK.org Kevin2Kelly on Instagram Recomendo Newsletter Excellent Advice for Living Beauty Pill Producer Ben Ford Questions Asked When did you first understand the power of questions? Can I do that? Can that be something that you can learn? How did questions function differently between Eastern versus Western intellectual traditions? What role do you think embodied questions those we explore through doing rather than thinking play in developing wisdom? What's on the other side of the hill? What happens if you go to the end? What's the origin of this? How should one think about the exploratory in one's life? Is there anything that you would add to your list of 15 statements that define what makes a quality question? Is there a qualitative difference between the questions humans are asking and the questions our AI systems are beginning to formulate? What do you think would help them get there? Any idea on a forcing function on how we get them [LLMs] to ask the better questions so that they might improve in that direction? What were some novel questions that broke your brain at the time in thinking about this 10,000-year clock or beyond? What's it good for? What would you use it for? What else could you do over the long term for 10,000 years? How do you transmit values over time? How do you evolve values that need to change, and how do you make a difference? How do even know what you don't want to change? What do you want to continue? What's the most essential aspects of our civilization that we don't want to go away? What are the rules? What is the system? How do you pass things along in time and not change the ones you don't wanna change, and make sure you change the ones that are more adaptable so they can adapt? What do you think about questioning itself as an art form? How has being a photographer influenced the way you question reality, visually compared to verbally? Are you a photographer that takes photos or makes photos? What will happen? What will happen next? What are your right now questions that you are wrestling with or working with in your life? Can someone else do what I'm trying to do here? Am I more me in doing my art or more me in doing the writing? Do you have any other thoughts or encouragement about questions that we haven't explored? What makes a good question? How do you ask a good question? What questions do you dwell on to be in purposeful imbalance? What is your practice in embracing the inefficient nature of questions to achieve breakthroughs? What are the new hills you can build and frontiers you can explore? How can you use your curiosity and humanity to pursue questions that trend toward the fringes?…
IT-Berufe-Podcast
Alle als (un)gespielt markieren ...
Manage series 1711672
Inhalt bereitgestellt von Stefan Macke. Alle Podcast-Inhalte, einschließlich Episoden, Grafiken und Podcast-Beschreibungen, werden direkt von Stefan Macke oder seinem Podcast-Plattformpartner hochgeladen und bereitgestellt. Wenn Sie glauben, dass jemand Ihr urheberrechtlich geschütztes Werk ohne Ihre Erlaubnis nutzt, können Sie dem hier beschriebenen Verfahren folgen https://de.player.fm/legal.
Der Podcast rund um die Ausbildung in den IT-Berufen (insb. Fachinformatiker für Anwendungsentwicklung) von Stefan Macke.
…
continue reading
209 Episoden
Alle als (un)gespielt markieren ...
Manage series 1711672
Inhalt bereitgestellt von Stefan Macke. Alle Podcast-Inhalte, einschließlich Episoden, Grafiken und Podcast-Beschreibungen, werden direkt von Stefan Macke oder seinem Podcast-Plattformpartner hochgeladen und bereitgestellt. Wenn Sie glauben, dass jemand Ihr urheberrechtlich geschütztes Werk ohne Ihre Erlaubnis nutzt, können Sie dem hier beschriebenen Verfahren folgen https://de.player.fm/legal.
Der Podcast rund um die Ausbildung in den IT-Berufen (insb. Fachinformatiker für Anwendungsentwicklung) von Stefan Macke.
…
continue reading
209 Episoden
Alle Folgen
×I
IT-Berufe-Podcast

1 Pseudocode in schriftlichen IHK-Prüfungen der IT-Berufe – IT-Berufe-Podcast #195 1:21:48
1:21:48
Später Spielen
Später Spielen
Listen
Gefällt mir
Geliked1:21:48
Um die Relevanz von Pseudocode-Aufgaben in den IHK-Prüfungen für Anwendungsentwickler:innen, aber auch für Systemintegrator:innen, und wie man sie am besten löst geht es in der einhundertfünfundneunzigsten Episode des IT-Berufe-Podcasts. Inhalt In dieser Episode des IT-Berufe-Podcasts thematisiere ich Pseudocode-Aufgaben, die häufig Teil der schriftlichen IHK-Prüfungen sind, und das nicht nur für Anwendungsentwicklerinnen, sondern auch für andere Fachinformatiker und insb. Systemintegratoren. Ich gehe darauf ein, warum diese Aufgaben so zentral für die IT-Ausbildung sind und welche Relevanz sie für die Prüfenden haben. Die grundlegende Idee hinter den Pseudocode-Aufgaben ist es, das algorithmische Denken der Prüflinge zu fördern und zu prüfen. Mein Ziel ist es, dir zu helfen, dich optimal auf solche Prüfungen vorzubereiten. Ich beginne damit, die Bedeutung von Pseudocode in den IHK-Prüfungen zu erläutern. Pseudocode stellt sicher, dass ein allgemeines Verständnis der Programmierung abgefragt wird, unabhängig von spezifischen Programmiersprachen. Dies ist wichtig, da die Prüfer in der Lage sein müssen, die Lösungen zu verstehen, egal welche Programmiersprache verwendet wird. Ich erkläre die grundlegenden Bausteine des Pseudocodes sowie die Anforderungen an die Korrektur durch die Prüfer. Im weiteren Verlauf bespreche ich Strategien, um Pseudocode effektiv zu schreiben. Ich gebe dir Empfehlungen, wie du deine Lösungen strukturieren und formulieren kannst, um die maximale Punktzahl zu erzielen. Dabei sind klare Einrückungen und der Verzicht auf komplizierte Syntax entscheidend. Es wird auch geraten, grundlegende Algorithmen zu verwenden und keine spezifischen Features aus einer bestimmten Programmiersprache zu nutzen. Neben der technischen Ausführung gehe ich auch auf die psychologischen Aspekte der Prüfungsvorbereitung ein. Ich ermutige dich, alte Prüfungen zu bearbeiten und regelmäßig zu üben, um ein Gefühl für die Aufgaben zu bekommen. Feedback von Ausbildern oder KI kann dir helfen, deine Fähigkeiten weiterzuentwickeln und häufige Fehler zu vermeiden. Ich teile häufige Problemstellungen, die in der Vergangenheit in Prüfungen aufgetreten sind, und zeige, wie du diese vermeiden kannst. Abschließend lege ich großen Wert auf die Notwendigkeit, ein starkes algorithmisches Verständnis zu entwickeln. Der Fokus sollte nicht darauf liegen, die perfekte Programmiersprache zu beherrschen, sondern darum, Probleme effizient zu lösen und zu verstehen, welche Algorithmen und Logiken hinter den Aufgaben stehen. Ich hoffe, dass diese Episode dich inspiriert und dir hilft, dich optimal auf deine bevorstehenden Prüfungen vorzubereiten. Wie schreibt man Pseudocode? In letzter Zeit habe ich von vielen Prüflingen die Frage gestellt bekommen, ob ich nicht eine Einführung in das Schreiben von Pseudocode geben könnte. Ich frage dann immer direkt zurück, was denn so schwierig an Pseudocode sei. Ich würde für die Programmieraufgaben in der Abschlussprüfung immer Pseudocode verwenden und niemals eine grafische Darstellung wie das Aktivitätsdiagramm. Die Diagramme sind meist deutlich aufwändiger zu erstellen und bei Fehlern sehr schwer zu korrigieren. Mit Pseudocode ist das deutlich einfacher. Dennoch scheinen viele Azubis Probleme mit Pseudocode zu haben. Standards Erst durch eine Mail eines Zuhörers habe ich erfahren, dass es sogar Standards für Pseudocode gibt (z.B. Jana, Pascal-Style oder nach Leierson, siehe Pseudocode ). Ich habe weder in meiner eigenen Prüfung noch in der Prüfungsvorbereitung mit meinen Azubis das Thema Pseudocode jemals intensiv behandelt. Ich empfehle immer, anstatt sich eine eigene Syntax für den Pseudocode auszudenken, einfach normalen Code in der Prüfung zu schreiben. Da es für Pseudocode keine allgemeinverbindlichen Vorgaben in der Prüfung gibt, kannst du auch einfach „echten“ Quellcode in irgendeiner Programmiersprache verwenden. Wichtig ist, dass die Prüfenden verstehen, was du erreichen möchtest. Im Zweifel verstehen Prüfende das mit einer echten Programmiersprache sogar besser, als wenn du erzwungenen Pseudocode, den du dir selbst ausgedacht hast, verwendest. Meine Empfehlung Um dir die Arbeit etwas zu erleichtern, lass einfach alle geschweiften Klammern weg. Auch sonstige Syntaxelemente wie Semikolons am Ende der Zeile sind überflüssig . Achte darauf, dass dein Programm gut zu verstehen ist und überfrachte den wenigen Platz, den du auf dem Lösungsbogen zur Verfügung hast, nicht mit Textelementen, die zur eigentlichen Logik nichts beitragen. Fokussiere dich stattdessen darauf, die gestellte Aufgabe zu lösen, also den Algorithmus abzubilden . Niemand interessiert sich in der Prüfung dafür, ob du die Syntax einer Programmiersprache beherrschst. Das ist nur Handwerkszeug. Deine eigentliche Fähigkeit, die du unter Beweis stellen musst, ist das Lösen von Problemen. Ich bringe meinen Auszubildenden die Programmierung meist erstmal bei, indem sie Aufgaben auf Papier lösen sollen. Wenn du z.B. nicht einmal mit einem Bleistift auf einem Blatt Papier die Quadratwurzel einer Zahl berechnen kannst, wie willst du es dann einem Computer beibringen? Du musst das Problem verstanden haben, und wissen, wie man es lösen kann. Wenn du diesen Algorithmus in deinem Kopf hast, kannst du ihn auch in ein Programm überführen. Die konkrete Syntax, mit der du dies tust, ist dann irrelevant. Und darum geht es in der Prüfung. Meine ganz einfache Empfehlung ist also: Benutze Java, und lass alle unnötigen Elemente weg. Also Klammern, Semikolons und so weiter. Aber achte auf eine korrekte Einrückung! Beispiel Aus diesem echten Java-Programm: public int berechneAlter(Date datum, Date geburtsdatum) { int alter = datum.getYear() - geburtsdatum.getYear(); if (datum.getMonth() < geburtsdatum.getMonth()) { alter--; } else { if (datum.getMonth() == geburtsdatum.getMonth()) { if (datum.getDay() < geburtsdatum.getDay()) { alter--; } } } return alter; } Wird dieser „Pseudocode“: int berechneAlter d, g alter = d.year - g.year if d.month < g.month alter-- else if d.month == g.month if d.day < g.day alter-- return alter Das könnte schon fast als Ruby-Code durchgehen! Fazit Da Pseudocode nicht standardisiert ist, kannst du in der Abschlussprüfung irgendeine Programmiersprache verwenden, die dir gut bekannt ist und in der du dich wohlfühlst . Konzentriere dich auf das Lösen des Problems und die nachvollziehbare Beschreibung deiner Problemlösung. Dann werden die Prüfenden dir alle notwendigen Punkte geben. Pseudocode vs. grafische Darstellung In so ziemlich allen schriftlichen IHK-Prüfungen der letzten Jahre (vgl. Themen der schriftlichen Prüfungen ) gab es mindestens eine „Programmieraufgabe“. Es sollte also ein Algorithmus für ein beliebiges Problem auf dem Papier „programmiert“ werden. Da Programmieren das Tagesgeschäft aller Anwendungsentwickler:innen ist, finde ich diese Aufgaben auch absolut sinnvoll. Allerdings kommen in der Praxis häufig einige Fragen auf, wenn es um die Beantwortung dieser Aufgaben geht. Spoiler: Beantworte Programmieraufgaben immer mit Pseudocode und nie mit einem Aktivitätsdiagramm (oder früher Struktogramm oder Programmablaufplan). Programmieraufgaben Die Programmieraufgaben in der Abschlussprüfung haben meist einen komplexeren Algorithmus zum Inhalt (z.B. eine Prüfzifferberechnung, den Druck einer Kundenliste usw.). Daher sind die Aufgaben zeitintensiv und bringen viele Punkte (meist 25 für einen einzigen Algorithmus). Hin und wieder gibt es auch „kleinere“ Algorithmen (z.B. das rekursive Berechnen einer Quersumme) für weniger Punkte. Auf das konkrete Thema der Aufgaben kann man sich natürlich nicht im Vorfeld der Prüfung vorbereiten, da die Inhalte (logischerweise) geheim sind. Aber gemein ist den Aufgaben immer, dass man sie entweder mittels Pseudocode oder einem Aktivitätsdiagramm lösen kann. Niemals werden die Aufgaben eine bestimmte Programmiersprache fordern, da es nicht die eine Sprache gibt, die alle Azubis beherrschen. Selbst Java ist nicht überall Standard, da z.B. auch C# oder Pascal an Berufschulen gelehrt wird. Es muss also prinzipiell jedem Prüfling möglich sein, die Aufgabe zu lösen. Daher werden standardisierte Darstellungsformen wie das Aktivitätsdiagramm vorgegeben. Früher waren es mal Struktogramm (bzw. Nassi-Shneiderman-Diagramm) und Programmablaufplan , für die es sogar DIN-Normen gibt. Welche Variante man wählt, hat keine Auswirkung auf die Bewertung durch die Prüfenden. Mit jeder Darstellungsform kann man die komplette Punktzahl holen. Warum ist es nun aber sinnvoll, nicht die Diagrammform zu verwenden, sondern Pseudocode zu schreiben? Meiner Meinung nach sprechen drei Punkte gegen die Diagramme. Diagramme sind sehr zeitaufwändig. Die Diagramme vernünftig zu zeichnen kostet Zeit. Anstatt ein simples if zu schreiben, muss zusätzlich ein schönes Kästchen drumherum gemalt und auf genügend Platz für die Folgeelemente geachtet werden. Da die Programmieraufgaben ohnehin schon sehr zeitaufwändig sind und die allermeisten Prüflinge eher zu wenig als zu viel Zeit in der Prüfung haben, rate ich daher von aufwändigen Zeichnungen ab. Diagramme sind nur umständlich nachträglich zu korrigieren. Viele Prüflinge erstellen unter Zeitdruck nicht beim ersten Versuch die korrekte Lösung. Das ist auch kein Problem, wenn man am Ende der Prüfungszeit noch einmal korrigierend durch die Aufgaben geht. Allerdings lassen sich Diagramme im Nachhinein nur schwierig korrigieren. Einen vergessenen switch -Branch nachträglich ins Diagramm zu fummeln, kann nur nach hinten losgehen. Das Diagramm sieht danach hässlich aus, ist vielleicht nicht mehr verständlich und die Syntax ist ggfs. auch nicht mehr korrekt. Und mit Sternchen die fehlenden Teile im Diagramm zu kennzeichnen und auf der nächsten Seite nachzureichen trägt auch nicht zur Lesbarkeit bei. Das verwirrt die Prüflinge dann meist noch zusätzlich und sie verstehen ihre eigene Zeichnung nicht mehr. Es gibt ggfs. Punktabzug für eine falsche Syntax. Die grafischen Darstellungsformen sind standardisiert. Das heißt, es gibt eine verbindliche Syntax für sie. Und als Prüfende:r muss ich davon ausgehen, dass diese Darstellung bekannt ist. Wenn sie dann nicht standardkonform umgesetzt wird, weil z.B. ein Kreis anstelle eines Rechtecks verwendet wird, muss das eigentlich zu Punktabzug führen. Die Prüfenden drücken sicherlich auch mal ein Auge zu, aber diese potentielle Fehlerquelle kann man sich sparen, indem man keine Diagramme nutzt. Pseudocode Sich gegen die Diagramme zu entscheiden, heißt, sich für Pseudocode zu entscheiden. Die Nachteile der Diagramme sind seine Vorteile: Pseudocode ist schnell zu schreiben. Pseudocode kann schnell und einigermaßen lesbar korrigiert werden. Pseudocode ist nicht standardisiert und so ziemlich jede denkbare Syntax ist erlaubt. Der Vorteil für die Prüflinge beim Einsatz von Pseudocode ist ganz klar, dass man ihn fast „runterprogrammieren“ kann, wie man es aus der täglichen Arbeit gewohnt ist. Normalerweise wird z.B. kein Azubi Probleme mit der Definition einer for -Schleife haben. Und wenn man die Sytax aus der eigenen Programmiersprache kennt, kann man diese 1-zu-1 verwenden. Da Pseudocode wie gesagt nicht standardisiert ist, ist jede „echte“ Programmiersprache auch als Pseudocode verwendbar. Einfach die Klammern weglassen, um noch mehr Zeit zu sparen, und fertig ist der Pseudocode! Allerdings wäre ich vorsichtig mit zu speziellen Sprachkonstrukten. Die Block-Syntax von Ruby oder das Pattern Matching aus F# würde ich nicht als allgemein bekannt bei den Prüfern voraussetzen. Also reduziere deinen Pseudocode auf die guten alten Bestandteile: Sequenz, Verzweigung, Wiederholung. Alle Aufgaben sind mit diesen Mitteln lösbar. Fazit Ich empfehle meinen Azubis grundsätzlich, Programmieraufgaben mit Pseudocode zu beantworten und keine komplizierten, zeitaufwändigen und schwer zu korrigierenden Diagramme zu zeichnen. Links Permalink zu dieser Podcast-Episode Die perfekte IHK-Prüfung (mein Online-Kurs zur Vorbereitung auf die schriftliche IHK-Prüfung) Project Euler (kleine kniffelige Programmierprobleme zum Üben) Transkription der gesamten Episode [0:04] Herzlich Willkommen zum IT-Berufe-Podcast, dem Podcast rund um die Ausbildung in den IT-Berufen. In dieser Episode geht es um Pseudocode-Aufgaben in der schriftlichen IHK-Prüfung. Viel Spaß! [0:20] Hallo und herzlich Willkommen zur 195. Episode des IT-Berufe-Podcasts. Mein Name ist Stefan Macke und heute geht es um eines meiner Lieblingsthemen in den schriftlichen Prüfungen. Und Lieblings in Anführungszeichen, bitte verstehen. Und zwar geht es um Pseudocode-Aufgaben in der IHK-Prüfung. Und wenn du dich jetzt fragst, ist das nicht nur für Anwendungsentwicklerinnen relevant? Nein, das ist für viele IT-Berufe interessant und vor allem für die FISIs, die Systemintegratorinnen. Die haben das nämlich auch relativ häufig in ihrer Abschlussprüfung Teil 2 tatsächlich. Hätte ich gar nicht so erwartet. Aber da gibt es relativ oft Aufgaben, so Skripte mal dies und das. Bau mal einen kleinen Mini-Algorithmus 4XY hier, keine Ahnung, in der Automatisierung, Netzwerk oder so etwas. Und im Prinzip sind das die gleichen Aufgaben wie für Anbietungsentwickler, plus vielleicht vom Umfang her nicht ganz so groß. Aber die geben auch doch durchaus ganz schön vier Punkte und kommen relativ häufig vor in der API 2. Hatte ich so auch gar nicht auf dem Zettel, dass das so ist. Und für die Anwendungsentwicklerin ist das natürlich Brot und Butter in der API 2. Pseudocode kommt ja wirklich in, also meines Wissens nach bislang in jeder API 2 dran, entweder im ersten oder zweiten Teil, also dem Entwickeln von Algorithmen oder dem Plan eines Softwareprodukts eher im zweiten Teil Entwickeln von Algorithmen. [1:34] Passt ja auch irgendwie zum Titel der Prüfung, logisch. Aber auch in der AP1 sogar kann Programmierzeug drankommen. Mit dem neuen Prüfungskatalog 2025 wurde das ja nochmal so ein bisschen verschärft, dass man, also was heißt verschärft nicht, es wurde genauer, detaillierter spezifiziert, sagen wir mal so, was da abgefragt werden soll und was nicht. Haben so ein paar relativ abstrakte Sachen rausgenommen. Ich glaube, Vererbung oder sowas bei der Web-Dorientierung, das ist nicht mehr so interessant. Aber dafür die Grundlagen der Programmierung, die sind für alle IT-Berufe in der AP1 dran und werden da abgefragt. Und dann ist halt die Art der Aufgaben, wie man das abfragt, eigentlich immer eine Pseudocode-Aufgabe. [2:14] Meistens kann man dann, wenn man so einen Algorithmus formuliert, auch noch eine Alternative wählen. Früher waren das immer Struktogramme zum Beispiel. Die sind aber jetzt rausgeflogen. Das würde man jetzt also durch ein Aktivitäts-Zirgramm der UML machen. Komme ich aber später nochmal darauf, warum ich das vielleicht nicht empfehlen würde. Und deswegen soll es heute um den Pseudocode gehen. Ist für alle IT-Berufe relevant, für FISIs und FIAEs, sogar für die AP2 höchstgradig relevant. Und ja, ich werde so oft nach dem Thema gefragt, wie man sich da vorbereiten kann, weil viele damit echt ein Problem haben mit diesen Aufgaben. Und deswegen dachte ich mir, ich nehme jetzt endlich mal was dazu auf. So meine allgemeine Empfehlung, wie gehe ich mit Pseudocode-Aufgaben um und wie hole ich da das Maximum vielleicht an Punkten raus, wie bereite ich mich da vor und so weiter. Darum soll es heute gehen. Und ich habe das mal so ein bisschen strukturiert. Wir fangen mal ganz vorne an. Warum gibt es überhaupt diese Pseudocode-Aufgaben? Warum werden die in der ERK-Prüfung abgefragt? Schauen wir uns mal ganz kurz ein Beispiel an, an dem wir uns dann so ein bisschen vielleicht später meine Erklärung immer wieder mal anschauen. Und dann geht es darum, was man überhaupt können muss für diese Pseudocode-Aufgaben. Also welche Teile von Programmierung sollte man sich da vielleicht anschauen. Und dann gucken wir uns mal an, was der Prüfungskatalog genau dazu sagt, wie das eigentlich in der Prüfung abgefragt werden soll. Und dann schauen wir uns an, was Pseudocode eigentlich ist, wie man den schreibt. Gibt es dafür Standards? Wie muss der aussehen? Und dann kommen wir auch schon zu meiner Empfehlung, wie ich das in der Prüfung schreiben würde. Und ja, dann nochmal, wie gerade schon angeteasert, Alternativen. Warum nicht einfach ein Aktivitäts-Dirgramm zeichnen? [3:41] Und letzter Part der Episode ist dann, wie lerne ich das? Wie kann ich mich darauf vorbereiten, auf diese Aufgaben? Weil halt viele Prüflinge in der Prüfung echt Probleme mit diesen Aufgaben haben. Und deswegen machen wir ganz am Ende nochmal so häufige Fehler, die sich da vielleicht einschleichen meiner Erfahrung nach aus den Prüfungskorrekturen. Ja, das wäre so der Ablauf für heute. Und weil ich mir vorstellen könnte, dass das ein bisschen länger dauert, würde ich sagen, gehen wir direkt mitten rein und starten mal mit dem ersten Part. [4:06] Warum werden überhaupt solche Pseudocode-Aufgaben in der IHK-Prüfung abgefragt? Das ist doch völlig weltfremd. Pseudocode, da muss ich eine neue Syntax lehren. Das ist ja wie eine neue Programmiersprache. Und warum können die nicht einfach, und hier bitte Programmiersprache X einsetzen, Python, Java, PHP, C, C Sharp, was auch immer, in der Prüfung abfragen. Warum muss ich Pseudocode lernen für die Prüfung? So im Kern ist das so ein bisschen immer die Frage, die mir gestellt wird. Oder wie kriege ich es eigentlich hin, dass ich diese Aufgaben richtig verstehe? Weil zugegebenerweise sind diese Aufgaben relativ lang. Zumindest in AP2 für Amnesty Mekla können die auch einfach mal eine DIN A4 Seite lang sein. Nur der Beschreibungstext. Und dann kommt die eigentliche Aufgabe. Also da kann man sich ja schon darüber streiten, warum jetzt diese Fragen in der Prüfung drankommen. Ich sage mal meine Meinung zu Beginn, ich finde diese Aufgaben eigentlich sehr sinnvoll, insbesondere in der AP2-Anwendungsentwicklung, weil das ja nun mal der Kern unseres Berufes ist und etwas ausgeweitet auch auf alle anderen IT-Berufe. Ich behaupte, ein ITler, eine ITlerin, die überhaupt gar nicht programmieren kann, wird es einfach in ihrem Job schwer haben. Und das ist ganz egal, ob ich eigentlich Systemintegration mache. [5:15] Das ist mal nur ein blödes Beispiel. Aber will ich wirklich als Systemintegrator 23 neue User, die am 1.8. Anfangen, per Hand in mein Active Directory eintragen? Oder skripte ich das vielleicht nicht einfach schnell mit einer PowerShell in 10 Zeilen und dann habe ich das Ding erledigt in 5 Minuten, statt eine Stunde lang was abzutippen? Ja, also Programmierung ist halt Dreh- und Angelpunkt vieler Automatisierungsprobleme, die wir in der IT nun mal sehr häufig haben. Also das ist aus meiner Sicht Kern unseres Berufs und gerade als Anwendungsentwicklerin natürlich nochmal mehr, weil das ist ja genau das, was wir lernen sollen. Ich vergleiche das mal mit so einem Tischler. Der wird wahrscheinlich heutzutage in der Praxis seinen Tisch auch nicht mehr from scratch selber zimmern und da fünf Stunden investieren oder noch länger, sondern der wird wahrscheinlich irgendeiner Fräse, Säge, was auch immer, einem Programmierauftrag erteilen und sagt, hier schneiden wir den Tisch und fertig. Aber trotzdem ist es wahrscheinlich so, und ich habe keine Ahnung von der Tischler-Ausbildung, um ehrlich zu sein, aber ich könnte mir vorstellen, dass da irgendwo im Prüfungsanalog steht, ein Tischler muss ein Stück Holz so abfeilen, ist wahrscheinlich das falsche Wort, schleifen können, dass man sich da keine Splitter in den Finger jagt wahrscheinlich. Also so die Basics seines Berufs, irgendwie Holz schleifen, muss man wahrscheinlich trotzdem drauf haben, auch wenn man im Endeffekt dann der Maschine am Ende nur noch sagt, wie das genau gesägt werden soll. Und so sehe ich es in der Realität auch. Jetzt kann man sagen, so programmieren müssen wir eh nicht mehr, weil es gibt ja KI, die macht das für uns. Ja, in großen Teilen sicherlich auch richtig. Für so kleine Sachen kann ich mir das heute schon perfekt generieren lassen. Da muss ich gar nicht mehr viel programmieren. [6:40] Aber was ist denn, wenn irgendwas nicht mehr läuft? Dann wird es halt ein Problem. Was ist, wenn die Säge nicht richtig gesägt hat? Dann muss ich halt trotzdem noch mal nacharbeiten. Und wenn die KI nicht richtig programmiert hat, dann muss ich halt trotzdem das mal korrigieren, dafür muss ich es verstehen. Und dann ist jetzt die Frage, wie prüfen wir. [6:54] Diese Prüflinge in den IT-Berufen algorithmisches Verständnis haben. Denn genau darum geht es. Und das sage ich meinen Azubis auch. Das sind jetzt alles Anwendungsentwicklerinnen. Okay, aber das würde ich anderen ITlern und ITlerinnen genauso erzählen. Und zwar, unser Job ist eigentlich nicht Programmieren, sondern Probleme zu lösen. Und gerade im Zeitalter von KI kann ich vielen, ich war gerade gestern noch auf einer Jobmesse und zwei Menschen, die ich angesprochen habe, ob sie nicht eine Ausbildung machen wollen, haben mir schon gesagt, ja, habe ich mal überlegt, aber die KI wird das ja alles überflüssig machen. Also ich mache jetzt was anderes. Fand ich interessant, so als junger Mensch, dass man schon diese Einstellung hat. Und deswegen würde ich sagen, wenn man sich nur darauf versteift, eine Programmiersprache perfekt zu beherrschen, dann macht man sich vielleicht wirklich irgendwann überflüssig, weil die KI das ganz sicher besser kann. Die kann viel schneller, besser, umfangreicher diesen Code generieren. Also so ein bisschen abwertend kann man ja solche Menschen als Code-Affe bezeichnen. Hier sind die Anforderungen, programmieren wir das. Und so etwas kann die KI heute schon und es wird auch immer besser. Also da müssen wir uns nichts vormachen. Aber was eigentlich unser Job ist als Anwendungsentwicklerin und auch in den anderen IT-Berufen ist, Probleme zu lösen. [8:01] Kein Fisi wird dafür bezahlt, dass der Benutzer im Active Directory anlegt, sondern das Ding dahinter, was das Unternehmen eigentlich haben will, ist, dass ich ein neuer Mitarbeiter anmelden kann und mit den Systemen arbeiten kann und Geld verdienen kann. Zum Beispiel, weil er in SAP irgendwelche Rechnungen eintragen muss oder so. [8:16] Das ist immer der Hintergrund. Das dürfen wir nicht vergessen. Die IT-Berufe sind sehr häufig nicht oder eigentlich fast nie Selbstzweck, sondern wir sind immer Dienstleister und Dienstleisterinnen für die Bereiche, die das eigentliche Geld verdienen. Außer wenn ich jetzt eine Softwareentwicklungsbude bin, klar, dann verdiene ich Geld mit der Softwareentwicklung, logisch. Ja, aber in vielen anderen Bereichen sind wir Dienstleistende für die anderen Mitarbeiter, die eigentlich das Geld verdienen. So, sage ich mal ganz blöd. Und deswegen sage ich unseren Anbietungsentwicklerinnen immer, dein Job ist eigentlich Probleme zu lösen. Und wenn du dieses Problem mit einer Programmiersprache lösen kannst, super. Aber wenn nicht, dann such halt was anderes, um das Problem zu lösen. Und das ist etwas, was uns hoffentlich noch ein paar Jahre von der KI unterscheiden wird, dass die halt außer Programmieren nicht so viel kann und vielleicht nicht die Anforderungen genau analysieren kann, auseinandernehmen kann, nachfragen kann, war das wirklich so gemeint, was ist mit dieser Unsicherheit, hast du an diesen Edge-Case gedacht, etc. Und das ist auch heute schon und wird hoffentlich und vermutlich auch in Zukunft die Aufgabe von Anwendungsentwicklerinnen bleiben. Und ganz am Ende wird dann das Zeug in eine Programmier-Sprache gegossen. Und ob ich das dann selbst programmiere oder der KI sage, dass sie das für mich programmiert, ist dann am Ende fast egal. Das ist ein Werkzeug und am Ende muss der Computer das Ding ausführen, was ich mir da ausgedacht habe. Und genau darum geht es. Was habe ich mir da eigentlich ausgedacht? Wie will ich dieses Problem lösen, was mir da gestellt wird? Das wollen wir abprüfen in der Prüfung. Und das hat nichts mit einer konkreten Programmiersprache zu tun, die ich, na da gibt es ja heute schon 200 verschiedene von, ja. [9:45] Sondern ich will wissen, ob dieses grundlegende Verständnis, wie man bei der Problemlösung vorgeht, ob das funktioniert, ob das der Prüfling oder die Zuprüfende kann. Darum geht es bei diesen Aufgaben. Und jetzt müssen wir da irgendeine Lösung finden, weil wir nicht nur in Deutschland, aber auf der Welt halt wirklich die 200 oder mehr Programmiersprachen haben. Da können wir jetzt nicht sagen, diese eine Sprache muss jeder ITler, jede ITlerin lernen. Das ist nicht möglich und das ist auch heute nicht so und auch nicht umsetzbar. Deswegen brauchen wir eine allgemeine Form, um Algorithmen zu formulieren. Und das ist der Pseudocode. Es geht in der Prüfung nicht darum, dass man eine Programmiersprache super beherrscht, sondern dass man irgendwie verständlich machen kann, wie man ein Problem lösen möchte. Und dafür nimmt man Pseudocode. Wir gehen ja später nochmal auf einen, wie der genau aussieht. Das spoiler ich jetzt mal noch nicht. Aber das ist der Kern des Ganzen. Und das muss man sich immer vor Augen führen. Kannst du ein Problem lösen? Das sollst du zeigen. Und deswegen fokussiere dich nicht so auf diesen Pseudocode, der da immer so ein paar Problemchen mit sich bringt, sondern lies die Aufgabe mal so und versuch zu verstehen, was ist eigentlich das Problem, was hier gelöst werden soll und wie würde ich da rangehen. Und wie wir das dann konkret machen, da gehen wir dann gleich nochmal drauf ein. [10:54] Und ganz wichtig dabei ist, und deswegen Pseudocode und nicht eine konkrete Programmiersprache, diese Prüfung wird ja, in Klammern, noch von Menschen korrigiert. Wie zum Beispiel mir. Ja, ich bin jetzt seit fast 20 Jahren IHK-Prüfer und habe schon einige Prüfungen mit korrigiert. Und da ist das ganz wichtig, wenn du diese Prüfung schreibst, dass der Mensch, der das korrigiert, das verstehen muss, was du da schreibst. Und wenn du jetzt eine super komische Programmiersprache benutzt, die kaum jemand kennt und vor allem der Prüfende nicht, dann wird das ganz schwierig, deine Antwort zu bewerten. Ja, weil die Person kann ja gar nicht sagen, ob das jetzt richtig ist. Und jetzt sagen natürlich alle, ja, aber Java oder Python, das muss ja jeder kennen. Ja, das sagst du vielleicht, weil du in deiner Bubble, in deiner Welt das so siehst. Aber es gibt so viele andere Unternehmen auch in Deutschland, die ITler und ITlerinnen ausbilden und die teilweise Programmiersprachen einsetzen, davon hast du noch nie was gehört, ja. Es gibt genug Firmen, die zum Beispiel ABAP in SAP einsetzen, ja, hat überhaupt nichts, ganz wenig syntaktisch mit Java, C Sharp oder PHP zu tun, sieht ganz anders aus, ganz andere Struktur. [11:56] Ganz andere Möglichkeiten der Sprache, aber es gibt auch viele noch kleinere Nischensprachen, es gibt immer noch genug kleine Unternehmen, die zum Beispiel Delphi einsetzen als Programmiersprache, ja, und, ähm, also wirklich, deswegen so ein bisschen auch über den Tellerrand mal gucken und nicht sowas sagen, wie, hey, ich finde das aber doof, dass das nicht in Java, Python, PHP gemacht wird. Stell dir einfach vor, du bist tatsächlich nicht der einzige Azubi in Deutschland, der die IT-Ausbildung macht. Wenn du ein bisschen mein Newsletter verfolgst, ich habe es vor kurzem rumgeschickt, es gibt, glaube ich, Stand 2025, 17.000 neue IT-Azubis, die diesen Ausbildungsvertrag unterschrieben haben. Und 17.000 Menschen in Deutschland machen diese Ausbildung und die lernen nicht alle die gleiche Programmiersprache. Ja, das ist einfach so. Wir haben noch gar nicht von den Berufsschulen geredet, die auch alle machen können, was sie wollen und das auch tun. Das heißt, es gibt nicht die eine Sprache, die alle können oder können müssen und deswegen brauchen wir was anderes und das ist der Pseudocode. Und wenn ich jetzt aus Prüfersicht da drauf schaue und du haust mir mit irgendeiner komischen Programmiersprache, die ich noch nie gesehen habe, eine Lösung dahin, dann kann ich das wahrscheinlich in großen Teilen verstehen, weil das ist ja alles kein Hexenwerk normalerweise. Aber wenn da irgendwelche Spezialitäten drin sind, die ich aus keiner anderen Sprache kennen kann oder mir herleiten kann, dann ist es halt schwierig, da einen Punkt für zu geben. Ja, und ich kann nicht bei der Korrektur der IHK-Prüfung nochmal nebenbei bei Google oder Chat-GPT recherchieren, was, wie, welche Programmiersprache macht. Das kann nicht meine Aufgabe sein. Es dauert eh schon sehr, sehr lange, diese Prüfung zu korrigieren. [13:18] Also, ganz wichtig für dich, du musst deinen Algorithmus so formulieren, dass der Mensch, der das Ding am Ende liest, das verstehen, nachvollziehen und bewerten kann, ob das richtig ist. Darum geht’s. So, jetzt machen wir zum Einstieg gleich mal ein Beispiel, auf das ich mich dann vielleicht später immer mal wieder so ein bisschen fokussieren kann oder referenzieren kann. Und zwar, das war so, glaube ich, noch nicht in der RK-Prüfung, das habe ich mir selber ausgedacht. Das ist aber auch keine Wahnsinnsaufgabe, aber ähnliche Sachen kamen schon mal dran. Und zwar, berechne doch mal zu einer Zahl die Quersumme. So, das ist jetzt erstmal die Aufgabenstellung. Und jetzt ist das erste Problem, ich muss erstmal wissen, was die Quersumme überhaupt ist. Wenn ich nicht weiß, was die Quersumme ist, kann ich auch keinen Algorithmus erzeugen, um die Quersumme zu berechnen. Das heißt, ganz kurze Erklärung und das wäre dann ja in IHK-Prüfungen natürlich erklärt. Also da wird jetzt nicht irgendwas komisches vorausgesetzt. [14:07] Quersumme könnte man jetzt behaupten, dass man das vielleicht sogar aus der Schule kennen sollte. Aber auch hier, ganz viele Prüflinge haben ja ganz unterschiedliche Schulbildung, die sie mitbringen vor der Prüfung. Also normalerweise wird hier alles erklärt, was man wissen muss, um ein Problem zu lösen. Und in diesem Fall, die Quersumme, was ist das? Wenn ich mir eine Zahl angucke, die aus mehreren Ziffern besteht, zum Beispiel die 123, besteht aus den Ziffern 1, 2 und 3. Und wenn ich jetzt diese Ziffern nehme und aufaddiere, dann ist das die Quersumme der Zahl. Das heißt, bei 123 habe ich die Ziffern 1, 2, 3. Und wenn ich 1 plus 2 plus 3 rechne, dann habe ich als Ergebnis 6. Und das ist die Quersumme der Zahl 123. [14:46] Und jetzt ist die Frage, wie berechne ich das, indem ich einen Computer das machen lasse. Weil das wollen wir ja gerade haben. Wir wollen ja einen Algorithmus formulieren. Ein Algorithmus, eine allgemeingültige Problemlösungsvorschrift. Erinnern wir uns daran, was ein Algorithmus noch einmal ist. Und das muss ich so aufschreiben, dass dann der Computer das ausführen könnte. Und ich sage dann immer gern zum Einstieg, versuch das doch mal so zu formulieren, als würde nicht der Computer da vor dir sitzen, sondern als würde da ein Grundschüler, eine Grundschülerin sitzen, die jetzt diese Aufgabe für dich lösen soll. Gehen wir mal davon aus, dass die Grundschülerin die Basics der Arithmetik beherrscht, also plus minus mal geteilt und vielleicht noch Modulo und so ein paar Sachen wie zum Beispiel Arrays scanned und so, wo wir später nochmal drauf eingehen. Und dann musst du dieser Grundschülerin sagen, mach jetzt mal dies, das, jenes, um dann am Ende zur Quersumme zu kommen. [15:35] Und wenn ich jetzt mal, ich habe ja gerade relativ schnell einfach formuliert, wie das berechnet wird. Mein anderes Lieblingsbeispiel, was ich auch jahrelang immer in Einstellungstests benutzt habe, ist, wie berechnet man das Alter eines Menschen? Und zwar nicht taggenau, sondern einfach, hey, wie alt bist du? 43. Okay, ja. Wie kommt man auf dieses Alter unter Angabe des Geburtsdatums und des Datums, zu dem ich das Alter berechnen möchte? Also zwei Datumsangaben rein, ein Integer raus quasi. Und das kann im Alltag gefühlt jeder im Kopf mal eben so machen. Aber sobald es dann losgeht, dass man das strukturiert aufschreiben muss, wie man wirklich für zwei beliebige Datumsangaben das berechnet, fangen echt viele Menschen an zu schwimmen. Und deswegen finde ich das so wichtig auch, dass man diesen Skill, sage ich mal, in der IHK-Prüfung prüft, weil das ist halt das Zentrale für unseren Beruf, dass wir so etwas können. [16:23] Aber zurück zur Quersumme. Wie würde ich das jetzt machen? Ich würde mir das überlegen. Ich habe eine Zahl. Und um das kurz abzugrenzen, Zahl ist 123. Die Ziffer ist die einzelne Ziffer dieser Zahl. Also eine Zahl besteht aus mehreren Ziffern. Da geht es schon los mit der richtigen Nomenklatur. Wie nenne ich was? Und jetzt wäre die erste Aufgabe, und das ist gleich so ein bisschen vorgegriffen, wie man Probleme allgemein löst, nämlich nach dem Divide and Conquer Prinzip, also zerlege und herrsche. Divide et impera, hieß das glaube ich mal auf Latein, der geschätzte Herr Julius Caesar hat das damals gemacht. [16:58] Zerschlage deine Feinde in möglichst kleine Gruppen und da haust du dann mit dem Hammer drauf und dann am Ende hast du alles erobert quasi. Und genau so geht es hier auch. Wenn ich nicht weiß, wie ich eine Quersumme berechne, dann fange ich erstmal an und zerlege mir das Problem in kleinere Schritte und die dann wieder in kleinere Schritte und wieder in kleinere, bis ich irgendwas habe, was ich einfach programmieren bzw. Durchführen kann. Und die Quasi, wenn wir berechnen, da geht es erstmal los. Ich brauche die einzelnen Ziffern. Das heißt, vielleicht wäre der erste Schritt, wie kann ich überhaupt eine Zahl in ihre Ziffern zerlegen? Und allein dafür gibt es schon drei verschiedene Varianten, die mir jetzt so einfallen würden, was man machen könnte. Nur als Beispiel. Ich könnte, und das habe ich ähnlich schon mal in Prüfungen gesehen, die Zahl, ich gehe jetzt mal davon aus, dass es ein Integer ist, in einen String umwandeln und dann zum Beispiel mit einer Schleife durch die einzelnen Buchstaben, in Anführungszeichen, die dann die Ziffern sind, durchiterieren. Ja, mit einer Schleife zum Beispiel. Könnte ich tun. Dann habe ich nur das Problem, dass ich erst in String umwandeln muss. Ich habe dann aber keine Ziffern, sondern einen Charakter. Den muss ich wieder in eine Zahl zurückwandeln. Das ist alles ein bisschen Frickelei, aber es wäre denkbar. Ja, es gibt auch eine andere Lösung und die würde ich in diesem Fall bevorzugen und zwar eine mathematische Lösung. Das heißt, wie kann ich der Reihe nach bei einer Zahl durch ihre Ziffern laufen? [18:08] Da geht es schon los. Durch Laufen wird wohl irgendwas in Richtung Schleife sein. Ich könnte es aber auch anders lösen. Ich muss ja nur was wiederholen. Ich könnte auch rekursiv oder so arbeiten. Das ist erstmal ganz egal. Sondern ich muss erstmal eine Idee haben, wie ich das Problem überhaupt löse. Und wenn ich jetzt sage, ich zerlege die Zahl in ihre Ziffern und dann gehe ich jede einzelne Ziffer durch und… Ach ja, die muss ich ja aufsummieren. Ah, da brauche ich also noch irgendwas, wodrin ich mir diese Summe merke. Ah, nochmal zurück zum Reißbrett. Nummer 1. [18:35] Definiere eine Variable, die Summe heißt und initialisiere sie mit 0. Das ist unser Startwert. Dann gehe jede einzelne Ziffer der Zahl durch. Und addiere die Ziffer auf die Summe. Und als letztes, gib die Summe zurück. So, das wäre zum Beispiel ein Algorithmus für die Quersumme. Wenn man jetzt aber genau reinguckt, reicht das für die Prüfung noch nicht aus, weil dieses Lauf mal durch die Ziffern der Zahl, ja, wie geht das denn jetzt? Also da gibt es, wie gesagt, drei verschiedene Möglichkeiten, die mir so ad hoc einfallen, die mit dem String habe ich gerade erklärt. [19:06] Da geht es jetzt noch mal tiefer rein. Dieser Teilschritt ist noch nicht genau genug, weil du kannst zum Beispiel vielen Programmiersprachen nicht einfach sagen, hier hast du ein Integer, lauf mal die Ziffern durch. Bei einem String die Stellen durchlaufen, okay. Bei Integer die Ziffern durchlaufen, gibt es in keiner mir bekannten Sprache eingebaut. Vielleicht mit Libraries oder so. [19:27] Und dieses Problem musst du jetzt selber lösen. Wie würdest du das machen, wenn man dir eine Zahl gibt? Wie läufst du durch die Ziffern? Und wie gesagt, du könntest das mit dem String machen oder du könntest es mathematisch machen. Und ich hatte schon gesagt, die basic arithmetischen Operationen, die sollten dir was sagen. Und die letzte, die ich aufgeführt habe, war der Modulo. Also Division mit Rest, die dir den Rest liefert. Und das kann man zum Beispiel hervorragend machen bei Integerzahlen. Da könntest du nämlich einfach Modulo 10 rechnen. Und Überraschung, dann kriegst du im Prinzip die letzte Ziffer der Zahl. Du gehst also nicht von vorne nach hinten durch die Zahl, sondern von rechts nach links. Wenn du eine Zahl Modulo 10 rechnest, teilst du die Zahl durch 10 und dir wird der Rest gegeben. Und wie du vielleicht noch aus der Schule kennst, jedes Vielfache von 10 ist natürlich durch 10 teilbar. Das heißt, ab der zweiten Stelle der Zahl ist alles, was links noch kommt, definitiv durch 10 teilbar. Aber nur das, was ganz, ganz hinten steht, die letzte Stelle, die ist nicht durch 10 teilbar, weil die ist ja kleiner als 10. Da passt die 10 nicht rein. Das heißt, wenn du bei irgendeiner ganzen Zahl Modulo 10 rechnest, bekommst du immer die letzte Stelle der Zahl. Weil alles vor der letzten Stelle ist durch 10 teilbar und fällt damit weg. [20:39] Beispiel 123 Modulo 10, das Ergebnis ist 3. [20:43] 127 Modulo 10, das Ergebnis ist 7. Das heißt, du könntest jetzt schon mal mit einer mathematischen Operation, die relativ basic ist, Modulo 10. Das ist eine Anweisung, die kannst du in jeder Programmiersprache so schreiben. Das ist eine Zeile Code, die kannst du auch nicht weiter runterbrechen und musst du auch nicht. Und das wäre jetzt der Ansatz zum Beispiel, um an die letzte Stelle zu kommen. Und jetzt musst du nur das nächste Problem lösen, wenn ich die letzte Stelle ermitteln kann. Wie kann ich denn jetzt von der ganzen Zahl diese letzte Ziffer so abschneiden, dass nur noch die übrigen Ziffern überbleiben? Weil wenn ich das jetzt auch noch kann, dann kann ich den Algorithmus ja quasi wieder von vorne starten. Nimm die letzte Ziffer, schneid die letzte Ziffer ab. Nimm die letzte Ziffer, schneid die letzte Ziffer ab. Und so lange, bis es keine Ziffer mehr gibt. [21:25] Und das Schöne dabei ist, wenn du ein bisschen Mathematik beherrschst, kannst du die entsprechende Gegenoperation zum Modul nehmen, nämlich die Division, div heißt das in vielen Sprachen oder ganz normal einfach der geteilt durch Strich, das ist nämlich in so ziemlich jeder Sprache, die ich kenne, die ganzzahlige Division. Das heißt, wenn du ein Integer geteilt durch 10 rechnest, dann liefert der nicht als Ergebnis eine Kommazahl, sondern er schneidet den Kommateil ab, weil deine Zahl und 10 beides Integers sind. Und Integer geteilt durch Integer wird nicht magischerweise ein Double oder ein Float, sondern bleibt ein Int. Das heißt, es wird einfach die Nachkommastelle abgeschnitten, sozusagen. Und wenn du eine Zahl durch 10 teilst, ist das ja nichts anderes als das Komma, um eine Stelle zu verschieben. Wenn du 123 durch 10 teilst, kommt raus, 12,3. Das heißt, das Komma ist einfach 1 nach links gewandert. Und wenn du bei dieser Division aber jetzt die Nachkommastelle einfach abschneidest, bleibt als Ergebnis 12 aus 123 geteilt durch 10 wird 12. Und Überraschung, das sind genau die ersten beiden Ziffern der Zahl, 1 und 2. Das heißt, mit Modulo 10 kommst du an die 3 und mit geteilt durch 10 kommst du an die 1 und 2, also die verbleibende Zahl. Und damit kannst du wieder von vorne starten. Und dieser kleine Trick Führt jetzt dazu, dass unser Algorithmus so aussehen könnte. Definiere eine Variable mit dem Namen Summe und initialisiere sie mit 0. [22:48] Dann, solange die Zahl nicht 0 ist, mach folgendes. [22:55] Zu addierender Wert gleich Zahl modulo 10. [23:00] Addiere den zu addierenden Wert auf die Summe. Setze die Zahl auf Zahl geteilt durch 10. [23:07] Und das war der Algorithmus. Ganz am Ende müsstest du noch sowas sagen wie gib Summe zurück oder so, damit die auch zurückkommen. Aber das war’s. Was mir gerade einfällt, noch besser wäre, wenn du die Variable Quersumme genannt hättest und nicht Summe. Dann wäre das sogar noch ein bisschen sprechender. Das heißt, die Quersumme wird durch eine Schleife, die so lange läuft, wie die Zahl noch stellen hat, ganz blöd gesagt, solange sie nicht Null ist, immer wieder addiert durch den Wert der rechtesten Ziffer. Und das alles nur mit Mathematik, ohne String-Gefrickel oder so etwas. [23:39] Hätte man das so lösen müssen? Nein, komme ich später auch nochmal drauf. Es geht nicht darum, die perfekte, super optimierte, tolle mathematische Lösung zu finden, sondern einfach erstmal nur das Problem zu lösen. Das heißt, wenn du es lieber mit einem String machst und sowas machst wie, ich versuche es nochmal, definiere eine Variable mit dem Namen Quersumme und initial siehe sie mit 0, dann wandle die Zahl in einen String um und für jeden Buchstaben in der Zahl, wandle den Buchstaben in eine Zahl um, addiere diese Zahl auf die Quersumme und geh zum nächsten Buchstaben. Das wäre es. Könnte man auch machen. Da muss man jetzt nur ein bisschen aufpassen, wie gesagt, mit der Typumwandlung dazwischen und so weiter. Aber Lösung wäre das trotzdem, die funktioniert. Das heißt, für diese Aufgaben als allererstes mal den Tipp, du musst überhaupt erstmal eine Lösung finden. Das wäre erstmal das Allerwichtigste. Wenn du im Kopf dieses Problem nicht lösen kannst, wenn du nicht erklären kannst, wie man die Quersumme bildet, Dann brauchst du es auch nicht zu programmieren, weil du weißt gar nicht, wie du es programmieren musst, wenn du keine Lösung hast. Das heißt, als allererstes suchst du dir eine funktionsfähige Lösung, egal ob die String-Geschichte oder die Modulo-Geschichte, völlig egal. Hauptsache, du hast erstmal eine Lösung im Kopf und dann überlegst du dir, wie du die als Algorithmus formulierst und das mit Pseudocode. Und das gucken wir uns im Nachgang jetzt weiter an, wie man das jetzt genau macht. [24:56] So, kurzer Mini-Exkurs, was man so an Kenntnissen für die IHK-Persuchung mitbringen sollte, für die Aufgaben, die dort gestellt werden, üblicherweise auch schon für die AP1. Im Prinzip ist der Kern hier algorithmisch. Das heißt, es geht uns nicht um funktionale Programmierung, Objektorientierung, irgendwelche tiefer gehenden Konzepte, sondern um die Basisbestandteile von Algorithmen. Und wenn du das noch nie gehört hast, es gibt drei Bestandteile, aus denen man Algorithmen zusammensetzt und wenn man die kann, dann kann man jedes Problem, was sich berechnen lässt, auch lösen. Man braucht keine fancy, coolen zusätzlichen Sprachfeatures, es geht mit diesen drei Basic-Sachen. Und die definieren so ganz nebenbei auch, ob man überhaupt von einer Poamiersprache redet, weil eine Poamiersprache braucht alle diese drei Möglichkeiten, sonst darf sie sich nicht als solche bezeichnen. Und diese drei Algorithmen-Bausteine sind Sequenz, Verzweigung und Wiederholung. Sequenz bedeutet der Reihe nach etwas ausführen, also mach 1, mach 2, mach 3. Der Reihe nach von oben nach unten abarbeiten. [25:54] Verzweigung ist eine Fallunterscheidung, das heißt entweder mache ich das eine oder ich mache das andere auf Basis einer Entscheidung. Zum Beispiel, wenn das Alter größer ist als 18, dann mache irgendwas, ansonsten mache was anderes. Fallunterscheidung. Und dann habe ich noch eine Wiederholung, also mache Dinge mehrfach hintereinander. Immer wieder gleichartig und dann aber 20 mal das Gleiche. Das wäre eine Wiederholung. So, und wenn ihr gut aufgepasst hast, habe ich jetzt hier nicht gesagt, wir haben Sequenz, If und Vorschleife, sondern ich nenne bewusst die allgemeinen Varianten Verzweigung und Wiederholung. Denn nicht in jeder Programmiersprache gibt es If und Vor, sondern das kann man auch anders lösen. Also gerade bei der Wiederholung, da gibt es nicht nur Schleifen, wie man Dinge wiederholen kann, sondern es gibt zum Beispiel auch noch die Rekursion. Auch mit Rekursion kann man Dinge wiederholen. Es gibt sogar noch ein drittes, nämlich mit Go-Tos. Die allerersten Programmiersprachen, die hatten weder Schleifen noch Rekursion. Da wurde mit Go-To gearbeitet. Also geh drei Zeilen wieder hoch, geh drei Zeilen wieder hoch. Das ist auch eine Wiederholung. Das heißt, ich bin hier ein Freund davon, die allgemeinen Sachen zu formulieren, denn manchmal kommen in der IHK-Prüfung auch rekursive Algorithmen dran. Und da ist der rekursive Aufruf das Mittel der Wahl, um Dinge zu wiederholen. Von daher, diese allgemeinen Sachen braucht eine Programmiersprache und die musst du kennen für Pseudocoach. [27:11] Mehr ist es normalerweise nicht. Das heißt, ich habe üblicherweise irgendwie so ein paar Fallunterscheidungen, da ist da mal eine Wiederholung drin. Also meistens ist es eine Schleife und meistens ist es natürlich ein If, aber auch bei der Verzweigung. Es kann ja auch mehr Ververzweigungen geben. Zum Beispiel mit einem Switch oder so etwas. [27:24] Und wenn ich jetzt noch einen Schritt weiter gehe, Verzweigung, könnte ich sogar eine Objektorientierung Polymorph lösen. Also es gibt auch hier, Verzweigung, Wiederholung kann ich auf verschiedene Arten umsetzen. Das ist nicht immer nur ein If-Statement und immer nur die Vorschleife. Es gibt auch andere Möglichkeiten. [27:39] Also das solltest du kennen, Sequenz, Verzweigung, Wiederholung. Und dann, wie gerade schon erwähnt, so die basic mathematischen Sachen. Die plus, minus, mal geteilt und Modulo. Modulo würde ich dringend empfehlen, da solltest du dir unbedingt angucken, weil das in ganz vielen Aufgaben benötigt wird. oder du zumindest dir das Leben damit einfacher machen kannst. Und dann ist es in der IHK-Prüfung häufig so, dass irgendwas mit, Arrays dran kommt. Wahlweise auch Listen, also irgendwelche, ja, ich nenne sie mal allgemein Collections. [28:04] Ja, was wäre denn ein schöner deutscher Begriff? Eine Liste hört sich dann wieder so an wie so ein List-Interface zum Beispiel in Java. Das meine ich aber gar nicht. Sondern einfach eine Liste mit mehreren Elementen. Und ob es jetzt ein Array ist oder eine List oder eine Array-List oder eine Linked-List oder so, ist erstmal egal. Sondern du sollst in vielen Aufgaben zeigen, dass du mit mehreren Elementen umgehen kannst. Und Spoiler, das machst du fast immer mit einer Schleife. [28:27] Aber da kommen wir dann vielleicht später nochmal drauf. Also Arrays, wichtiges Thema. Und dann kann es sein, das ist dann aber eher für Anbietungsentwickler dann so, dass da ab und zu auch mal so ein bisschen Objektorientierung, ich sage immer gerne, so drauf, gestreuselt wird, dass dann zum Beispiel aus dem Array Sachen rausgefriemelt werden und dann sollen die als Objekt einer Klasse irgendwie zusammengebaut und instanziiert werden oder so. So ein kleiner, mini-objektorientierter Anteil. Oder manchmal sogar funktionale Programmierung eingestreut wird, Das heißt, in einer Prüfungsaufgabe war sowas wie ein Sortieralgorithmus und dann sollte das Kriterium, nachdem man sortiert, flexibel sein. Und das wurde dann mit so einer Art funktionalen Programmierung gemacht. Das heißt, anstatt hart zum Beispiel zwei Vornamen zu vergleichen, sollte der Vergleich an sich über eine Funktion, die hineingegeben wurde, durchgeführt werden. Das war jetzt von der Syntax her nicht sonderlich schwierig. Man hätte jetzt auch nicht zwangsläufig funktionale Programmierung verstehen müssen, um das lösen zu können. Aber zumindest sind Ansätze zu erkennen, auch diese, wie soll ich sagen, modernen Sachen in die Programmierung mit reinzugeben. Weil oft beschweren sich die Prüflinge natürlich, das ist ja Programmierung wie vor 100 Jahren, so gefühlt. [29:33] Ja, okay, aber nochmal zurück zum Anfang. Es geht hier nicht um fancy Programmiersprachen-Features, sondern es geht um die Basics unseres Berufs, ein Problem zu lösen. Und jedes berechenbare Problem kannst du lösen mit Sequenz, Verzweigung und Wiederholung. Du brauchst keine Objekteorientierung, du brauchst keine Funktionalprogrammierung oder eben, du brauchst nur diese drei Sachen. Damit kannst du jedes Problem formulieren. Das ist so, dass das absolute Basic-Wissen, was alle ITlerinnen lernen sollten, völlig unabhängig von ihrer Programmiersprache. [30:02] Deswegen, ehrlich gesagt, finde ich es auch gut, dass das in der Prüfung abgefragt wird und nicht irgendwelche Hardcore-Modernen in Anführungszeichen Sachen, weil du, wie gesagt, halt nicht, also selbst wenn du zum Beispiel, wie meine Azubis auch, Ausbildungen mit Java machst und du natürlich nicht, hoffentlich, auf Java Version 6 vor 15 Jahren arbeitest, sondern ein bisschen modernere Sachen machst, kannst du natürlich auch funktionale Programmiersprachensachen da einbauen. Das ist ja richtig cool. Das wollen wir auch im Alltag benutzen. Bitte verstehe mich nicht falsch. Ich erwarte nicht, dass du im Alltag prozedurales Zeug wie hier mit Verzweigung und Wiederholung programmierst. Darum geht es nicht. Ich erwarte, oder die Prüfenden erwarten, dass du einen Algorithmus formulieren kannst. Und dass du das in einem echten Projekt mit einer echten Programmiersprache noch cooler lösen kannst, ist ja super. Und mach das auch gerne. Das freut mich. Und da habe ich auch Bock drauf. Auf jeden Fall. [30:48] Nur das ist halt eben nicht Teil der Prüfung. In der Prüfung sollst du nur zeigen, dass du den Algorithmus formulieren kannst. Und dafür müssen wir eine Sprache benutzen, die jeder andere Azubi auch spricht. Ganz blöd gesagt. Und leider macht nicht jeder Azubi in Deutschland mit der gleichen Programmiersprache seine Ausbildung und hat schon mal was von Streams und Optionals und irgendwas gehört. Das ist einfach nicht so. Und das kannst du jetzt wahlweise ersetzen durch irgendwelche Sachen in Python, [31:10] die es vielleicht auch nicht in Java gibt oder so. Es ist völlig egal, welche Sprache. Wir können uns einfach nicht auf eine einigen. Und deswegen brauchen wir die absoluten Basics. Und das ist Sequenz, Verzweigung und Wiederholung. So, das zu dem Thema. Und jetzt machen wir weiter mit der Frage, was der Prüfungskatalog denn eigentlich zu der Lösung dieser Pseudocode-Aufgaben sagt. [31:33] Da gibt es nämlich relativ exakte Vorgaben, wie man diese Aufgaben lösen soll. Und da steht extra nochmal erklärt, dass dort eben nicht in einer bestimmten Programmiersprache programmiert werden soll. eben genau vor dem Hintergrund, dass das ja vielleicht für einige Menschen nicht verständlich ist, wenn sie diese Sprache nicht kennen. Das ist einfach so. Du kannst auch nicht deine IHK-Prüfung auf Spanisch beantworten, nicht mal auf Englisch. Das geht nicht. Die Sprache der IHK-Prüfung ist Deutsch. Und ich weiß, dass man da jetzt selber drei Stunden drüber diskutieren kann, ob das so richtig ist, weil wir haben auch viele Menschen, die die Prüfung machen, die Deutsch nicht als Muttersprache haben. Das ist ein ganz anderes Problem. Und natürlich wäre das cool, wenn das anders wäre. Ist aber nicht so. Das heißt, wir müssen uns jetzt, solange die Prüfung halt so ist, daran orientieren, was da gefragt wird. Und im Prüfungskatalog steht explizit, der Code soll für Dritte ohne Kenntnis der verwendeten Programmiersprache lesbar sein. Das heißt, wenn du zum Beispiel den Teil aus deiner Java-Programmiersprache nimmst, der relativ sicher von vielen anderen Menschen auch verstanden werden kann, bist du gut dabei. Nimmst du aber irgendwelche. [32:32] Funktionalen, Stream-basierten, Optional-irgendwas-Sachen, die man nicht sofort verstehen kann, ist es halt ein Problem. Also, das sagt der Prüfungskatalog. Dritte ohne Kenntnis der Sprache sollen das verstehen können. Das ist eine explizite Aussage. Dann steht auch explizit drin, der Code muss nicht kompilierbar oder ausführbar sein. Das heißt, es gibt nicht den Zwang, eine richtige Programmiersprache zu benutzen. Andersherum übrigens, spoiler ich schon mal, schließt das nicht aus, dass du auch einfach eine Programmiersprache nutzen kannst. Also du kannst, wenn du willst, deinen ganzen Code auch in Java schreiben. Das ist überhaupt kein Problem. Du kannst alle Klammern, alle Semikola, alles da eintragen. Das ist überhaupt kein Thema, solange Punkt 1 eingehalten wird, dass Dritte das ohne Kenntnis der Programmiersprache lesen können. Ganz einfach, ja? Also, das vielleicht schon mal vorweg. Wenn du Bedenken hast bei diesem Pseudocode, dann schreib es einfach in der Programmiersprache, die du den ganzen Tag benutzt. Das ist überhaupt kein Problem. Aber mit ein paar Einschränkungen, zu denen ich gleich noch komme, Namentlich, dass jeder andere Mensch das verstehen muss, auch wenn ich noch nicht seit drei Jahren Python programmiere. Das heißt, hier wieder runtergestrippt auf die Basics. Sequenz, Verzweigung, Wiederholung. Wenn du das benutzt aus deiner Sprache, schreibt Python, Java, C-Sharp, PHP, völlig egal, aber nutzt du irgendwelche fancy Sachen, die die anderen Leute außerhalb deiner Programmiersprachen-Bubble nicht kennen, dann kriegst du ein Problem. [33:52] Also, es muss nicht kompilierbar sein. Gehen wir gleich auch nochmal bei meiner Empfehlung drauf ein, wie man Pseudocode schreibt. Ich spoiler schon mal, lass einfach alle Klammern und Semikolons weg. Muss ja nicht kompilierbar sein, viel zu viel Schreibarbeit, bringt niemanden weiter, also lass das Zeug weg. Dann steht sogar explizit drin, Syntaxfehler, wer denn toleriert? Das heißt, selbst wenn du, keine Ahnung, bei Array.length nicht length, sondern length schreibst, einfach zwei Buchstaben vertauscht hast, egal, darum geht es nicht in der Sprache. Wenn ich erkennen kann, dass du mit length wohl length, also die Länge meintest, dann ist das okay. Wenn du das auf Englisch nicht so gut schreiben kannst, kannst du auch sagen, Variable x gleich Länge des Arrays. Gültiger Absurdokode. Ich muss ja nur verstehen, dass du auf die Länge des Arrays zugreifen willst. Und ob du Leng oder Len oder Length oder Length, Hauptsache ich erkenne, dass es irgendwas mit der Länge zu tun hat. Das ist wichtig. Also Syntaxfehler werden toleriert. [34:46] Und dann noch, finde ich, ein wichtiger Punkt, Kontrollstrukturen wie zum Beispiel durch Einrücken müssen ersichtlich sein. Das heißt, wenn du sowas wie ein If, eine Vorschleife und so weiter machst, ich hatte ja eben schon gesagt, Verzweigung, Wiederholung kann man auch anders machen, aber in 95 Prozent der Fälle wird es ja wahrscheinlich ein If und wahrscheinlich eine Vorschleife oder eine While-Schleife sein. Das ist ja klar. Ich will nur darauf hinweisen, dass es auch andere gibt, aber in den meisten Fällen wird es am Ende doch das If und wird die Vorschleife. Und dann wäre es durchaus sinnvoll, dass du den Kopf und den Rumpf der Schleife oder des If-Statements so absetzt, dass man auch erkennen kann, was wohin gehört. Das heißt, wenn nach der Schleife oder nach dem If noch weiterer Code kommt, dann muss der natürlich wieder ausgerückt werden, damit das nicht so aussieht, als würde er noch in die Schleife gehören. Solche Sachen müsstest du dann schon machen. Also wenn wir meinen Tipp von eben nehmen, lass die Klammern weg. Gut, lass die Klammern weg, aber dann rück auch wieder aus, wenn die Schleife vorbei ist. Und das habe ich leider auch schon gesehen in Lösungen in der K-Prüfung, dass Leute einfach immer am Zeilen anfangen, anfangen zu schreiben. Egal, ob ich gerade in der dritten verschachtelten Schleife bin oder nicht. Und das ist natürlich mega schwer nachvollziehbar. Nicht nur für uns als Prüfende, sondern auch für dich selber. Wenn du es dir selber nochmal anguckst, so hä, welche Ebene war das jetzt hier? Es fängt ja alles an der gleichen Stelle an in der Zeile. Das ist nicht gut. Das heißt, hier steht sogar explizit zum Beispiel durch Einrücken im Prüfungskatalog. Also mach das einfach. Das wäre auch gleich mein gespoileter Tipp. Lass die Semikolons und Klammern weg, aber rück deinen Kram so ein, dass man erkennt, was wozu gehört. [36:14] So, das ist also das, was der Prüfungskatalog vorgibt. Und dann könnte man jetzt ja sagen, gut, dann nehmen wir den Pseudocode, wie er im Buche steht. Der wird das ja wohl alles einhalten. Und dann schreibe ich damit die Prüfung. [36:26] Ja, wäre schön. Leider gibt es keine Definition vom Pseudocode. Es gibt keine Standard. Es gibt keine Norm. Es gibt nichts, wo du nachgucken kannst, wie Pseudocode auszusehen hat. Es gibt verschiedene Varianten, die man auch zum Beispiel bei der Wikipedia sich mal angucken kann. Da gibt es zum Beispiel die Jana. Na, das ist ein Pseudocode, der auf Java basiert. Oder es gibt einen Pascal-ähnlichen Pseudocode. Hast du vielleicht auch schon mal in Musterlösungen gesehen? Das ist sowas, was immer mit Beginn und End oder so anfängt, anstatt Klammern zu benutzen. Das wird relativ häufig zum Beispiel auch in den Musterlösungen benutzt, würde ich behaupten, diese Pascal-ähnliche Syntax. Ich habe eigentlich jetzt auch schon extra als Vorbereitung nochmal die Musterlösungen der letzten Jahre durchgeguckt und das ist mal so, mal so. Das heißt, auch da nicht mal in den Musterlösungen, es sind auch gar keine Musterlösungen, sondern ja Lösungserläuterungen. Ich bringe das immer selber durcheinander. Man kann nämlich jeden Algorithmus auch anders lösen, als der in der Musterlösung steht. Aber da kommen wir gleich nochmal drauf. Wichtig ist aber, dass du nicht mal in den Lösungen einheitliche Vorschläge hast. Also mal ist es sehr Java-ähnlich, mal ist es Pascal, mal ist es ganz was anderes. Also es gibt hier keinen Standard. Und deswegen sage ich auch immer gerne, wenn du keinen Bock auf Pseudocode hast, dann schreib den Kram in einer Programmiersprache, die du kennst. Fertig. Das ist gültiger Pseudocode, weil es keinen Standard dafür gibt, gegen den das irgendwie gewertet wird. Denk an die Vorgaben, der Prüfer, die Prüferin muss es verstehen können. Das ist alles. Mehr Anforderungen gibt es nicht. [37:50] Und deswegen kommen wir jetzt zu meiner Empfehlung. Was würde ich dir jetzt für die Prüfung konkret empfehlen? Ich würde dir ehrlicherweise empfehlen, nimm eine Programmiersprache, die du kennst, die du jeden Tag benutzt. Wahrscheinlich hast du in deiner Ausbildung die letzten zwei, zweieinhalb, drei Jahre eine Programmiersprache hauptsächlich benutzt. Das hoffe ich zumindest, dass du nicht 27 verschiedene gelernt hast, sondern hauptsächlich erstmal eine und die dann gut. und mit der kennst du dich hoffentlich so gut aus, dass du die Syntax, wie soll ich das jetzt sagen, auswendig, ohne nachzugucken, einfach runterschreiben kannst. Weil wir haben eben schon gehört, die Aufgabenstellung ist manchmal eine DIN-A4-Seite lang. Das dauert einfach extrem lange, diese Aufgaben zu bearbeiten. Als es noch möglich war, vor der Neuordnung der T-Berufe, habe ich meinen eigenen Azubis empfohlen, die Pseudogood-Aufgaben zu streichen, weil die einfach extrem lange dauern, super fehleranfällig sind in der Lösung. Und ja, also man verballert einfach so viel Zeit damit. Deswegen war das echt eine Streichaufgabe. Haben viele Prüflinge auch immer so gemacht. Pseudocode-Aufgaben gestrichen. Jetzt nach der Neuordnung geht das ja nicht mehr. Das heißt, wenn du Pseudocode hast, dann musst du es auch lösen. Kommst nicht drumherum. [38:55] Deswegen mach dir das Leben nicht noch schwerer mit irgendeiner Syntax, die du nicht beherrschst, weil du sie nie benutzt, sondern nimm einfach die Poemiersprache, die du jeden Tag benutzt. Dann hast du da schon mal ein Problem weniger, wie du es formulieren musst. Nimm einfach eine Poemiersprache, die du kennst. Und dann aber mach dir das Leben einfacher. Lass alles Unnötige, was nicht zum Verständnis beiträgt, weg. Das sind Klammern oder Ende von irgendwelchen Kontrollstrukturen, sowas wie if und endif. Das endif zum Beispiel könntest du weglassen. Die Klammern kannst du weglassen. Die Semikolons am Ende, wenn das an deiner Sprache nötig wäre, kannst du weglassen. Also alles, was nicht den Kern, sag ich mal, der Statements in der Zeile, was du beschreibst, betrifft, kannst du weglassen. Solange es dann halt noch für Außenstehende verständlich ist. Dann machst du dir das Leben nicht schwer, weil du kannst es runterschreiben, du kennst es aus deinem Alltag und lässt aber alles weg, was dich Zeit kostet. Weil du das ja nicht vergessen auf Papier schreiben musst und jeder Buchstabe, den du da schreiben musst, beziehungsweise jedes Zeichen kostet dich Zeit. [39:56] Dann unbedingt darauf achten, einrücken. Also meine Empfehlung, statt Klammern oder if and if, einfach einrücken. Dann ist es offensichtlich und du sparst dir Zeit. Und wie eben schon gesagt, lass bitte alle coolen Features der Sprache weg. Ja, ich habe da gleich noch ein paar Beispiele, was ich damit meine, was ich an der Stelle weglassen würde. Sondern benutze nur die Basics. Sequenz, Verzweigung, Wiederholung. Ja, und schon bei Wiederholungen geht es los, dass viele Sprachen so coole, geile Sachen haben, um noch kürzer, noch prägnanter irgendwie durch was iterieren zu können. Aber bitte, bitte, der wichtigste Punkt ist, die Prüfenden müssen das verstehen. Und wenn du irgendeine Python-spezifische Syntax hast, wo du mit drei Zeichen durch ein Array laufen kannst, ist das ganz toll. Das darfst du im Alltag rauf und runter benutzen. Aber bitte nicht in der Prüfung. [40:46] In der Prüfung geht es darum, verständlich den Algorithmus zu formulieren. Ich wiederhole mich, weil das so wichtig ist. Aber ich sehe es halt so häufig in den Prüfungen, dass Leute das nicht machen. Und deswegen gehe ich halt heute so darauf ein. Also lass den ganzen coolen, hippen Kram weg. Ich sage immer so, du sollst hier nicht zeigen, dass du der geilste Programmierer bist oder die coolste Programmiererin und dass er alles viel besser kann als die Prüfenden. Sondern du sollst einfach zeigen, dass du die Aufgabenstellung bearbeiten kannst und einen Algorithmus formulieren kannst. Fertig. Darum geht es. Und alles, was du mit den drei Algorithmenbausteinen lösen kannst, das machst du auch damit und lass die komischen Features weg. [41:23] So, letzter Punkt. Meistens sind die Datentypen in der Prüfung irrelevant. Das heißt, anstatt zu sagen int Quersumme gleich 0, kannst du auch sagen, definiere Quersumme als 0. [41:34] Du musst normalerweise keine Datentypen hinschreiben, weil sie für den Algorithmus sehr oft irrelevant sind. Für die Quersummen-Aufgabe von eben war es egal. In diesem Fall wird wahrscheinlich sogar vorgegeben sein. Definieren Sie die folgende Funktion. Berechne Quersumme in Klammern int x oder so. Dann ist sogar schon vorgegeben, dass es ein Integer ist. Musste sich um nichts mehr kümmern. Wenn du aber zum Beispiel den Algorithmus mit dem Umwandeln in einem String und Durchlaufen der Ziffern machst, dann sind die Datentypen natürlich schon wichtig, weil du mit einem String halt nicht rechnen kannst. Das funktioniert nicht. Das heißt, wenn du dich für eine Lösung entscheidest, wo du Datentypen spezifische Sachen machen musst, damit es funktioniert, dann musst du bitte natürlich auch die Datentypen hinschreiben. Klar, aber für die meisten Algorithmen, die ich aus Prüfungen kenne, sind die Datentypen völlig irrelevant. Deswegen kannst du sie weglassen. Also zusammengefasst, ganz blöd gesagt, stell dir vor, du arbeitest in deiner Programmiersprache, aber die wäre jetzt auf einmal dynamisch typisiert. Das heißt, du brauchst keine Datentypen und alles, was unnötig ist, wie Klammern und Semikolons, kannst du weglassen. So, dann kannst du das runterschreiben, weil du Syntax kannst, lässt alles weg, was du normalerweise hinschreiben musst, aber was dich jetzt hier Zeit kostet. Und Datentypen, egal, weil du sollst ja das Problem lösen. [42:50] So, das wäre meine Empfehlung. Und jetzt kommen natürlich dann schnell die Fragen, kann man das nicht noch anders machen? Warum nicht irgendeine Sprache so und so? [42:57] Und vor allem, warum nicht grafisch darstellen? Könnte man ja auch. Da gehen wir jetzt nochmal kurz auf ein. Und zwar war es bis zu dem neuen Prüfungskatalog 2025 gängig, dass die Pseudocode-Aufgaben auch mit einem Struktogramm oder einem Programmablaufplan hätten dargestellt werden können. Man hätte also nicht programmieren müssen, man hätte auch einfach ein Struktogramm zeichnen können. Gut, dass den Prüfungserstellern und Erstellerinnen jetzt aufgefallen ist, dass das vielleicht keiner mehr macht in der Realität und deswegen haben sie das jetzt gestrichen. Aber eine alternative Darstellung gibt es natürlich trotzdem. Und das wäre jetzt das UML-Aktivitätsdiagramm, weil das ja genau dafür da ist. Algorithmen oder Arbeitsabläufe in einem Unternehmen, was auch nichts anderes ist, als ein Schritt-für-Schritt-Prozess zu einem Ziel. Das ist jetzt der Standardweg, um das visuell darzustellen. Meine Empfehlung ist aber seit Jahren, inzwischen sogar Jahrzehnten, glaube ich gleich, und zwar mach es einfach nicht. Schreib bitte Pseudocode. Aktivitätsdiagramm, Struktogramm, Programmablaufparln haben eins gemeinsam. Die sind super umständlich zu zeichnen, sau schwierig zu korrigieren und deswegen würde ich sie dir einfach für eine schriftliche Prüfung auf Papier nicht empfehlen. Es ist einfach zu aufwendig. Du hast sowieso viel zu wenig Zeit normalerweise für diese Aufgabe hier. Wenn du es mal durchrechnest, meistens, zumindest für die Anwendungsentwickler in Teil 2, sind die Pseudocode-Aufgaben eine dicke Aufgabe. Also ein Pseudocode für 25 Punkte oder sowas. [44:15] Dann kannst du dir grob ausrechnen, 90 Minuten Prüfungszeit geteilt durch deine Punkte, dass du ganz grob ungefähr pro Punkt der Aufgabe eine Minute Zeit hast in der Prüfung, um sowas hinzuschreiben. Das heißt, für so eine Pseudocode-Aufgabe hast du so knapp 25 Minuten, um den kompletten Text zu lesen und dann auch noch die Aufgabe hinzuschreiben und zu lösen. Und das wird extrem schwierig, wenn du dann noch am besten mit dem Lineal irgendwelche Diagramme aufzeichnen musst. Und was viel schlimmer ist, wenn du die dann korrigieren musst, weil du siehst, oh, ich habe mich hier einfach vertan. Und sind wir ganz ehrlich, das passiert vielen in der Prüfung. Sind aufgeregt, überlesen was, gucken nochmal drüber und stellen fest, oh, scheiße, letzten Satz habe ich nicht gelesen und so weiter. Das kommt so oft vor. Also nutzt doch bitte eine Darstellungsform, die du leicht korrigieren kannst. Und das ist bei Pseudocor so. Da machst du einfach an der Stelle, wo du das vergessen hast, ein Sternchen, schreibst ganz unten auf der Seite nochmal ein Sternchen und schreibst die Zeit, die du vergessen hast und bist fertig. Beim Aktivitäts-Zirgramm musst du vielleicht Pfeile durchstreichen, irgendwo noch was daneben malen, dann passt das. Nicht mehr aufs Blatt, dann machst du da ein Sternchen hin, dann rafft das aber keiner mehr und so. Also das ist einfach super schwierig, grafische Darstellungen auf Papier zu korrigieren. Das ist einfach meine Erfahrung. Deswegen bleibt meine Empfehlung. Mach es einfach nicht, sondern mach Pseudocode. [45:30] So, und dann nochmal, wir hatten es eben schon, warum benutzen wir nicht in der Prüfung eine genaue Programmiersprache, zum Beispiel Java? Habe ich jetzt auch schon mehrfach gesagt, weil nicht jeder IT-Jazubi in Deutschland eine Sprache lernt. Deswegen brauchen wir was Allgemeines und das ist der Pseudocode. Also, die einzige echte Alternative wäre das Aktivitäts-Tilagramm, weil das ist Programmiersprachenunabhängig. Aber wie gerade erklärt, dauert das zu lange, das zu zeichnen. Deswegen würde ich es dir nicht empfehlen. Also, aus meiner Sicht gibt es keine Alternativen zu Pseudocode. Und auch, sehe ich zumindest so, fände ich es sehr unglücklich, wenn die solche Aufgaben in Zukunft nicht mehr machen würden, weil die halt den Kern unseres Berufes abbilden sollen, nämlich algorithmisches Denken. [46:06] Also gehen wir mal davon aus, dass die noch ein paar Jährchen in der Prüfung bleiben, auch wenn wir KI einsetzen, weil wie gerade schon gesagt, am Ende kann man natürlich die KI in den Algorithmus vielleicht formulieren, wenn sie die Problemstellung versteht. Aber da zumindest sind wir Stand 2025 der KI noch überlegen, was die Problemlösung angeht. Also Probleme, für die es bislang noch keine Lösung gab, eine Lösung zu finden. Auch ja, ich weiß, man kann ERK-Prüfungen bei ChatGBT reinstellen, der löst die dir. Das ist alles ganz toll. Aber es geht darum, dass du erstmal die Probleme lösen kannst und verstehen kannst und dann zum Beispiel irgendwann später mal die KI überprüfst, ob sie das denn richtig gemacht hat. Da muss dann vielleicht doch nochmal irgendwie ein Mensch drüber gucken. Das heißt, du kommst einfach nicht drum herum, dieses algorithmische Verständnis weiterhin dir anzueignen. Das ist zumindest mein Stand im Jahr 2025. Vielleicht gibt es mich in fünf Jahren nicht mehr, weil es nur noch KI da gibt. Aber naja, wir werden sehen, wie sich das entwickelt. Bis dahin gehen wir mal [46:58] davon aus, dass du weiterhin algorithmische Aufgaben in der Prüfung haben wirst. Und dann ist die Frage, wie bereitest du dich darauf vor? [47:04] Weil gerade für die Anwendungsentwickler gibt es halt viele, viele Punkte für diese Aufgaben. Und für die Systemintegratorin übrigens auch, habe ich gesehen, gibt es durchaus auch einen dicken Batzen für so ein Skript, was man da programmieren muss. Und da ist mein ehrlich gemeinter Tipp, lernen einfach programmieren. Das hört sich jetzt fies an, aber wenn Leute mir eine Woche vor der Prüfung eine Mail schicken, ich kann diese Pseudocode-Aufgaben nicht lösen, was kann ich tun? Dann kann ich sagen, schwierig. Weil wenn du nicht programmieren kannst, weil Darum geht es. Ein Problem in Teilprobleme zu zerlegen und dann diese Probleme zu lösen. Das ist das, was wir beim Programmieren täglich machen. Dann liegt das nicht am Pseudocode, den du schreiben musst, sondern liegt das einfach am Verständnis, wie man solche Probleme löst. Und das ist aus meiner Sicht etwas, was du in der Ausbildung lernen musst. Und zwar nicht eine Woche vor der Prüfung, sondern eigentlich ab Tag 1, weil das ist der Kern des Berufs, Probleme zu lösen. [47:54] Deswegen mache ich auch diesen Podcast in der Hoffnung, dass du es nicht eine Woche vor der Prüfung hörst, sondern rechtzeitig vorher, damit du genau das [47:58] dir noch aneignen kannst. Das heißt, übe einfach programmieren. Es gibt so viele Websites online, ob es jetzt, wie heißen die Dinger, Hacker, Rank oder Code, Schlagmichtor, also ich weiß es gar nicht. Ich denke mir die Aufgaben immer selber aus meistens, aber es gibt halt viele, viele Websites, die sich genau darauf spezialisiert haben. Beispiel-Programmieraufgaben, kleine mathematische Probleme. Ich kenne zum Beispiel das Project Euler, finde ich richtig gut. Das geht so mit ganz super einfachen mathematischen Sachen los, die man programmiert und es wird immer schwieriger. Man muss immer mehr oder größere Probleme da lösen. Da habe ich zum Beispiel ein paar Aufgaben von durchgemacht, das fand ich sehr, sehr spannend. Und es gibt noch viele, viele weitere Sachen. Es gibt sogar kleine Spiele, mit denen du das lösen kannst. Zum Beispiel Human Resource Machine habe ich zum Beispiel ein paar Level durchgespielt, fand ich ganz cool. Da steuert man so eine kleine Person, die dann im Prinzip in Assembler programmiert wird, was sie machen soll. Also nimm die Zahl vom Boden, pack sie in diese Liste und solche Sachen. Also das ist auch ganz cool, kann man auch machen. [48:52] Wichtig ist, aus meiner Sicht, üben, üben, üben, machen, machen, machen. Konkrete Probleme lösen und im besten Fall kriegst du dann zu deiner Lösung auch Feedback. Dafür sind ja eigentlich Ausbilder und Ausbilderinnen da, ne? Dass du dann was programmierst und dann sagen die dir hier, das und das hättest du anders machen können, besser machen können und so weiter. Und ich weiß leider auch, dass es viele Azubis gibt, die nicht so intensiv betreut werden, das kannst du dann ersatzweise eine KI machen lassen im Jahr 2025. Gib doch den Code irgendwo rein, irgendein Modell, ich will keines bevorzugen und frag einfach, was kann ich hier besser machen? Ist das so richtig? Habe ich was übersehen? Kann ich das noch optimieren, verbessern, verschönern, was auch immer? Da hat die KI heute ja echt einen Riesen-Benefit. Die kann dir quasi zumindest, was das Feedback zu deinem Code angeht, Ausbilder und Ausbilderinnen ersetzen in Anführungszeichen. Du kannst ja sogar mit der drüber chatten sowieso, aber auch sprechen. Du kannst dir das Ganze sogar noch auf dem Audio-Kanal erklären, [49:43] was du da falsch gemacht hast. Also unbedingt Feedback einholen, um dich zu verbessern. Darum geht’s, ja? Und dann ist das grundlegende Vorgehen eigentlich wie immer bei der Programmierung das Divide and Conquer. [49:54] Zerlege das Problem in Teilprobleme, solange bis du das einzelne Teilproblem mit einer Zeile Code lösen kannst. Ganz blöd gesagt, ja? und das muss man einfach immer wieder machen, durchspielen mit verschiedenen Problemen, weil du normalerweise nicht dich auf alle Probleme der Prüfung vorbereiten kannst und irgendeins davon kommt dann dran, sondern die Aufgabenersteller denken sich natürlich neue Probleme aus, weil genau darum soll es ja gehen. Es will in der Prüfung normalerweise keiner von dir wissen, wie funktioniert der Bubble Sort. Programmieren Sie genau den Bubble Sort mit dieser Datenstruktur hier. [50:27] Sondern es geht darum, ich möchte diese Liste sortieren. Go. Das heißt, es gibt keine genaue Vorgabe, wie etwas zu tun hat, sondern nur was gemacht werden soll. Und das sollst du dann zeigen, dass du dieses Problem lösen kannst. Und dafür gibt es halt nicht eine Liste von 38 Algorithmen, die du auswendig lernen kannst. Und eine davon kommt dann in der Prüfung dran. Sondern es ist halt immer eine Mischung, um ein Echtweltbeispiel in der Prüfung lösen zu können. Um das, was du im Alltag ja auch jeden Tag machst, zeigen zu können. Es wird niemand, wahrscheinlich, wird dein Chef oder deine Chefin nie zu dir kommen und sagen, ich brauche unbedingt einen Bubble Sort. Sondern er wird mit einem Geschäftsproblem zu dir kommen, sowas wie, keine Ahnung, wir haben hier einen Stapel Rechnungen von unseren Kunden und das Finanzamt will die nach Rechnungsnummer sortiert haben. Mach das mal. So, und dann ist das die Aufgabe. Und dann musst du sagen, ach, dann nehme ich einen Sortieralgorithmus, und zwar den, den ich da zufällig gerade kenne oder den ich mir selber ausgedacht habe oder einen von den 23, die es gibt und programmiere das dann. Oder ich nehme einfach eine Bibliotheksfunktion, die es sortiert. Deinem Chef ist es egal, wie du es löst. Hauptsache, du löst das Problem, dass die Rechnungen nach Rechnungsnummer sortiert werden. [51:28] Das soll zu zeigen. Und auf dem Niveau bewegen wir uns auch in der IRK-Prüfung. Es kann sein, dass wirklich solche Sachen wie Grundalgorithmen, nenne ich sie mal, in der Prüfung drankommen. Und das ist sogar sehr häufig so. Also irgendwas sortieren, irgendetwas suchen, irgendetwas rausfiltern aus einer Liste zum Beispiel. [51:45] Solche Basic-Algorithmen können natürlich als Teil so einer großen Aufgabe mal drankommen. Da steht dann halt in so einem Halbsatz, ach übrigens, das Endergebnis soll nach Preisabsteigen sortiert sein oder so. Und das macht dann bei dir im Kopf hoffentlich Klick. Oh, an der Stelle muss ich einen Sortieralgorithmus programmieren. Und dann hast du hoffentlich einen parat, im einfachsten Fall den Bubble-Zort, und programmierst den eben in fünf Zeilen runter. Und dann ist die Aufgabe ja gelöst. [52:11] So, und dieses Divide and Conquer, das mache ich mit meinen Azubis, wie gesagt, teilweise schon vor der Ausbildung, um zu gucken, ob das überhaupt was für die ist, mit diesem Altersbeispiel. Wie berechnest du dein Alter? Und da findet man schon schnell raus, ob Leute das beherrschen oder nicht. Weil, jetzt mal kurz gespoilert, wie macht man das? Man zieht erst mal das heutige, man zieht das Geburtsjahr vom heutigen Jahr ab. Ja, da habe ich erst mal schon das grobe Alter. Und das Alter kann jetzt noch um eins abweichen. Wenn ich in diesem Jahr nämlich noch nicht Geburtstag hatte, dann muss ich davon noch eins abziehen und ansonsten bleibt es dabei. Und wann hatte ich noch nicht Geburtstag? Naja, entweder, wenn mein Geburtsmonat in der Zukunft liegt oder wenn ich im Geburtsmonat bin, aber der Tag noch in der Zukunft liegt. Und das muss ich jetzt der Reihe nach abprüfen, um zu dem Ergebnis zu kommen. Und das kriegen viele einfach nicht so einfach hin. Und daran kann man schon gut, wie ich finde, nachvollziehen, ob jemand so ein bisschen dieses Verständnis hat. [53:01] Und das kann man üben. Ich sage das dann immer ganz gern so. Versucht das doch mal einem Grundschüler, einer Grundschülerin zu erklären, die gerade Mathe gelernt hat. Also rechnen kann die oder er. Und jetzt sag mal, was genau diese Schülerin da rechnen soll, um das Alter auszurechnen. Und dann nimmst du das aktuelle Jahr minus das Geburtsjahr. Und das ist erst mal das vermeintliche Alter. Jetzt muss ich prüfen. Wenn der Geburtsmonat größer als der heutige Monat ist, dann ziehst du von dem Alter einen ab. [53:31] Ansonsten, wenn der Geburtsmonat gleich dem heutigen Monat ist, dann prüf bitte noch, ob der Geburtstag nach dem heutigen Tag ist, weil dann musst du auch einen abziehen. Und wenn das alles nicht zutrifft, geben wir das Alter so zurück. Das war’s. Ungefähr so müsste der aussehen. Also ein bisschen if und dann hat man das schon. Aber um da erstmal hinzukommen, tun sich halt relativ viele Leute dabei schwer und da hilft es mir immer zu sagen, tu mal so, als wäre ich ein Grundschüler und erklär mir das mal, was ich jetzt der Reihe nach machen muss. Und wenn dann sowas steht, wie wenn dann zum Beispiel die Person sagt, ja, rechne doch einfach den Unterschied zwischen den Datumsangaben aus. Dann frage ich immer zurück, wie so ein dummer Computer, der das nicht kompilieren kann. Ja, wie berechne ich denn den Unterschied zwischen das bei Datumsangaben? Ich kann nur Zahlen voneinander subtrahieren, aber keine Datumsangaben. Und dann kommt, ach ja, man muss ja erstmal das Ja abziehen. Okay, das mache ich. Und dann tue ich so, ja, was soll ich jetzt tun? Ich habe jetzt das Ja subtrahiert, jetzt gebe ich dir zurück 43. Ja, aber nee, ist ja nicht richtig, weil du musst ja noch was prüfen. Ja, dann musst du mir das auch sagen. Ja, okay, dann mach folgendes. Nimm den Monat und zieh den anderen Monat ab. Und so mache ich das in so einem Gespräch, um zu erklären, wie es funktionieren würde. Und so kannst du es dir auch für die Prüfung mitnehmen. Also, was müsste ich der Reihe nach wie tun, um dieses Problem zu lösen? Darum geht es. [54:48] So, das wäre jetzt so meine Empfehlung fürs Lernen. Und jetzt nochmal kurz, wenn du mit alten Prüfungen lernst, was ich dir dringend empfehlen würde, weil nur so kriegst du natürlich auch ein bisschen ein Händchen dafür, für diese Formulierung von Problemen, für den Umfang der Probleme, dass du es auch zeitlich ein bisschen besser bewerten kannst, ob du es lösen könntest. Und dann ganz wichtiger Tipp, wenn du dir diese Lösungsempfehlungen, Musterlösungen anguckst, dann sei bitte nicht traurig, wenn dein Code nicht exakt so aussieht wie die Musterlösung. Das ist nämlich in ganz vielen Fällen so, weil es ist halt eben nur ein Lösungsvorschlag und eben nicht die Musterlösung, die man exakt so nachprogrammieren muss, was übrigens für alle anderen Aufgaben auch gilt, sondern es sind nur Lösungshinweise, die man auch, glaube ich, aus genau diesem Grund nicht kaufen kann, weil sonst würden alle sagen, aber ich habe das doch so und so und nicht. Es ist nur ein Vorschlag und diese Prüfung wird von Menschen korrigiert und die müssen die Kompetenz haben, das zu bewerten, ob das richtig ist oder nicht. Und wenn du statt einer Vorschleife eine While-Schleife benutzt hast und ich als Prüfender aber sehe, dass das richtig ist, dann gebe ich dir natürlich die Punkte, auch wenn in der Lösungsvorschlagsaufgabe, Lösung, so, eine Vorschleife steht. Oder what, was hatte ich jetzt? Weiß ich nicht. Auf jeden Fall, natürlich gibt es verschiedene Möglichkeiten, um solche Probleme zu lösen. Es gibt nicht die eine Lösung. Beispiel Quersumme, die String-Geschichte oder die Modulo-Geschichte führt beides zum richtigen Ergebnis. Also kann nicht das eine richtig und das andere falsch sein. Das ist nicht der Fall. Wenn es funktioniert, wird es auch punktet. Überhaupt kein Problem. [56:15] Jetzt kann es aber ja sein, dass du bei deinen Übungen etwas ganz anders löst, als es halt im Vorschlag steht. Dann ist natürlich blöd, weil dann kannst du dich ja selber gar nicht bewerten, ob es jetzt einen Punkt gegeben hätte. Und auch hier wieder der Hinweis, dafür wäre jetzt vielleicht ein Ausbilder oder eine Ausbilderin ganz cool, die da vielleicht die Erfahrung mitbringt und dann wie ein Prüfender das halt bewerten könnte. Würde hier an der Stelle auch eine Wildschleife statt einer Vorschleife funktionieren? Ja oder nein? Wenn du das nicht selber herausbekommen kannst, weil du das vielleicht noch nicht so oft gemacht hast, dann brauchst du Feedback. Also frag Ausbilder, Ausbilderin und wenn das nicht geht, nimm die KI. Ich habe es eben schon gesagt. [56:50] Dieser Algorithmus ist die Lösung. Ich habe das hier programmiert. Würde das auch funktionieren? Oder wie auch immer du die KI danach fragen wolltest. Die wird dir dann bestimmt eine schöne Lösung dafür geben. So, also wie lerne ich jetzt Pseudocode-Aufgaben? Mit alten Prüfungen. Gehe die Übungen durch und versuche runterzubrechen, die weit entkonker. Nimm eine Programmiersprache, die du kennst, lass alles Überflüssige weg und am Ende hol dir bitte noch Feedback ein von irgendwem, einem Menschen oder einer KI, der oder die dir dann sagt, war richtig oder nicht oder was hast du falsch gemacht, was hast du vergessen etc. Etc. So. Und dann häufige Fehler. [57:28] Letzter Punkt für heute. Ich habe auch schon mal ein paar Pseudocode-Aufgaben korrigiert. Auch wenn ich, ich bin ganz ehrlich, auch die Prüfenden wollen sich ja wie alle ITler und ITlerinnen das Leben einfach machen. Und ich habe gar keinen Bock auf Pseudocode-Aufgaben. Und zwar aus genau dem Grund eben. Denn man kann das halt auf 27 verschiedene Varianten lösen. Und ich muss, wenn ich die korrigiere, ja jede dieser Varianten im Kopf immer durchspielen, ob das funktioniert. Und ob das auch wirklich funktioniert. Oder ob in diesem einen Edge-Case vielleicht doch nicht funktioniert. und da muss ich dafür vielleicht einen Punkt abziehen oder auch nicht. Und das ist extrem aufwendig, zeitaufwendig und schwierig und gedanklich herausfordernd, diese Sachen zu korrigieren. Das heißt, das ist, wenn ich irgendwie die Wahl habe, nehme ich nicht die Pseudocode-Aufgaben zum Korrigieren, weil das halt mega anstrengend ist. Genauso wie es für dich schwierig ist, zu schreiben, ist es für die Prüfenden [58:12] schwierig, die zu korrigieren. Das heißt, nicht meine Favorite-Aufgaben in der Prüfung, nicht nur die Prüflinge sehen das so, auch die Prüfenden. Ja, aber wenn wir uns jetzt mal so ein paar oder wenn ich mir mal so ein paar alte Sachen vorstelle, die ich mal korrigiert habe, was waren so die Fehler, die ich am häufigsten gesehen habe? Und da fangen wir an mit meinem Standardfehler, den du eigentlich bei jeder Aufgabe machen kannst und zwar nichts hinschreiben. Bei meinen Episoden oder Blockartikeln, ich weiß schon nicht mehr zu SQL-Aufgaben in der Prüfung, sage ich das auch immer wieder. [58:38] Du darfst das Blatt nicht leer lassen. Wenigstens bei einer SQL-Abfrage könntest du Select, Spalten, From, Tabelle hinschreiben. Das wäre das absolute Minimum. Dafür musst du überhaupt nicht verstanden haben, was du in der Aufgabe eigentlich machen musst. Aber die Spalten und die Tabellen aus dem Bild abschreiben, das dürftest du immerhin bekommen. Und das Gleiche gilt beim Pseudocode. Irgendeinen Teil des Pseudocodes wirst du hinschreiben können. Irgendwo erkennst du vielleicht ein If oder eine Schleife. Und wenn es auch nur eine Ausgabe am Ende ist, bei der Quersumme zum Beispiel, gib die Quersumme zurück, ist dann ein Teil der Aufgabe, dann kannst du wenigstens hinschreiben, Return Quersumme. Auch wenn du davor überhaupt nichts berechnet hast, aber zumindest einen Teil des Algorithmus, nämlich die Rückgabe, die wirst du hinschreiben können. [59:20] Und das wird dir bei jeder Aufgabe so gehen, egal wie schwierig die ist oder nicht. Es wird immer irgendwas geben, was du da hinschreiben kannst. Und wenn es die kleinste Fitzeligkeit ist, ganz egal, aber es ist alles besser, als das Blatt leer zu lassen. Aber wenn das Blatt leer ist, dann kann ich dir wirklich, im wahrsten Sinne des Wortes, nur null Punkte geben. Ich kann da nichts mehr herzaubern, wo ich sage, ach, in Ansätzen war ja was da. Nee, leeres Blatt heißt null Punkte. Da gibt es auch keine Diskussion. Das finde ich super für Prüfende, weil das ist mega einfach zu korrigieren. Null dran schreiben, next. Aber das ist für dich natürlich ein Problem, weil du willst natürlich so viele Punkte wie möglich bekommen. [59:58] Ja, da kann ich nur empfehlen, schreib irgendetwas hin, was irgendwie mit der Aufgabe zu tun hat. Und wenn bei Divide and Conquer du nicht weiterkommst als zur ersten Ebene, dann schreib wenigstens das hin. Schreib einen Pseudo-Algorithmus super abstrakter Form hin, wie zum Beispiel bei der Quersumme von vorhin. Für jede Ziffer der Zahl addiere Zahl auf Quersumme, gib Quersumme zurück. So, du hast dann das Problem, wie komme ich an die Ziffern der Zahlen nicht gelöst. Okay, aber du hast erkannt, dass du die Ziffern durchlaufen musst. Du hast, das habe ich jetzt gerade vergessen, die Variable Quersumme definiert und die am Ende zurückgegeben. So, das heißt, keine Ahnung, angenommen es gäbe jetzt irgendwie 6, 7 Punkte für die Aufgabe, dann könnte ich dir 3 ja schon mal geben. Weil das Laufen durch die Ziffern hast du erkannt, du hast was zurückgegeben, du hast was aufsummiert. Das sind doch Bestandteile, die erstmal funktionieren. Und wenn du dann einen Teil des Algorithmus nicht perfekt ausformuliert hast, dann ziehe ich dir dafür Punkte ab, aber es ist doch alles besser, als null Punkte zu kriegen, weil da gar nichts steht. Ja, also bitte immer etwas hinschreiben. Das behaupte ich einfach, dass du das immer machen kannst. [1:01:01] So, Problem Nummer zwei. Das ist dann sehr häufig der Fall, dass die Leute einfach die Aufgabenstellung nicht verstehen. Ja, ich weiß, die IHK-Aufgaben sind immer ein bisschen besonders, manchmal unnötig kompliziert. Beispiele sind ein bisschen komisch. Also da kann man sehr lange und häufig drüber streiten. Ich weiß, das ist blöd und noch schwieriger wird es, wenn man kein Muttersprachler ist. Ich weiß, das ist ein riesiges Problem. Nur wir können es leider nicht ändern. Und deswegen ist meine Empfehlung, [1:01:29] übe das einfach mit alten Aufgaben. Und wenn du da irgendwas nicht verstehst, dann wende dich an Ausbilder, Ausbilderinnen oder KI, die dir ja nicht einfach nur die Lösung hinklatschen können und sollen, sondern dir das auch erklären können und sollen, wie man sich da hinarbeitet. Und im Endeffekt wird es immer die Wide & Conquer sein. Ich glaube nicht, dass man da viel anders rangehen kann. Aber diese Übung und das Feedback, das ist das, was dir da weiterhilft. Und deswegen besorgt dir die alten Prüfungen und macht die Prüfungsaufgaben. Das ist an der Stelle meine zentrale Empfehlung. [1:01:59] Und wenn wir dann nochmal runtergehen auf das, was wirklich in der Programmierung am Ende häufig ein Problem ist, sind das ganz klassisch Plus-Minus-Eins-Fehler. Da wird dann zum Beispiel in Schleifen, wie gesagt, in vielen Aufgaben braucht man wirklich mal eine Vorschleife zum Beispiel, da wird dann halt einer zu wenig, einer zu viel gezählt, weil statt kleiner gleich wird kleiner gemacht oder größer oder einfach Vorzeichenfehler oder sonstige Sachen. Also immer diese klassischen Programmierfehler, wofür wir auch hoffentlich Unit-Tests programmieren, die kommen natürlich auch in diesen Algorithmen dran. Und das ist immer das Erste, wo ich auch hingucke, ob irgendwas falsch ist, wird richtig gezählt. Beginnt das Array bei 0 oder bei 1? Wo wird her angefangen? Wird zum Beispiel in der Vorschleife, wenn ich durch ein Array laufe und ich habe eine Programmiersprache, die 0 basiert ist, was 95% der Sprachen sind, wenn ich dann bis zu Array.length zähle, dann bin ich natürlich schon aus dem Array rausgelaufen, weil das letzte Element hat Array.length minus 1. Und das sind so klassische Fehler, die natürlich bei Schleifen sowohl in der Realität auftreten können, als natürlich auch in der Prüfung. Also gerade bei so Grenzwerten, Array-Länge oder Array-Index und Altersbestimmung oder sowas, wo es um Grenzwerte geht, größer 18 oder größer gleich 18, was ist denn jetzt richtig? Diese klassischen Plus-Minus-Eins-Fehler, unbedingt darauf achten, die werden sehr häufig falsch gemacht, weil sie halt auch im wahren Leben sehr häufig falsch gemacht werden. Das ist ja jetzt hier keine künstliche Situation, sondern diese Probleme sind für Menschen ja häufig schwierig sofort zu erkennen und das ist in der Prüfung nichts anderes als im wahren Leben. [1:03:27] So, dann ein Problem, was ich sehr häufig sehe, was aber jetzt wirklich prüfungsspezifisch ist und zwar, dass Aufgaben zu abstrakt gelöst werden. Was meine ich damit? Du löst die Aufgabe nicht wirklich selbst, sondern du sagst, das macht der Computer für dich. Mein Beispiel wieder bei der Quersumme. Durchlaufe die Ziffern der Zahl. [1:03:45] Das ist etwas, das meines Wissens nach ein Computer nicht tun kann, weil er das nicht eingebaut hat. Der kann Modulo und Div und Plus, kann er alles, aber durchlaufe die Ziffern einer Zahl ist etwas, was er einfach nicht tun kann. Der kennt diesen Befehl nicht. Das heißt, den musst du weiter runterbrechen. Und da kannst du dich als Prüfling nicht hinsetzen und sagen, durchlaufe die Ziffern der Zahlen, summiere alles und dann löst du einen Algorithmus, der eigentlich sieben Zeilen lang sein müsste, in zwei. Und hier nehme ich gerne mein Zitat, sei nicht schlauer als die Prüfenden. Es geht nicht darum zu zeigen, wie geil du deine Programmiersprache beherrschst. Ich meine das überhaupt nicht abwertend. In der wahren Welt darfst du das alles jeden Tag einsetzen und da würde ich das sogar begrüßen und fände das richtig gut. Aber nicht in der Prüfung. In der Prüfung sollst du zeigen, dass du die Basics der Algorithmik beherrschst und dass du weißt, der Computer kann nicht einfach durch Zahlen die Ziffern iterieren und der Computer kann auch nicht Datum minus Datum rechnen. Das geht nur mit Int und Double und so weiter. Das heißt, das ist genau der Punkt, wo du zeigen musst, dass du weißt, was zu tun ist und dann zum Beispiel eben diese Modulo-Geschichte oder String umwandeln und so weiter machst. Und dieses zu abstrakt gelöst, das ist häufig ein Problem. Wir haben in einigen Aufgaben, hatte ich vorhin schon gesagt, sowas wie, ach übrigens, die Liste soll noch sortiert werden am Ende. Und dann schreiben dann halt einige Schlaumeier dahin, als letztes Statement, list.sort oder array.sort. [1:05:12] Und das ist genau das, was ich meine. Im Alltag würde niemand einen Sortieralgorithmus selber programmieren, weil das ist verschenkte Lebenszeit. Die gibt es halt fertig. Und deswegen macht man im Alltag natürlich Punktzort und interessiert sich meistens 0,0 dafür, welcher Algorithmus dahinter steckt. Ich will einfach nur die Liste sortiert haben. Aber in der Prüfung ist das halt anders. In der Prüfung sollst du halt zeigen, dass du selber eine Sortierung programmieren kannst. Und dann reicht es halt nicht, List.zort zu schreiben, sondern du brauchst halt ein Minimum irgendeinen ganz kurzen Sortieralgorithmus, und ich sage jetzt einfach mal so ein Bubblesort, je nachdem, wie prägnant du den schreiben kannst, sind vielleicht fünf, vielleicht sechs Zeilen. Du brauchst eine kleine verschachtelte Schleife mit einem Vergleich und einem Vertausch. Dann sind das vielleicht fünf, sechs, vielleicht sieben Zeilen. Und es ist halt eben nicht eine Zeile, List.sort. [1:05:58] Wäre das in der Realität ein lauffähiges Programm? Ja. Kriegst du dafür Punkte? Nein. Ja, weil das ist nicht die Aufgabenstellung. Du sollst nicht mit möglichst wenig Code mit einer realen Programmiersprache dieses Problem lösen. Das ist nicht das, was du hier zeigen sollst. Du sollst zeigen, dass du das Problem selbst lösen kannst und formulieren kannst, wie man es allgemeingültig lösen kann. Und wenn dazu eine Sortierung gehört, dann wird von dir erwartet, diese Sortierung selber zu coden in Pseudocode und nicht zu sagen, hier nimmst du die Funktion und da nimmst du diese Funktion. Das nehme ich jetzt am Beispiel sortieren, weil das schön nachvollziehbar ist. Das habe ich aber an ganz, ganz vielen Stellen in diesen Sorte-Code-Aufgaben schon gesehen, weil es gibt natürlich in den Programmiersprachen, die wir heute einsetzen, Bibliotheken ohne Ende, die alles das, was du in der IHK-Prüfung brauchst, natürlich für dich machen mit einer Zeile-Code. [1:06:48] Angenommen, die einzige Aufgabenstellung wäre für sieben Punkte, sortieren Sie diese Liste. Und du schreibst dann einfach hin Array.sort. Ich meine, wenn ich das dann sehe als Prüfling, da muss ich mir doch irgendwie überlegen, kriege ich wirklich für eine Zeile Code sieben Punkte? Kann das wirklich sein? Da muss es doch bei mir klingeln und sagen, okay, die wollen ja doch irgendwie was anderes haben. Das kann doch nicht sein, dass ich hier eine Zeile Code nur schreiben muss. Das ist vielleicht nochmal so ein Hinweis, der dir vielleicht auffallen sollte. Wenn du 25 Punkte für eine Programmieraufgabe kriegst und du löst die mit drei Zeilen, da kann irgendwas nicht stimmen. Das wollen wir dann wohl nicht sehen in dieser Aufgabe. Das heißt, in der Prüfung sollst du die absoluten Basic-Algorithmen sortieren, suchen, filtern, was auch immer. Die sollst du selber programmieren und die halt nicht an ein Framework delegieren. Weil sonst wäre, wenn du das dürftest, wäre ja die Frage, wo hören wir denn da auf? [1:07:46] Sortieren, okay, wenn das ein Teilalgorithmus ist, ja, gut. Aber angenommen, das, was du da programmieren sollst, das gesamte Problem wäre in deiner Programmiersprache in einer Bibliotheksfunktion verfügbar. Was weiß ich, jetzt ein anderes Beispiel zum Sortieren, weiß ich nicht, die Wurzel ziehen oder sowas aus einer Zahl. Dann kannst du natürlich in Java sowas machen wie math.squareroot. Und dann bist du fertig. Ja, und das kann man jetzt natürlich auf alle möglichen Probleme ausweiten. Wenn jetzt zum Beispiel deine Programmiersprache eine Funktion hat, um einen Haufen Rechnungen nach Rechnungsnummer zu sortieren, dann könntest du diesen Algorithmus ja einfach mit einer Zeile Code in der Prüfung lösen. Aber dann zeigt sich ja wieder, das funktioniert nur in genau deiner Programmiersprache mit genau deinem Framework und deiner Bibliothek. Und das ist wieder etwas, was der Prüfer oder Prüfende nicht nachvollziehen kann, weil das ja wieder super spezifisch für diese eine Sprache ist. Und genau das wollen wir ja gerade nicht. Wir wollen ja was Allgemeingültiges. Ein Algorithmus, den du in jeder beliebigen Programmiersprache umsetzen könntest und eben nicht spezifische Python, Java, C Sharp Features dafür brauchst. Das ist der Hintergrund der Prüfung. Das macht dir bitte immer bewusst. Und deswegen sage ich, sei nicht schlauer als die Prüfenden. Zeig nicht, wie geil du deine Programmiersprache kennst. Das ist nicht gefragt, sondern zeig, dass du das Problem lösen kannst. [1:09:01] Und anderes Beispiel, wo ich das wirklich schon häufig gesehen habe, das ist jetzt, das ist nur ein Beispiel und nur eine Kleinigkeit, aber es gibt Programmiersprachen, wenn ich zum Beispiel auf das letzte Element einer Liste oder eines Arrays zugreifen möchte, ja, dann kann ich sowas machen wie Array, eckige Klammer auf, minus 1, eckige Klammer zu. Also der Index minus 1 steht dann für das letzte Element des Arrays. In Java zum Beispiel geht das nicht. Da wäre Array minus 1 ein Fehler, weil minus 1 ist kein gültiger Index. Fängt bei 0 an, hört bei Länge minus 1 auf. Geht nicht. Aber es gibt halt Sprachen, die das anbieten. Und es gibt sogar recht viele Sprachen. Ich weiß es nicht auswendig, aber ich glaube Ruby, Python, JavaScript, da kann man es überall machen mit der minus 1. Bitte nicht darauf festnageln. So, und da sind wir jetzt bei einem Problem, weil das ist halt ein Feature, was es in vielen Sprachen gibt, aber eben nicht in allen. Und das erleichtert mir das Leben natürlich ungemein, weil ich kann einfach sagen Array minus 1 statt Array, Klammer auf, Array-Length minus 1. Ja, da muss ich halt weniger schreiben. Da machst du dir das Leben einfacher. Okay. Aber andersherum, wenn ich so eine Programmiersprache noch nie gesehen habe und zum Beispiel nur mit Java arbeite und überhaupt nicht weiß, dass es so etwas gibt. [1:10:08] Gut, dann kann man sich fragen, müssten die Prüfer und Prüferinnen das nicht wissen? Ja, bla bla bla, andere Diskussionen. Aber wenn ich es nicht weiß und ich kann einfach nicht alles wissen, ganz ehrlich, ja, ich kann nicht alle Features aller Programmiersprachen der Welt kennen, um dann bewerten zu können, ob du es richtig gemacht hast. Das heißt, wenn du so ein kleines Feature benutzen möchtest, frage bitte dich selber dreimal, versteht jemand anders das auch, der vielleicht nicht seit drei Jahren mit meiner Programmiersprache arbeitet? Und da gehören so Kleinigkeiten wie letztes Element des Arrays dazu. Und wenn du keinen Bock hast, das mit Array in Klammern Array Länge minus 1 zu machen, dann schreib doch einfach hin, x gleich letztes Element des Arrays. Das wäre gültiger Observer Code. Ja, es ist nicht notwendig, dass du das mit einer Programmiersprachenähnlichen Syntax machst, sondern du kannst einfach sagen, ich will hier das letzte Element des Arrays haben. Punkt. So, das versteht jeder Prüfende. Dafür brauchst du keine speziellen Python-Kennnisse oder sonst irgendwas. Ja, und das wird auch in Java funktionieren, weil letztes Element des Arrays abfragen, da würde ich dann als Java-Entwickler halt wissen, wie ich das mache und programmiere das halt schnell. Aber das Array in Klammern minus 1, da wüsste ich im Zweifel noch nicht mal, was du überhaupt von mir willst. Und das ist ein Problem, ja? Also sei nicht schlauer als die Prüfenden. Wie soll ich sagen? Delegiere deine eigentliche Programmieraufgabe nicht an [1:11:23] Bibliotheksfunktionen und verwende keine Schlaumeier-Funktionen in deiner Programmiersprache. Das wäre so kernzusammengefasst meine Empfehlung. [1:11:32] Genau das Gleiche gilt halt für moderne Programmierwerkzeuge, wie zum Beispiel in Java die Streams oder Link in C-Sharp, hatte ich auch schon mal original die Frage, könnte ich diese Aufgabe hier in der JAK-Führung nicht auch mit einem Link-Statement lösen? Ja, könntest du. Gib dir aber keine Punkte. Weil du sollst ja den Algorithmus formulieren, imperativ, Sequenz, Verzweigung, Wiederholung. Und Streams und Link und ich weiß nicht, wie es in anderen Problemen heißt, also wenn ich diese quasi Art der funktionalen Programmierung habe. Ich kann zum Beispiel listen, filtern und mappen und reducen und so dieses Prinzip. Was in vielen Sprachen inzwischen funktioniert. Aber das ist ja eher eine deklarative Sprache. [1:12:13] Und das ist ja auch cool, weil ich muss dann ja gar nicht wissen, wie das funktioniert. Und allein schon bei dieser Erklärung sollte dir klar werden, okay, ich muss gar nicht wissen, wie der Stream die Liste filtert, aber ich bin gerade in einer IHK-Prüfung, wo ich genau das zeigen soll, nämlich wie man eine Liste filtert. Dann musst du doch eigentlich auch hier irgendwo es klick machen und sagen, okay, das können die nicht von mir jetzt sehen wollen. Das heißt, wenn da sowas steht wie, sortier aus dieser Liste an Personen nur die männlichen raus, dann kann das nicht eine Zeile Code sein, Punkt Filter, where, Geschlecht gleich M oder so. Das wäre also der deklarative, in Anführungszeichen, wie ein SQL-Ansatz. Da musst du auch nicht wissen, wie die Datenbank das macht. Das macht SQL für dich. Aber hier geht es ja genau darum, zu zeigen, wie die Datenbank es machen würde, wenn du die Datenbank programmieren müsstest. Da kannst du nicht sagen, where, irgendwas, sondern musst du die gute alte Schleife rausholen, du musst die Elemente durchlaufen, du musst das Geschlecht vergleichen. Wenn ja, packst du es in die Liste, ansonsten nicht, und dann gibst du die Liste zurück. Und das ist der Algorithmus, den wir da sehen wollen. [1:13:13] Also, nicht abstrakt, nicht deklarativ, keine programmierspezifischen Sachen, sondern einfach nur die Basic Sequenz Verzweigung Wiederholung. Das benutzt du in den Aufgaben. Und dann holst du auch das Maximum der Punkte, im besten Fall alle. So, der letzte Punkt, das habe ich jetzt nicht so häufig gesehen, aber das wurde ich auch schon ein paar Mal gefragt. Muss ich hier die perfekt optimierte, performance-optimierte Lösung abgeben? Antwort nein. Warum kam die Frage? Gleiche Aufgabe, die Liste sollte am Ende sortiert werden. Muss ich da jetzt einen QuickSort implementieren? Weil der ist ja viel schneller als ein BubbleSort. Und dann sage ich, sowohl für die Prüfung als auch für die Praxis, Nein, das musst du nicht. Das interessiert kein Mensch, in welchen Sortiergruppen es du da benutzt. Das ist ein Problem, was nur dann ein Problem ist, wenn es sich als Problem in der Realität äußert. Was heißt das? [1:14:03] Wenn du eine Liste sortierst und in einem Webbrowser ausgeben willst über eine Web-Anwendung und es tatsächlich einen Unterschied macht in der Response-Time deiner Anwendung, ob du ein Quick-Sort oder ein Bubble-Sort nutzt, dann wird das ein Problem für dich. [1:14:19] In 99,9999999% deiner Poemier-Aufgaben wird das wahrscheinlich niemals ein Problem sein. Du könntest den Sortier-Algorithmus rauf und runter optimieren und ersetzen und hier noch eine Vorschleife kürzen und dies und das kannst du alles machen. Und am Ende hast du dann 3 Millisekunden Laufzeit rausgeholt, weil du deine Vorschleife perfekt optimiert hast. Und dann wird aber das Ergebnis deiner Sortierung über einen schönen REST-Aufruf in den Browser per HTTP übertragen und dann nochmal von JavaScript rausgerendert und mit CSS versehen und bla. Und der ganze Aufruf dauert 10 Sekunden. Aber in deiner Vorschleife hast du 10 Millisekunden eingespart. Herzlichen Glückwunsch. Das nennt man Premature Optimization. Das heißt, du fängst an, deinen Code zu optimieren, obwohl es noch nicht mal ein Problem gibt. Und da kann man als Entwickler Stunden und Tage mit verschwenden, ein Problem zu lösen, was es nicht gibt, nämlich einen zu langsamen Sortieralgorithmus zu optimieren. Und ich behaupte einfach, für diese Anwendung, die wir üblicherweise in der Prüfung und auch in der Praxis, für den Großteil der Zuhörenden hier wird das sicherlich gelten, ist es völlig irrelevant, ob du ein Bubble, einen Quick, einen Insertion oder einen Selection Sort nutzt. Das wird keinerlei Auswirkung haben, weil wenn überhaupt, reden wir hier von Unterschieden im Millisekundenbereich und in den normalen Anwendungen wirst du das niemals merken, ob es drei oder drei zehn Millisekunden gedauert hat. Das ist völlig irrelevant. [1:15:42] Solltest du zu der ganz besonderen Gruppe von Menschen gehören, die täglich mit drei Milliarden Datensätzen hantieren und die sortieren müssen, dann darfst du dich gerne mit den Vor- und Nachteilen der Sortierallgruppen auseinandersetzen. Ansonsten nimmst du einfach den Bubble Sort und gehst zum nächsten Problem. Und wenn irgendwann deine Anwender sagen, jetzt betreiben wir dieses ERP-System seit zehn Jahren und haben drei Millionen Datensätze in der Datenbank, jetzt wird es ein bisschen langsam. Dann kannst du dann in zehn Jahren den Sortierallgruppen optimieren. Aber nicht heute Stunden reinstecken, um Millisekunden rauszuholen. Das ist nicht nötig. Und vor allem ist es in der Prüfung nicht nötig. Wie gesagt, hier sollst du nur das Problem lösen, sortier die Liste. Und hier ist nicht das Problem, sortier die Liste möglichst schnell, sondern sortier die Liste. Und wenn du das mit einem Bubble Sort, den du auswendig in 10 Sekunden hinschreiben kannst, ich übertreibe jetzt, lösen kannst, dann machst du das. Weil dein Ziel in der Prüfung ist ja, möglichst viele Punkte zu holen und nicht einen Algorithmus auf Papier zu optimieren, den es sowieso nicht gibt, weil es gerade eine Prüfung ist. Das heißt, löst das Problem so einfach wie möglich. Es muss nicht schnell sein, es muss nicht schön sein. Es muss einfach nur funktionieren. [1:16:51] Also verschwende keine Zeit in der Prüfung mit irgendeiner Optimierung, die nicht notwendig ist. Löse einfach das Problem. Ende. [1:17:00] So, das war alles, was ich zu Pseudocode-Aufgaben zu sagen habe heute. [1:17:07] Wir fassen nochmal zusammen. Pseudocode-Aufgaben sollen dein algorithmisches Verständnis zeigen. Das heißt, sei nicht schlauer als die Prüfenden, zerlege das Problem in Teilprobleme, die du dann irgendwann mal mit einer Zeile Code lösen kannst. Guck drauf, wenn es 25 Punkte gibt, dass du auch ein paar mehr Zeilen hast als drei, um auch auf diese Punkte zu kommen. Schreib immer etwas hin, auch wenn du nicht so Ahnung hast, wie das Problem an sich löst. Ein Teilproblem wirst du immer lösen können. Denk dran, dass das von Menschen korrigiert wird, die verstehen müssen, was du dahingeschrieben hast. Benutze keine komischen Sprachfeatures, die nur du kennst oder eine ausgewählte Gruppe an Python-Entwicklerinnen, sondern jeder Mensch, der sich einigermaßen mit Programmierung auskennt, muss das verstehen können. Es gibt keinen Standard-Pseudocode. Du kannst hinschreiben, was du willst. Meine Empfehlung, nimm deine Lieblingsprogrammiersprache. Lass alles Unnötige drumherum weg, wie Klammern und so weiter. Achte aber auf saubere Einrückungen, damit man die Struktur des Codes weiterhin erkennt. Lass alles coole und abstrakte deiner Sprache weg. Reduzier dich auf Sequenz, Verzweigung und Wiederholung. Mach es nicht mit einem Aktivitäts-Zirgramm. Es ist zu aufwendig und schlecht zu korrigieren. Und wie bereitest du dich vor? Üben, üben, üben. Am besten mit alten Prüfungsaufgaben oder mit Online-Plattformen, wo du einfach Algorithmik, kleine Programmieraufgaben, wie zum Beispiel Project Euler, üben kannst. Und hol dir Feedback ein. Im besten Fall von einem Menschen, im zweitbesten Fall von einer KI, die dir sagt, was du besser machen kannst. Und achte auf die üblichen Fehler. Plus, minus eins. [1:18:31] Zu abstrakt gelöst. Gar nichts hinschreiben geht gar nicht. Immer was hinschreiben. [1:18:35] Das wäre so kurz gesagt nochmal zusammengefasst die Episode heute. [1:18:39] Ich hoffe, das hat dir ein bisschen geholfen. Vielleicht hat es dir auch ein bisschen die Angst vor den Aufgaben genommen. Aber im Endeffekt steht und fällt das, glaube ich, alles mit üben, üben, üben. Das heißt, fang nicht erst eine Woche vor der Prüfung an, die Dinger zu üben, sondern am besten, ehrlich gesagt, musst du sowas im ersten Ausbildungsjahr schon anfangen. Damit du bis zur Prüfung genug Zeit hast, das zu wiederholen, zu vertiefen, verschiedene Probleme auch schon mal gesehen hast, vielleicht sogar einen Teil wiedererkennst. Ach, das kann ich so und so machen, das habe ich schon mal gehabt und so weiter. [1:19:08] Die kannst du sehr gut bearbeiten mit Erfahrung. Und dafür musst du es aber auch mal gemacht haben. Also fang früh genug damit an. Das wäre meine Empfehlung. So, ich hoffe, du kriegst viele Punkte für die Psorocode-Aufgaben in deinen Prüfungen. Egal ob AP1, AP2, FISI, FIAE, ganz egal. Sind alle sehr ähnlich aufgebaut. Und damit wünsche ich dir viel Erfolg für deine Prüfung. Wenn du Feedback für mich hast, lass es mir gerne da als Kommentar unter der Episode. Die Shownotes inklusive Transkription und allem, was dazugehört, findest du natürlich wie immer unter itberufepodcast.de slash 195. [1:19:42] Und ja, wenn du es noch nicht gemacht hast, darfst du gerne meinen Newsletter abonnieren unter itberufepodcast.de slash Newsletter. Da bekommst du von mir eine Ausbildungsbegleitung über deine drei Ausbildungsjahre. Gilt übrigens auch für Ausbilder und Ausbilderinnen. Die kriegen dann auch immer regelmäßig E-Mails mindestens eine die Woche. Zum Beispiel zur Prüfungsvorbereitung. Das heißt, da solltest du normalerweise, zeitnah vor der Prüfung die Info kriegen, hey, hast du dich schon mal mit Pseudocode beschäftigt, damit du das nicht vergisst. Und das gibt es über die ganzen drei Jahre ungefähr einmal die Woche. Ist immer was dabei. Und ja, völlig kostenfrei. Kannst dich auch jederzeit wieder abmelden, wenn du keine Lust mehr drauf hast. Kannst dich also gern mal darum bemühen. Ja, und letzter Hinweis. Pseudocode ist natürlich eine super stark nachgefragte, Aufgabenvariante bei den Anwendungsentwicklerinnen, weil halt so schwierig und meistens viele Punkte. [1:20:28] Und falls du dich damit wirklich noch intensiver beschäftigen möchtest und nicht noch andere Möglichkeiten hast, das zu üben, ich habe einen Online-Kurs zur Vorbereitung auf die AP2 für Anwendungsentwicklerinnen. Den findest du unter. [1:20:43] Dieperfekteihkprüfung.de Das Üfung, bitte mit UE. Und da kannst du dich anmelden, wenn du Interesse hast. Da gibt es Stand heute zur Aufnahme nur ein paar Aufgaben zu Pseudocode, aber ich werde auch im Laufe der Zeit entsprechende Erklärvideos zu Pseudocode-Aufgaben dort hinterlegen, damit du es dir damit auch in Ruhe anschauen kannst. Ja, guck doch mal rein, wenn dich das interessiert und du die AP2 für Anmeldungsentwickler, ich sag’s nochmal ganz deutlich, noch vor dir hast. Ein paar andere Themen haben wir auch schon gemacht. Datenbankmodellierung, SQL natürlich und Testverfahren, Schreibtischtest, sowas, die sind auch schon online. Pseudocode wird auf jeden Fall zeitnah nachgereicht vor der nächsten AP2. Jetzt, wo ich das hier aufnehme, im Mai 2025 ist sie ja gerade erledigt. Aber ich denke mal, bis zur nächsten Winterprüfung wird es auf jeden Fall auch was zum Pseudocode dort geben. Ja, das war der letzte Hinweis und damit sage ich vielen Dank fürs Zuhören heute. Wir hören uns beim nächsten Mal und ja, bis denn. Tschüss. Der Beitrag Pseudocode in schriftlichen IHK-Prüfungen der IT-Berufe – IT-Berufe-Podcast #195 erschien zuerst auf IT-Berufe-Podcast .…
I
IT-Berufe-Podcast

1 Rückblick auf die AP1 im Frühjahr 2025 (nach neuem Prüfungskatalog) – IT-Berufe-Podcast #194 45:49
Ich analysiere die erste AP1-Prüfung nach dem neuen Prüfungskatalog in der einhundertvierundneunzigsten Episode des IT-Berufe-Podcasts. Inhalt In dieser Episode des IT-Berufe-Podcasts analysiere ich die erste AP1-Prüfung nach dem neuen Prüfungskatalog, die am 25.03.2025 stattgefunden hat. Mein Ziel ist es, die Inhalte dieser Prüfung zu diskutieren und wertvolles Feedback für die zukünftigen Prüflinge zu geben. Ich beginne mit einem Überblick über die Reaktionen und Ängste, die in der Vorbereitungszeit zirkuliert sind, und stelle klar, dass viele Bedenken unbegründet waren. Die Prüfung selbst war im Großen und Ganzen machbar und entsprach den Vorgaben des neuen Katalogs, ohne unangekündigte Überraschungen. Ich gehe im Detail auf die einzelnen Themen und Aufgaben ein. Hierzu zählen unter anderem die Nutzwertanalyse, Rechenaufgaben, Hardware-Zuordnungen und Subnetting. Besonders hervorheben möchte ich die Nutzwertanalyse, die auch in dieser Prüfung wieder zahlreiche Punkte eingebracht hat. Es hat sich gezeigt, dass viele Aufgaben, trotz anfänglicher Unsicherheiten, gut zu bewältigen waren. Ich erläutere, dass diese Aufgaben durch logisches Denken und grundlegendes IT-Wissen gelöst werden konnten. Ein weiterer wichtiger Aspekt war die IT-Sicherheit, die in verschiedenen Aufgabenformaten behandelt wurde. Ich betone die Relevanz der DSGVO in der Datenverarbeitung, insbesondere im Hinblick auf die rechtlichen Vorgaben beim Versand von E-Mails. Auch das Thema KI kam zur Sprache, wobei ich den Prüflingen empfehle, sich mit grundsätzlichen Anwendungsfeldern und ethischen Fragestellungen auseinanderzusetzen. Ich werfe einen Blick auf den Schreibtischtest, wo die Prüflinge einfache Programmiersprachen und Algorithmen durchgehen mussten. Hier war es entscheidend, den Code Zeile für Zeile zu analysieren und die richtige Auswertung vorzunehmen. Diese Aufgaben sind für viele Prüflinge möglicherweise eine Herausforderung, aber mit den richtigen Vorbereitungsmaterialien sind sie machbar. Zusätzlich gehe ich auf die Relevanz von Protokollen wie IMAP und POP3 ein und kläre die Unterschiede zwischen diesen wichtigen Technologien. Ich erläutere weiter, dass der von der Prüfung geforderte Wissenstand sowohl spezifisches Detailwissen als auch allgemeines Verständnis für IT-Themen erforderte. Zusammenfassend lässt sich sagen, dass die AP1 eine faire Prüfung war, die weitestgehend den Erwartungen entsprochen hat. Ich mache den Zuhörern Mut, sich ebenfalls auf die kommenden Prüfungen gut vorzubereiten und die Angebote meiner Website zu nutzen, um stets auf dem neuesten Stand zu bleiben. Die Themen und Inhalte sind aktuell und gewährleisten eine optimale Vorbereitung für die nächsten Prüfungszyklen. Links Permalink zu dieser Podcast-Episode RSS-Feed des Podcasts Nutzwertanalyse in der Projektdokumentation Subnetting mit IPv4 für Fachinformatiker:innen – IT-Berufe-Podcast bei YouTube Datenschutz vs. Datensicherheit vs. Datensicherung – IT-Berufe-Podcast #157 Kryptographie – Schutzziele und Verschlüsselung – Anwendungsentwickler-Podcast #131 Kryptographie bzw. Verschlüsselung für IT-Berufe (AP1/AP2) – IT-Berufe-Podcast bei YouTube Kryptographie – Hashverfahren und elektronische Signatur – Anwendungsentwickler-Podcast #132 Der eigene Webserver (Teil 2: Absicherung von SSH) – Anwendungsentwickler-Podcast #89 Ports und Protokolle (Netzwerkgrundlagen) – Anwendungsentwickler-Podcast #141 Normalisierung – Häufige Fragen im Fachgespräch – Anwendungsentwickler-Podcast #18 Transkription der gesamten Episode [0:05] Einführung in die AP1 2025 [0:00] Herzlich willkommen zum IT-Berufe-Podcast, dem Podcast rund um die Ausbildung in den IT-Berufen. In dieser Episode gibt es einen Rückblick auf die AP1 im Frühjahr 2025 nach neuem Prüfungskatalog. Viel Spaß! [0:13] Hallo und herzlich willkommen zur 194. Episode des IT-Berufe-Podcasts. Mein Name ist Stefan Macke und heute gibt es mal eine zeitnahe Episode im Gegensatz zu den sonstigen, eigentlich eher zeitlosen Episoden. Letzte Woche ging es ja hier noch um Miete, Leasing und Kauf. Das ist ja fast schon seit 100 Jahren zeitlos. Aber heute mal eine ganz aktuelle Episode, denn genau heute, wenn ich diesen Podcast auch veröffentliche, am 25.03.2025 wurde die erste AP1 nach neuem Prüfungskatalog geschrieben. Und dazu hatte ich ja vor ein paar Wochen schon mal ein paar Episoden, ich glaube zwei, aufgenommen zu AP1 und 2. Und auch meine Website, da gibt es jetzt ja einen neuen Bereich, wo die ganzen letzten Prüfungsthemen drinstehen und so weiter und so fort. Prüfungskatalog neu, meine Themenliste neu und so. Und ich habe ja auch noch in den letzten Wochen einen Prüfungsvorbereitungskurs gemacht mit mehreren Teilnehmenden rund um die AP1. Und da dachte ich mir, okay, das lohnt sich, dass wir vielleicht mal einmal [1:10] Rückblick auf Prüfungsinhalte [1:06] in der Rückschau auf diese besondere neue Prüfung draufschauen. Wobei so viel besonders ist sie gar nicht. Ich spoiler das schon mal. Die Themen waren jetzt keine Riesenüberraschung. Und es wurde auch nicht hintenrum doch nur was untergejubelt, was laut Katalog nicht mehr vorkommen durfte oder so. Also das war alles relativ human. Aber wenn natürlich im Vorfeld viele durchgedreht sind. Und oh mein Gott, ich werde die IHK verklagen. Ja, das hört man sonst eigentlich immer nur nach den Prüfungen. Jetzt gab es das auch schon vor den Prüfungen, weil dieser Prüfungskatalog ja verändert wurde und so. [1:36] Und ja, ist natürlich alles nicht ganz so sinnvoll. Aber wie dem auch sei, es gilt der neue Prüfungskatalog. Und es hat sich auch gezeigt in dieser Prüfung, dass er tatsächlich galt und nicht, wie einige schon meinten. Also ich weiß ja nicht mehr, wo sowas herkommt dann. Aber diese Verschwörungsmythen rund um die Prüfung, das ist echt der Wahnsinn. Ja, ich habe aus internen Quellen gehört, dass die Prüfungen eigentlich schon zwei Jahre vor dem Termin feststehen und deswegen werden ja wahrscheinlich auch noch Themen drankommen, die laut neuem Prüfungskatalog gar nicht drankommen und da wurden irgendwelche Fristen versäumt und in Wirklichkeit sind das ganz andere Themen und kurz zusammengefasst, muss ich das alles noch lernen oder nicht? Und also es gibt da ja wirklich die wildesten Geschichten im Chat, auf den Websites und so weiter. Es ist wirklich verrückt. Also ich würde für die Zukunft, und das ist glaube ich so das Learning aus dieser Prüfung, mal einfach davon ausgehen, wenn auf einer offiziellen Website, nämlich namentlich dem IAKAKA steht, die nächste Prüfung ist nach diesem Prüfungskatalog zu schreiben. [2:31] Dann darf man davon ausgehen, dass das auch stimmt. Ja, das heißt, anstatt sich stundenlang im Internet wütend zu reden oder zu schreiben, ob das denn alles überhaupt sein kann, einfach mal die Fakten akzeptieren und sich auf die Prüfung vorbereiten und fertig. Und ehrlich gesagt, ich glaube, das ist meine persönliche Vermutung. Ich kann natürlich nicht für alle Prüflinge sprechen, die die Prüfung geschrieben haben, aber wenn man sich die Prüfung im Detail anguckt… Könnte ich mir vorstellen, dass die meisten Prüflinge eher erleichtert waren und da jetzt nicht solche Hardcore-Hammer-Themen drin waren, dass alle sagen, oh mein Gott, es war die schwerste Prüfung ever. Im Gegenteil, ich habe jetzt schon von einigen Seiten gehört, dass es sogar fast mit eine der leichtesten Prüfungen der letzten Jahre war. Aber die Einschätzung ist immer subjektiv, da will ich auch gar nichts zu sagen. Vor allem, wenn man die Prüfung selber schreibt, da kann man immer schlau schnacken. Alle fanden die einfach, ja, aber ich saß da und musste die schreiben und für mich war es halt trotzdem schwierig so. [3:19] Also von daher, solche subjektiven Sachen, da kann ich wenig zu sagen. Aber ich aus Prüfersicht würde auch die Aufgaben so einschätzen, [3:29] Feedback zur Prüfungsstruktur [3:26] dass sie alle machbar waren. Sie waren alle vom Prüfungskatalog abgedeckt. Übrigens auch vom alten Prüfungskatalog. Also es sind jetzt keine neuen Themen drin gewesen, die nicht schon seit Jahren hätten abgefragt werden können. Das mal kurz vorweg. [3:37] Genau, aber es ist zumindest nicht so passiert, dass Sachen, die offiziell gestrichen wurden, sogar in der Einleitung des Prüfungskatalogs, zum Beispiel SQL und RAID, ist halt jetzt einfach in die API 2 verschoben worden. Und dazu kam auch nichts mehr dran. Dafür wurde halt sowas wie KI durchaus mit mehreren Punkten auch abgefragt. Ich glaube, es waren drei oder vier Teilaufgaben, insgesamt zwölf Punkte. Durchaus ein großer Anteil an so einer Prüfung. Allerdings noch getoppt vom Schreibtischtest. Ich glaube, den hatten jetzt nicht so viele so auf dem Zettel, vor allem, dass es dafür so viele Punkte gab, nämlich 14 Punkte. Es waren zwei Teilaufgaben. Ich glaube, wenn ich es richtig überblickt habe, war das der Themenbereich, der am meisten Punkte diese Prüfung gab. 14 Punkte Schreibtischtest. Wobei, Schreibtischtest war ja auch immer so das große Unbekannte. Oh mein Gott, was kommt da dran? Letztlich ist es genauso gekommen, wie ich es auch schon immer vermutet habe. Und ich glaube auch an mehreren Stellen im Kurs zumindest auch immer gesagt habe, Es gibt ein Stückchen Code, spielt den mit Eingaben durch und schreibt auf, was rauskommt. Und genau so war es auch. Also dafür muss man jetzt nicht großartig programmieren können. Und wenn man sich den Code anguckt, da ist gut, es sind ein paar verschachtelte If-Statements gewesen im zweiten Code. Aber das ist jetzt nicht so super schwierig, dass man den Algorithmus erstmal eine halbe Stunde verstehen muss. Also naja, nun, ich greife etwas vorweg. [4:42] Warum mache ich das heute hier? Also ich möchte einfach so ein bisschen allgemeines Feedback nochmal zur Prüfung geben. Und es war ein einziges Thema dabei, was ich noch nicht auf meiner Themenliste explizit stehen habe und was ich auch nach Suche im Prüfungskatalog so nicht explizit gefunden habe. Und ich glaube, dafür gab es aber nur zwei Punkte oder drei. Und zwar das Thema Redundanz. Keine Angst, habe ich natürlich auf meiner Liste für die nächste AP1 schon ergänzt. Und übrigens, ich habe auch die Prüfung schon in meiner Themen der letzten IHK-Prüfungenseite aktualisiert. Das heißt, mit Punkteauswertung, wofür gab es welche Punkte und so, ist alles schon drin in der Liste, in der Datenbank. Das heißt unter itberufe-podcast.de slash Themen IHK. Es ist, glaube ich, mit großem T und großem IHK. [5:22] Ansonsten, wie immer im Menü verlinkt, habe ich jetzt ja schon zahlreiche Visuen zugemacht. Da ist das schon mit eingebunden, die heutige Prüfung. Da sieht man auch noch mal grob, welche Themen heute dran kamen. Und ich würde einfach mal kurz ein paar Themen überfliegen und kurz mein Feedback dazu abgeben, was ich glaube, was vielleicht Probleme waren oder nochmal einfach kurz das Thema erklären, weil ich es bislang noch an keiner Stelle erwähnt habe. So, das war eigentlich mein Ziel für heute. Und was ich auch schon mal vorbereitet habe, kannst du in den Shownotes zu dieser Episode natürlich anschauen. Zum Großteil der Themen würde ich inzwischen schon sagen, obwohl ich die Punkte jetzt nicht gezählt habe, aber ich würde sagen, für die meisten Aufgaben habe ich tatsächlich schon passendes Lernmaterial online. schon teilweise seit Jahren, sei es eine Podcast-Episode oder ein YouTube-Video. Und ich habe mal einige auch in den Shownotes hier verlinkt, um das zu beweisen, in Anführungszeichen, dass das, was ich da die ganze Zeit mache, eigentlich auch tatsächlich prüfungsrelevant ist. Überraschung. Ich denke mir das nicht einfach aus, dass zum Beispiel Kryptografie und Verschlüsselung in so einer Prüfung drankommen kann. Die kam nämlich zufällig dran. [6:18] So, das heißt, meine Website ist aktuell, Themenliste ist aktuell, [6:23] Themenübersicht der AP1 [6:21] für die nächste API 1 ist alles aktuell, Punkte sind aktuell. Also ich habe meine Website aktualisiert und jetzt würden wir einfach mal von vorn bis hinten so ein bisschen die Prüfung durchgehen. Nein, keine Angst, ich gehe nicht jede Berechnung durch und erzähle, wo was genau rauskommt. Das ist ja wirklich völlig überflüssig. Sobald die Lösungen irgendwo verfügbar sind, ist diese Podcast Episode überflüssig. Also das will ich nicht machen. Sondern ich gehe einzelne Sachen durch und erkläre vielleicht nochmal kurz den Hintergrund. Wenn man jetzt heute geschrieben hat, dass man nochmal weiß, was man vielleicht hätte schreiben sollen. Aber ich gehe jetzt nicht jede Berechnung durch und sage, wo man 3% oder 4% hätte rechnen sollen. Also so genau will ich es nicht machen. Sondern es soll so ein bisschen Überflug über die Themen sein und ein kurzer Recap und ich hoffe mit ein bisschen Lessons Learn für die nächste API 1, für alle, die das noch vorhaben, damit man wenigstens auch in einem Jahr noch ein bisschen was mit dieser Episode anfangen kann. Das ist mein Ziel für heute. Mal gucken, wie gut das klappt. Ich würde sagen, wir legen los. [7:09] Klassische Nutzwertanalyse [7:10] So, dann starten wir doch einfach mit der ersten Aufgabe und das war so eine ganz klassische Nutzwertanalyse. Eigentlich war es keine Nutzwertanalyse, es war noch weniger als eine Nutzwertanalyse. Es war, wie heißt das Ding hier, Bewertungs- oder Entscheidungsmatrix. Aber es hatte einen ganz klaren Anschein an der Nutzwertanalyse. Deswegen habe ich das in meiner Themenliste und was gab, wie viele Punkte auch direkt unter Nutzwertanalyse zusammengefasst. Und das untermauert nochmal die Vormachtstellung der Nutzwertanalyse als Punktegeber Nummer 1 in den bisherigen AP1. Denn ja, der Abstand ist jetzt noch ein bisschen gewachsen. Also auf Platz 1 der Themen mit den meisten Punkten der AP1 bleibt die Nutzwertanalyse, weil ich diese Aufgabe dazu zähle. In diesem Fall ging es tatsächlich nicht darum, bestehende Zahlen einfach einzutragen, sondern selber auf Basis von Vorgaben, zum Beispiel, ich glaube es ging hier um Multifunktionsgeräte, um einen Drucker. [7:58] Wenn da steht, wie schnell der druckt, wie viele Seiten, die Minuten und so weiter, dann drei verschiedene Geräte zu vergleichen und dem besten Gerät drei Punkte zu geben und dem schlechtesten eins oder irgendwie so etwas. Also es war quasi das Füllen der Nutzerwirtanalyse. Habe ich es so als Aufgabenstellung auch noch nicht gesehen. Ich meine, das war jetzt nicht großartig schwierig. Man musste gucken, wer hat die meisten Seite, die Minute und der kriegt dann die meisten Punkte und wer weniger hat, kriegt weniger. Also das war jetzt, ich bin jetzt mal, das hört sich immer blöd an, aus Prüfersicht kann man immer viel schnacken, aber ich finde, das waren absolut geschenkte Punkte, ganz ehrlich. Da muss man ja im Prinzip nichts mit IT wissen, sondern ich gucke mir einfach an, hier ist mal ganz blöd gesagt, was ist die größte Zahl oder was ist die kleinste Zahl in der Tabelle? Und dafür gebe ich dann entweder ein, zwei oder drei Punkte in der anderen Tabelle, wo ich sie eintragen muss. Und das aus meiner Sicht absolut geschenkte Punkte. [8:45] Aber nichtsdestotrotz, Nutzwertanalyse bleibt auf Platz 1. Und dazu habe ich natürlich schon vor Jahren ein Blogartikel geschrieben, wie man die denn eigentlich richtig ausfüllt, die Nutzwertanalyse. da sie ja auch in Abschlussprojekten der IT-Berufe immer gern genutzt wird, gern mal reinschauen. Genau, ansonsten ging es weiter mit ein bisschen Rechenaufgaben und die überspringe ich jetzt tatsächlich komplett. Also ich werde jetzt hier nicht vorrechnen, [9:06] Rechenaufgaben und Mathematik [9:04] 10 Euro plus 11 Euro geteilt durch irgendwas. Das finde ich maximal sinnfrei für so einen Podcast, deswegen überspringe ich die nächste Aufgabe. Aber im Prinzip war es Basic Mathematik. Wie viele Seiten pro Monat mal Anzahl Tage mal Kosten und es war ein bisschen Multiplikation und dann summieren und das war’s. So, dann ging es in den Bereich Hardware, Es gab aber nur wenig Punkte, ehrlich gesagt. Und zwar sollte man Anschlüsse zuordnen. Und tatsächlich auch ein paar Anschlüsse, die vorher zumindest noch nicht in der Prüfung dran waren. Zum Beispiel so ein guter alter Stromanschluss. Und ehrlich gesagt, ich wusste nicht, wie der heißt. Tatsächlich, da habe ich auch was dazu gelernt. Der heißt wohl Kaltgerätebuchse. Habe ich noch nie gehört. Aber durch Ausschlussverfahren hätte man die anderen, da war dann sowas offensichtliches wie USB-C und RJ45 dabei, hätte man durch Ausschlussverfahren darauf kommen können, dass das Ding so heißt. [9:50] Und da gab es noch zwei kleine Symbole, Wi-Fi-Symbol und Bluetooth und man sollte einfach daneben schreiben, wie die heißen. Also auch aus das, ja, wie soll ich sagen, geschenkte Punkt, wenn man es noch nicht gesehen hat, halt schwierig, aber ich würde behaupten, diese Anschlüsse sind im Alltag einfach auch so präsent und die Symbole vor allem auch. Also ich glaube, so ein WLAN-Symbol, das wird sogar meine Oma erkennen quasi und die hat nicht mal ein Handy. Also das ist ja so prominent, dafür muss man keine IT-Ausbildung machen. Und die anderen, gut, die sind dann halt eher etwas technischer. Aber USB-C, USB-A, glaube ich, hat, glaube ich, auch schon jeder Mensch inzwischen mal irgendwo in der Hand gehabt. [10:23] Subnetting und IP-Adressen [10:20] Zumindest, der mal einen Computer hatte. Deswegen so schwer war das jetzt nicht. So, und dann kommen wir zu einem meiner Lieblingsthemen, und zwar Subnetting. Eigentlich gab es da nur zwei Punkte für. Und ich finde ja manchmal einfach das Verhältnis von Text, was man lesen muss, um dann zwei Punkte zu bekommen, echt Wahnsinn. Und hier ist es auch so, es gibt ein Schaubild mit IP-Adressen und dann ist da was erklärt und so. Und am Ende gibt es dafür dann zwei Punkte, dass ich dann eine IP-Adresse eintrage. Also, das ist manchmal vom Verhältnis, ich glaube, in der Aufgabe davor, wo ich die Anschlüsse zuordnen musste, habe ich für jedes Wort auch einen Punkt gekriegt. Und hier muss ich erstmal eine halbe Seite Text lesen, um dann zwei Punkte zu kriegen. Also, das ist manchmal ja echt verrückt, was so Kosten-Nutzen-Effekt bei den Aufgaben ist. Und mit Kosten meine ich Lesezeit und Nutzen, die Punkte, die ich kriege. [10:59] Naja, auf jeden Fall habe ich das Subnetting zugeordnet, weil es ging darum, einer Arbeitsstation, glaube ich, eine IP-Adresse zu vergeben. Und dazu muss man wissen, welche denn überhaupt erlaubt sind. Und dann stand einfach, geben Sie die letzte freie IP-Adresse. Aber ach nee, doch nicht. Die letzte wurde noch irgendwie für ein Gateway oder sowas benutzt. Das heißt, das Thema ist schon Subnetting, weil es war ein IP-Bereich mit Subnet-Maske angegeben. Und als erstes hätte man jetzt ausrechnen müssen, was ist denn überhaupt der frei vergebbare IP-Bereich? und das war eine Slash-26er-Maske. Das jetzt auf der Tonspur zu erklären, ist nicht so gut nachvollziehbar, deswegen spare ich mir das, aber das Vorgehen wäre gewesen. Subnet-Maske anwenden, in welchem Subnet sind wir und was ist die höchste und die niedrigste IP-Adresse und dann schauen wir uns an, was ist die Broadcast- und die Netzadresse. Das wissen wir hoffentlich noch aus IPv4 und zwar ist immer die geringste, die kleinste Adresse, also alle Bits auf 0, die Netzadresse und die, wo alle bis auf 1 sind, ist die Broadcast-Adresse. Die darf natürlich nicht vergeben werden beide. [11:57] Deswegen nehmen wir dann quasi zwei weniger von den IP-Adressen, die wir vergeben können. Und jetzt war es hier so, dass davon die letzte Adresse schon vergeben war für ein Gateway. Das heißt, man hätte noch einen abziehen müssen. Und somit war das dann die vorletzte IP-Adresse. Und das hätte man jetzt einfach ausrechnen können. Zwei abziehen und dann wäre es das gewesen. Dafür musste ich aber das Hintergrundwissen haben, dass es eine Broadcast- und Netzadresse überhaupt gibt und dass die letzte Adresse dann halt schon minus 1 ist und ich deswegen minus 2 rechnen muss. Das heißt, ich zähle das ganz klar zu Subnetting, denn ohne dieses Hintergrundwissen hätte ich das nicht richtig beantworten können. [12:31] IT-Security und Datenschutz [12:31] So, dann nächster Punkt, da ging es um IT-Security, aber ich habe das bei meinem Stichwort unter Englisch zusammengefasst, weil es ist einfach ein englischer Text und man sollte ein paar Sachen da raussuchen. Also dafür muss ich ehrlich gesagt keine Ahnung von IT-Security haben. Ich konnte es einfach übersetzen und aufschreiben. Gut, dann vielleicht eine ganz interessante Frage, wie es ist, warum man Endbenutzern auf dem Rechner keine Admin-Rechte geben sollte. Das finde ich eigentlich ganz cool, habe ich so in Prüfung auch noch nicht gesehen. Selbst wenn man jetzt keinen Hintergrundwissen hätte, kann man sich überlegen, warum das nicht sinnvoll ist. Und Antwort ganz kurz und knapp, wenn ich mir eine Schadsoftware einfange, dann arbeite ich natürlich mit meinen Benutzerrechten. Und wenn ich Admin-Rechte habe, ja, dann kann diese Schadsoftware natürlich auf dem Rechner machen, was sie will. Kann alles löschen, umbenennen, Benutzer anlegen, sperren, was auch immer. Das heißt, Schadsoftware arbeitet immer in dem Kontext des Benutzers, der die Schadsoftware startet. Und wenn der Admin-Rechte hat, hat die Schadsoftware auch Admin-Rechte. Deswegen keine gute Idee, damit zu arbeiten. Joa, dann kommen wir schon zum zweiten Handlungsschritt, zur zweiten Aufgabe. [13:28] Public Key Infrastructure [13:26] Heißt das ja, ich habe im Kopf immer noch Handlungsschritte, weil das früher so hieß. Und hier ging es jetzt so ein bisschen um Security. Und dazu tatsächlich genau zu diesem Kram, was da abgefragt wurde, hatte ich ja schon vor Jahren auf jeden Fall. Nicht nur Podcast-Episoden, sondern auch noch inzwischen YouTube-Videos online, die das genau erklären mit PKI, also Public Key Infrastructure, also asymmetrische Verschlüsselung. Darum geht es. [13:47] Was passiert oder wie kriege ich es hin, dass ich eine E-Mail an einen, in diesem Fall Geschäftspartner oder Mandanten, es ging hier irgendwie um Anwälte, die mit ihren Mandanten kommunizieren, wie kriege ich es hin, die E-Mail dahin zu verschlüsseln? Und dazu muss ich wissen, dass es zwei Schlüsselpaare gibt, mit welchen wird was verschlüsselt, wer schickt wo was hin. Also genau die Inhalte meines Erklärvideos habe ich natürlich in den Show Notes verlinkt. Übrigens, die findest du unter itberufe-podcast.de slash 194 für die heutige 194. Episode. So, einleitend in diesen Handlungsschritt ging es aber darum, folgendes Szenario, Rechtsanwalt und Mandant möchten gerne E-Mails austauschen. Gibt es dafür besondere Vorgaben rechtlicher Art? Also muss man irgendwas einhalten? Und die Antwort war, wie so oft bei solchen Fragen, Datenschutz. Das heißt, die rechtliche Grundlage ist natürlich die DSGVO. Und da werden natürlich besonders schützenswerte Daten definiert und sowas wie Mandantenverhältnis bei einem Rechtsanwalt zählt natürlich darunter. Da geht es nicht nur um die personenbezogene Daten der Mandanten, sondern natürlich auch, wenn es zum Beispiel um Straftaten geht oder so, natürlich extrem schützenswerte Daten. Das darf natürlich niemand anderes mitbekommen. Und deswegen, grundlage, rechtliche Grundlage ist DSGVO. Und dann war noch die Frage, was ist denn eigentlich der Zweck der DSGVO? Und ja, da geht es natürlich darum, personenbezogene Daten vor dem Missbrauch von Dritten zu schützen, wie in meiner Podcast-Episode zum Thema Datenschutz vor Jahren schon erklärt. Also auch hier wieder zeitloser Content, der immer mal wieder in der Prüfung rankommen kann. Sehr gut. [15:08] So, dann hatten wir die Geschichte mit dem, also kurz um es zu erklären, der Anwalt soll jetzt dem Mandanten eine E-Mail schicken, wie kriegt er es hin und dass die verschlüsselt ankommt. Dazu muss erstmal der Mandant tätig werden und ein Public und Private Key Paar generieren und dann muss er seinen öffentlichen Schlüssel dem Anwalt zuschicken, damit der den hat. Das heißt, wenn ich dem Mandanten was schicken will, muss als erstes der Mandant etwas tun. Der muss mir nämlich seinen öffentlichen Schlüssel schicken. Und mit diesem Schlüssel kann ich dann die E-Mail in diesem Fall verschlüsseln. Und dann schicke ich die raus. Und dann ist ja durch Private Key Pair gewährleistet, dass diese E-Mail nur mit dem privaten Schlüssel des Mandanten wieder entschlüsselt werden kann. Und damit ist die Vertraulichkeit gewährleistet, weil nur der Mandant, der seinen privaten Schlüssel, den er natürlich nie, nie, nie aus der Hand gibt, damit diese E-Mail wieder entschlüsseln kann und nur er die lesen kann. Das ist so grob der Ablauf gewesen. Also Mandant sendet seinen öffentlichen, nicht privaten, öffentlichen Schlüssel rüber. Der Anwalt verschlüsselt die Mail damit, sendet die E-Mail rüber und der Mandant entschlüsselt mit seinem privaten Schlüssel. Und fertig. Und dann haben wir den Bezug zu den Schutzzielen der IT-Sicherheit hinbekommen. Alles natürlich in meinem Podcast zum Thema Datenschutz, Datensicherheit und Datensicherung erklärt. Und da gibt es die Schutzziele. Und was ist damit erreicht worden? Die Vertraulichkeit. Das ist das Schutzeil, was erreicht wird, denn nur der Mandant kann die E-Mail lesen. Das ist vertraulich. Und jetzt war noch die Frage ganz allgemein. Was sind Vor- und Nachteile der asymmetrischen und symmetrischen Verschlüsselung? Auch das habe ich natürlich alles schon mal erklärt, sogar im YouTube-Video. [16:35] Und Vorteil der symmetrischen Verschlüsselung erstmal ist, dass sie grundsätzlich ein bisschen schneller ist, weil die Schlüssel nicht so lang sind. Die sind ja komplett geheim. Bei der symmetrischen Verschlüsselung gibt es nur einen einzigen Schlüssel, der beiden Seiten bekannt gemacht werden muss. Und da er wirklich komplett geheim ist, kann er kürzer sein. Also bei der asymmetrischen, denn dort wird eben mit privatem und öffentlichen Schlüssel gearbeitet, also mit einem Schlüsselpaar. Der Vorteil bei der asymmetrischen Verschlüsselung ist, dass ich diesen Public Key, den öffentlichen Schlüssel, halt durch die Gegend schicken kann und jeder den einsehen darf. Das heißt, der Schlüsselaustausch ist extrem einfach. Ich muss nämlich einfach nur den Schlüssel hinschicken und bin fertig. Das kann ich beim symmetrischen Verfahren nicht, weil dann hat jeder andere ja auch den Schlüssel und kann alles wieder entschlüsseln. Ja, also grundsätzlich wollen wir gerne symmetrisch verschlüsseln, weil das schneller ist, Aber der Schlüsselaustausch ist ein Problem und deswegen nutzen wir die asymmetrische Verschlüsselung, um einen symmetrischen Schlüssel auszutauschen. Das ist eigentlich die Idee, zum Beispiel bei HTTPS. In diesem Beispiel mit den E-Mails sparen wir uns jetzt den symmetrischen Schlüssel, sondern nehmen einfach den öffentlichen des Mandanten und dann ist da sichergestellt, [17:37] Vor- und Nachteile der Verschlüsselung [17:34] dass nur er das mit seinem privaten Schlüssel entschlüsseln kann und lesen kann. Das heißt, Vertraulichkeit wird auch da ausschließlich über das asymmetrische Verfahren gewährleistet. Aber hier ging es ja darum, ganz allgemein Vor- und Nachteile aufzuzeigen. [17:47] So, dann kam noch was dran, was ich wirklich rein zufällig gestern Abend vor der Prüfung noch mit einem meiner Azubis durchgeführt habe, und zwar Open Source Software und proprietäre Software. Ach, herrlich, ich liebe es, wenn Sachen, die wir für die Prüfung lernen, auch in der Prüfung drankommen, das mag ich richtig gern. Und da ist jetzt die Frage, zwei Vor- und Nachteile dieser beiden Lizenzmodelle, also Open Source und Proprietär. Open Source heißt ja im Prinzip vom Wortsinn schon, der Source, der Quelltext der Software ist offen. Das heißt, ich kann da reinschauen, ich kann den gegebenenfalls auch anpassen, erweitern, korrigieren, wenn er fehlerhaft ist und vor allem verstehen. Und meistens bedeutet das auch, dass ich die Open-Source-Software kostenfrei nutzen kann. Das ist zumindest bei vielen Open-Source-Produkten so. Im engeren Sinne eigentlich nicht, weil es geht noch um die Lizenzen, die noch dahinter hängen. Aber Open-Source geht man erstmal davon aus, dass sie auch kostenfrei nutzbar ist. Während proprietäre Software von einem Hersteller kommt, der seine Spezifikationen zum Beispiel auch nicht offenlegt, der hat sich da einfach was Tolles ausgedacht und sagt es keinem weiter, wie es funktioniert. [18:43] Dafür liefert er uns aber auch, natürlich gegen Zahlung von Lizenzgebühren, gegen Geld, Zum Beispiel Support dafür. Das heißt, als Beispiel, ich habe irgendein proprietäres Windows-Programm entwickelt, dann würde ich von diesem Hersteller dafür auch Support bekommen, weil ich kann es ja nicht selber heile machen, wenn es kaputt ist. Ich kann ja nicht in den Code gucken. Das heißt, ich kriege natürlich ein bisschen eine bessere Dienstleistung, sage ich mal. Ich muss mich auch nicht mit dem Source beschäftigen, wenn ich zum Beispiel kein Entwickler, keine Entwicklerin bin. Das heißt, ich habe es ein bisschen einfacher, aber das bezahle ich halt mit Lizenzgebühren. Also hat beides Vor- und Nachteile, haben wir jetzt ein paar genannt. [19:13] Open Source vs. Proprietäre Software [19:14] So, dann nochmal weiterhin zu IT-Security. Also das ist alles noch zum Thema [19:20] Hash-Verfahren und Datenintegrität [19:18] IT-Security, wobei die Lizenzen eigentlich nicht. Aber jetzt kommen wir nochmal zurück zur Security und zwar zum Hash-Verfahren. Es sollte erklärt werden, warum zum Beispiel auf einer Website, wenn ich da eine Datei runterlade und daneben steht der Hash dieser Datei, wobei mir das hilft oder warum die das auf die Website schreiben. [19:33] Und die Idee ist, ein Hash-Verfahren ist ja eine mathematische Einwegfunktion, wo ich Daten beliebiger Länge reingeben kann und bekomme dann einen Hash-Wert fixer Länge wieder raus, der so eine Art Fingerabdruck dieser Daten ist. Und wenn sich jetzt eine Kleinigkeit an den Eingangsdaten ändert, ändert sich der Hash-Wert sehr deutlich, sodass ich quasi Veränderungen an den Daten sehr schnell und einfach erkennen kann, ohne die ganze Datei Bit für Bit vergleichen zu müssen, erst mal ganz blöd gesagt. Und genau darum geht es jetzt hier. Wenn ich mir so eine schöne Exe-Datei aus dem Internet runterlade und irgendwer hat da ein Virus dran geflanscht, dann wäre es halt ganz cool, wenn ich das möglichst schnell mitbekäme, dass da ein Virus da dran ist. und dafür könnte ich so ein Hash-Verfahren benutzen. Das heißt, ich nehme die unveränderte Datei und hashe die und merke mir diesen Hash und wenn ich jetzt eine Datei aus dem Internet runterlade, dann kann ich darüber wieder die Hash-Summe oder den Hash-Wert ermitteln und das dann mit dem bestehenden vorgegebenen Hash-Wert vergleichen. Und wenn der Hash-Wert sich verändert hat, weiß ich, oh, die Datei wurde verändert. Das muss ja gar nicht böse Absicht sein, da muss ja kein Virus drin sein. Kann ja auch sein, dass beim Download irgendwie ein bisschen was verloren gegangen ist und deswegen die Datei jetzt kaputt ist. Das kriege ich halt schnell raus, wenn ich das mit den Hashes mache, anstatt die beiden vielleicht auch sehr großen Dateien Bit für Bit vergleichen zu müssen. Wenn wir nochmal den, das steht jetzt nicht in der Prüfung, aber wenn wir nochmal den Rückschluss auf die Schutzziele ziehen, dann wäre ein Hash-Verfahren dafür da, die Integrität der Daten zu wahren. Wurde etwas an der Datei manipuliert, dann wäre die Datei nicht mehr integer und das würde man darüber dann herausbekommen. [20:58] So, dann eine, ich glaube, eine meiner Lieblingsfragen in dieser Prüfung und zwar Unterschied zwischen IMAP und POP3, beziehungsweise es war eigentlich gar kein Unterschied, sondern der Anwalt möchte irgendwie auf E-Mails zugreifen oder irgendwie was und dann soll man sich entscheiden, entweder IMAP oder POP3 und es war schon vorgegeben, dass IMAP benutzt wird, man sollte bloß erklären, warum. Und es haben ja immer viele, auch vor der Prüfung gesagt, auch in meinem Prüfungsvorbereitungsgurs, ach, diese ganzen Protokolle und Ports und bla, die braucht man doch eigentlich gar nicht und jetzt ist hier der Beweis, dass man es doch mal brauchen kann. Zumindest sollte man wissen, was der Unterschied ist zwischen IMAP und POP3 und zu den Ports gleich auch nochmal, weil es gibt gleich noch eine Aufgabe, wo man dann auch einen Port angeben musste. Also zum Thema Netzwerk, Ports und Protokolle auf jeden Fall angucken, auch für die nächste API1. Und kurzer Spoiler, was ist da der Unterschied zwischen IMAP und POP3? Beide sind Protokolle zum E-Mail-Lesen. Es gibt noch ein drittes E-Mail-Protokoll und zwar SMTP, Simple Mail Transfer Protocol und das ist zum E-Mail-Versenden. Das heißt, wenn ich irgendwo von meinem Server eine E-Mail an einen anderen schicken will oder von meinem Client an meinen E-Mail-Server, dann nutze ich SMTP. [21:59] Aber wenn ich E-Mails lesen will, also die, die ich bekommen habe in meinem E-Mail-Client, zum Beispiel Outlook oder Thunderbird oder so, [22:09] E-Mail-Protokolle: IMAP und POP3 [22:06] dann wird dafür IMAP oder POP3 benutzt. Das ist quasi die Gegenrichtung. Und ich finde, dass man diese Abkürzung der Protokolle sehr gut auswendig lernen sollte und muss, weil in diesem Fall sagen sie tatsächlich exakt genau, wie die Protokolle funktionieren. POP3 steht für Post Office Protocol und IMAP steht für Internet Message Access Protocol und die sagen eins zu eins, was das ist. Denn POP Post Office Protocol, da verhält sich das Protokoll wie bei einem Postbüro, Post Office. Ich weiß nicht, wann du zuletzt mal wirklich einen echten Brief oder ein Paket bei der Post abgegeben hast, aber wenn du, also hier geht es ja noch nicht mal darum, was abzugeben, sondern das wäre ja SMTP, sondern du holst was von der Post. Also stellst dir vor, jemand hat den Brief geschickt und die stellen dir das nicht in deinen Briefkasten zu, sondern legen das am Postschalter ab, damit du das da abholst. Ich weiß, es ist ein bisschen länger her, dass die Post so funktioniert hat. Heutzutage landet das einfach im Briefkasten. Aber wenn das so wäre, würdest du zum Postschalter gehen, holst dir den Brief und danach hast du dann den Brief und die Post nicht mehr. Überraschung, weil du hast ihn ja abgeholt. Aber genauso funktioniert auch das POP-Protokoll, denn die E-Mails, die du mit POP3 abholst, liegen danach nicht mehr auf dem Server, sondern nur noch auf deinem Client. [23:16] Bedeutet, wenn du jetzt mit einem zweiten Client zum Beispiel auf den gleichen Postkorb zugreifst, dann ist die E-Mail da nicht mehr sichtbar, weil sie wurde ja schon abgeholt. Die gibt es dann nicht mehr auf dem Server. Und ich würde behaupten, seit mehreren Jahren ist dieses Protokoll eigentlich überholt, weil heutzutage hat natürlich, was heißt natürlich, aber die meisten Leute haben halt mehrere Devices, um auf ihre E-Mails zu zugreifen. Und wäre halt blöd, wenn jede E-Mail immer nur auf genau einem Device ist und dann ist es meistens natürlich das, was ich gerade nicht in der Hand habe. Das heißt, wir wollen natürlich, dass die E-Mails auf dem Server bleiben und dass dann sowas wie diese E-Mail, habe ich schon gelesen, auch auf allen Geräten synchronisiert wird. Und dafür brauchen wir IMAP, weil das heißt ja Internet Message Access Protocol und Message Access, also der Zugriff auf die Nachrichten über das Internet. Das bedeutet, die Nachrichten bleiben auf dem Mail-Server und ich kann über das Internet darauf zugreifen. Ich kann meine Ordnerstruktur synchronisieren, meine gelesen Stati und alles Mögliche. Das geht über das IMAP und deswegen würde ich sagen, heute gibt es eigentlich keinen Grund mehr dafür. für POP3 zu nutzen. Außer irgendeinen technischen, wo ich sicherstellen will, dass E-Mails nur einmal verarbeitet werden oder sonst irgendwas. Für Endkunden, für Menschen ist IMAP eigentlich the way to go. [24:22] Netzpläne und Projektmanagement [24:22] So, nächste Aufgabe. Es gab noch mal ein paar mehr Punkte und zwar zehn insgesamt. Und zwar war das der gute alte Netzplan. Ach, wie schön. Und der Netzplan war allerdings schon fast vollständig vorgegeben. Man musste bloß noch ein paar Zahlen da eintragen. Also ich werde jetzt hier nicht auf der Tonspur was zum Netzplan erzählen. Das machen wir ganz sicher nochmal irgendwo später in einem YouTube-Video. Oder du guckst einfach an eines der vorhandenen an, die es im Internet gibt, Denn das waren aus meiner Sicht auch absolut geschenkte Punkte. Das ist ja nur Zahleneintragen. Aber auch da kann ich natürlich verstehen, wenn man noch nie Netzplan gesehen hat, wird es schwierig logischerweise. Aber Netzplan ist schon so lange auch in den Prüfungen drin. Und ich weiß es gerade gar nicht, ich muss mal eben parallel reinschauen. Ich glaube, der Netzplan ist inzwischen schon auf meiner Themenliste relativ weit oben zur AP1. Ich gucke direkt mal rein. [25:05] Gesamtpunktzahl Einzelthemen, ja, ist auf Platz 2. Das heißt, Nutzwertanalyse auf Platz 1, also Stand heute 25, 45 Punkte bisher in den API-Einsen. Netzplan auf Platz 2 mit 29. Also doch mit ein bisschen mehr Abstand, 16 Punkte Unterschied bisher. Und danach käme dann SQL, was aber gestrichen wurde. Also Nutzwertanalyse, Netzplan, beides dicke Punktebringer und waren beide auch wieder in der Prüfung hier dran. [25:28] Statische vs. Dynamische Webseiten [25:29] So, dann kam noch mal was Neues, was so in der Form noch nicht in der API-Eins war, wenn ich mich recht entsinne. Und zwar sollte man erklären, den Unterschied zwischen einer statischen und einer dynamischen Webseite. Und wenn man das jetzt noch nie gehört hat, wie hätte man es sich herleiten können? Statisch bedeutet ja, ich mache immer gerne Analogien aus der Softwareentwicklung, weil ich ja Amazon-Entwicklerinnen ausbilde. Statisch ist immer, wenn sich nichts bewegt. Das heißt, ich programmiere gerade meinen Source-Code, drücke auf Kompilieren, aber dafür wird die Software noch nicht ausgeführt. Dynamisch bedeutet, ich starte die Software, interagiere damit, da bewegt sich was, ganz blöd gesagt. Und wenn ich die Idee mal übertrage auf Websites, ist eine statische Website eine, die sich nicht verändert. Ganz blöd gesagt, ich schreibe HTML und speichere das auf dem Webserver und es wird einfach HTML ausgeliefert, das immer gleich aussieht. Und da ändert sich nichts am Inhalt. Das ist eine sehr langweilige Website, weil die meisten sollen ja irgendwie neue Informationen vermitteln. Zum Beispiel in einem Blog soll ein Blogartikel dazukommen und nicht einfach die nächsten 100 Jahre immer der eine Blogartikel angezeigt werden. Das heißt, im Standard haben wir üblicherweise dynamische Websites, die also irgendwo aus dynamischem Inhalt, der meist aus einer Datenbank kommt, generiert werden. Das heißt, wenn ich die Seite aufmache, ist nicht sichergestellt, dass, wenn ich sie ein zweites Mal aufmache, ich die gleichen Inhalte sehe. Weil es könnte in der Zwischenzeit ja ein neuer Artikel dazu gekommen sein, zum Beispiel. Das ist also eigentlich das, was wir von so gut wie allen Websites kennen, das dynamische Verhalten. Aber erstmal, um den Unterschied zu erklären, hier in der Prüfung für drei Punkte, Hätte man jetzt sowas sagen können wie, statische Website heißt. [26:50] Inhalte werden nicht dynamisch, ja, das habe ich schon mit dynamisch erklärt. Also statische Website heißt, die sieht immer gleich aus, sind immer die gleichen Inhalte, es ändert sich nichts. Und dynamisch werden die Inhalte halt neu generiert, zum Beispiel aus einer Datenbank, aus einer Textdatei, die ergänzt wird oder durch Benutzerinhalte oder sonst irgendwas. was. So, und dann war die nächste Frage. Also ich fand insgesamt auch recht Anwendungsentwicklerinnen freundlich, diese Prüfung, weil es kommt jetzt noch ein bisschen mehr zu Programmierung, zum Beispiel leider nur auf den Schreibtisch der ist. Aber die nächste Frage hier war jetzt auch, nennen Sie drei Programmiersprachen. [27:20] Die man bei der Entwicklung von dynamischen Websites einsetzt. Und da bin ich mal sehr gespannt auf die Korrektur der Prüfung, was die Prüflinge da so alles geschrieben haben. Denn da wird, ich würde wetten, dass viele da zum Beispiel harte Meldungen geschrieben haben und CSS oder so. Und ja, das sind natürlich keine Programmiersprachen. Das sind natürlich Auszeichnungssprachen, bzw. CSS, zur Gestaltung der Inhalte. Und da dürfte man eigentlich keinen Punkt für geben. Weil hier steht explizit Programmiersprachen. Und Programmiersprachen habe ich, ich glaube, ich habe es in einem Video erklärt, was es eigentlich überhaupt ist, um das abzugrenzen. Weil es gibt zum Beispiel auch so etwas wie SQL, was auch keine Programmiersprache ist. Und ich erkläre es immer ganz einfach, wenn eine Sprache die drei Grundbausteine von Algorithmen anbietet. Und das sind Sequenzen, Verzweigungen und Wiederholungen. Dann habe ich eine Programmiersprache, denn dann kann ich damit Algorithmen formulieren und zwar beliebige Algorithmen und kann damit alle möglichen Probleme lösen. Und das kann weder HTML, da gibt es weder Verzweigung noch Wiederholung, noch CSS, noch HTML. Irgendwas, also HTML und CSS. Darum geht es mir eigentlich, weil Websites sagen natürlich viele HTML, CSS, aber sind da keine Programmiersprachen. Das heißt, was hätte man jetzt hier sagen können? Zum Beispiel die guten alten klassischen Skriptsprachen wie PHP, Python, Ruby. Man kann aber inzwischen auch ganz normale Programmiersprachen, also normal in Anführungszeichen, Java oder C Sharp oder ja, was gibt es denn noch? [28:46] Programmiersprachen für Webentwicklung [28:44] Im Prinzip kann man alles Mögliche an Programmiersprachen nennen. Hauptsache es ist eine echte Programmiersprache. [28:49] Und damit programmiert man dann halt das Backend zum Beispiel und das gibt dann halt HTML aus, was der Browser dann rendern kann. Aber im Prinzip ist die Wahl der Programmiersprache egal. Man kann natürlich auch mit C eine Website programmieren. Das ist vielleicht nicht die erste Wahl, weil C dafür nicht so eine gute Unterstützung hat. Aber im Prinzip hätte man irgendwelche drei Programmiersprachen da hinschreiben können, die dafür verwendet werden. Aber natürlich gibt es Programmiersprachen, die sich besser eignen für Webentwicklung. Web-Entwicklung und das wäre jetzt aus meiner Sicht sowas wie JavaScript. Wird zwar auch kleinseitig natürlich ausgeführt, aber kann man ja auch serverseitig ausführen, wie zum Beispiel mit Node.js. Also das heißt, mit JavaScript kann ich auch die Grundlage der dynamischen Website, also das, was auf dem Server passiert, programmieren. Darum geht es ja hier, weil dynamisch heißt nicht, dass es im Client irgendwie lustig Dinge tut, sondern es soll ja dynamisch vom Server ausgeliefert werden und das wäre jetzt JavaScript. Aber ganz klassisch ist natürlich auch sowas wie PHP, Python, Ruby, aber eben auch Java oder C-Sharp, würde ich durchaus auch mit aufnehmen, weil halt auch viele Web-Anwendungen so damit entwickelt werden heutzutage. [29:51] So, und dann hatten wir noch zwei sehr dankbare Aufgaben aus meiner Sicht. Auch hier kann ich verstehen, wenn einige Prüflinge das anders sehen. Hier haben wir einfach zwei vorgegebene Algorithmen in einer Pseudo-Programmiersprache, die sehr stark aussieht wie Ruby oder Python. Es könnte, glaube ich, eher Python sein, wegen der Einrückung und so weiter. Und da sollte man jetzt einfach mit gegebenen Werten, die dafür die Parameter definiert waren, einfach sagen, was kommt am Ende raus. Das heißt, ich habe es auch in meinem Prüfungskurs vorab so erklärt, Schreibtischtest, das ist sowas wie, ich spiele Computer. Ich habe diesen Code und ich tue jetzt so, als wäre ich der Computer und spiele das einfach Zeile für Zeile durch und gucke, was wird da berechnet und was kommt da raus. Und in diesem Fall war es eine relativ simple mathematische Aufgabe. Man hätte jetzt einfach nur die Argumente, die da reingegeben werden, dort einsetzen müssen, ein bisschen ausrechnen müssen und das war es dann. Das heißt, das war Teil 1 der Aufgabe und der zweite Teil, der noch ein paar mehr Punkte gab, da gab es halt einen etwas verschachtelteren Code mit vierfach verschachtelten If-Statements. Würde ich in der Realität so auch nicht programmieren, aber darum geht es ja hier nicht, sondern es war ein bewusst einfacher Code, zum Beispiel ohne Schleifen, auf der anderen Seite aber auch ein bisschen komplizierter, weil es halt so viele Verschachtelungen gab, aber im Prinzip war hier das gleiche Prinzip, im Prinzip war das gleiche Prinzip, ja genau, super. [31:02] Das heißt, ich habe den Code gegeben, habe eine Angabe, mit welchen Argumenten ich den aufrufen soll, sollte das einmal durchspüren und sagen, was kommt am Ende raus. So, das war’s. Das heißt, wenn ich mich irgendwann mal ein bisschen mit Programmierung beschäftigt habe. Und im zweiten Fall war es sogar mehr oder weniger Pseudocode. Das heißt, ich musste noch nicht mal eine bestimmte Syntax verstehen, sondern eigentlich nur, wenn und dann und kleiner, gleich und so, also mathematisch war gleich und so, eine Variablenzuweisung. Also, wenn ich irgendwie das erste Berufsschuljahr überstanden habe, würde ich behaupten, dass jeder ITler diesen Code verstehen muss. Selbst wenn ich jetzt nicht nochmal Code wiederholt habe vor der Prüfung, weil das war wirklich so offensichtlich, meiner Meinung nach. Wenn man sich da jetzt noch beschwert über die bösen Pseudocode-Aufgaben, dann kann ich es irgendwo auch nicht mehr nachvollziehen, ganz ehrlich, weil das ist, das kann man, also ich würde behaupten, sogar meine Mutter würde das verstehen, wenn ich ihr das hinlege und die hat noch nie irgendwas programmiert. Das ist ja einfach nur, wenn so, dann das und das, wenn so, dann das und das. Ja, es war blöd verschachtelt, okay, aber das hätte ich jetzt, weiß ich nicht, das hätte ich jetzt mit so einem Lineal, Zeile für Zeile durchgehen können oder mit so einem Stift als Führungslinie, ja, und hätte das einfach [32:13] Pseudocode und Programmierverständnis [32:10] nur noch einsetzen müssen und gucken, was trifft zu und was nicht. Und deswegen waren das aus meiner Sicht geschenkte Punkte. Aber wie gesagt, ich kann auch nachvollziehen, wenn andere Prüflinge, andere Berufe das anders sehen. [32:21] Künstliche Intelligenz in der Prüfung [32:21] So, und dann kommen wir natürlich zur letzten Aufgabe, wo der große Aufschrei kam. KI, die künstliche Intelligenz. Da war ja schon vorab sehr viel gemunkelt, dass das wohl drankommt und kommt auch dran. War ja, glaube ich, viermal oder dreimal im neuen Prüfungskatalog. Also, das war ja nun mal der Hammer auf den Kopf. Wenn du das nicht anguckst, dann bist du selber schuld. Aber wenn man sich jetzt die Aufgaben anguckt, dann hätte man sich das vielleicht auch doch eigentlich gar nicht angucken müssen, weil im Prinzip war es ein bisschen gesunder Menschenverstand. Und so habe ich es auch immer vorher gesagt, auch in meinem Prüfungskurs. Diese Aufgaben sind ja vom Niveau her nicht so, dass man jetzt nochmal eben erklärt, wie ein neuronales Netz funktioniert oder was, weiß ich nicht. Wie heißt es noch? Beobachtbares Lernen, wo ich schon gab, begleitendes Lernen oder sowas ist. So tief geht das ja gar nicht, bei allen Themen übrigens, sondern es geht dann hier um die Anwendbarkeit. Das heißt, in diesem Fall war es der Kontext meiner Anwaltskanzlei, die möchte KI einsetzen. Wo genau könnten sie das denn tun? Was kann denn KI, um uns an bestimmten Stellen zu unterstützen? Zum Beispiel, wenn ein neuer Mandant sich meldet, was kann die KI für uns da tun? Die könnte zum Beispiel so eine Background-Recherche durchführen. Wer ist das denn überhaupt? Websites durchsuchen, aggregieren, zusammenfassen. So nach dem Motto, erstelle mir auf einer DIN-A4-Seite alles, was du über diesen Mandanten herausbekommen kannst. Als Beispiel. [33:32] Oder wenn sich jemand bei uns meldet und hat eine Frage zu einem rechtlichen Problem, dann könnt ihr das ja auch erstmal mit einem Chatbot zum Beispiel besprechen, der einem erstmal so eine grobe Indikation gibt, ob sich es lohnt, dafür eine Klage aufzunehmen oder nicht. So, jetzt mal nur als Beispiel. Das heißt, ich werde zum Beispiel entkoppelt von meinem teuren Anwalt, indem ich erstmal mit dem Chatbot rede. Nur als Idee. Und hier war jetzt die konkrete Aufgabe so, dass es halt fünf Szenarien gab, in so einem, ich nenne es mal Betreuungsprozess bei einem Mandanten, von ich kenne den Mandanten noch gar nicht bis hin zu ich mache für den eine Klage, ganz blöd gesagt. Und wo kann da die KI zum Beispiel den Anwalt unterstützen? Da durfte ich mir ein bisschen was ausdenken tatsächlich. Also ich bin gespannt auf die Musterlösung, weil da hätte ich jetzt wirklich alles Mögliche mir ausdenken können, wo halt so eine KI mich unterstützen kann. Und wenn ich jetzt im Alltag schon mal irgendwie ein bisschen zum Beispiel mit ChatGBT gearbeitet habe und auch nur eine halbe Stunde damit rumexperimentiert habe, dann hätte ich diese Frage, glaube ich, schon beantworten können. Und ich gehe einfach mal davon aus, selbst wenn ihr, oder du, wenn du jetzt zuhörst, KI noch nie in der Berufsschule hattest, was ja immer so das Totschaftergument ist. Das hatten wir noch nie in der Schule. Ja, okay, aber muss ich das wirklich in der Schule durchgehen, was ich mit KI alles machen kann? Also KI ist so ein dominantes Thema. Ich glaube, sogar meine Oma hat das schon mal gehört. Die hat das vielleicht noch nicht benutzt, aber die hat schon mal was davon gehört. Und ich würde einfach mal behaupten, IT-Auszubilder oder Umschülerinnen, diese haben eine gewisse Affinität zu IT. Und wenn man jetzt im Jahr 2025 noch nie eine KI ausprobiert hat. [34:56] Dann ist man vielleicht im falschen Beruf. Das ist jetzt vielleicht eine harte Aussage, aber das Niveau, von dem wir hier reden, geht nicht sonderlich hinaus über, ich weiß, was so eine KI für mich machen kann. Mehr ist es eigentlich nicht. [35:08] Und dann, nächster Teil der Aufgabe, für allerdings nur zwei Punkte, war, was ich auch vorab vermutet habe, eine ethische Betrachtung. Und konkret ging es darum, einige Mitarbeitende haben vielleicht Probleme mit KI. Und was könnten da die Bedenken sein und was kann ich dagegen tun? Und in diesem Fall war einfach die Frage, was wäre denn ein Vorteil für die Mitarbeitenden? Anstatt zu erzählen, ja, dies und das und das ist doch eigentlich ganz gut. Hier geht es darum, einen konkreten Vorteil mal zu nennen. Und was wäre denn ein Vorteil? Naja, Nachteil wäre natürlich, ich verliere vielleicht meinen Arbeitsplatz, weil die KI meinen Job macht. Okay, auf der anderen Seite habe ich auch einen Vorteil. Ich muss vielleicht die ganzen blöden, langweiligen, wiederkehrenden Aufgaben nicht mehr machen, weil ich das der KI übergeben kann. Das heißt, vielleicht wird mein Job auch spannender dadurch, weil ich mir auf das Interessante konzentrieren kann und den langweiligen Quatsch durch die KI machen lassen kann. Das wäre jetzt ein Beispiel, was man da sicherlich hätte hinschreiben können. Also triviale oder wiederholbare Tätigkeiten auslagern, automatisieren. Gut, dann sind wir immer noch beim oa.ki, aber das nächste ist eine ganz klassische Rechenaufgabe. Hat eigentlich mit KI nichts mehr zu tun. Man sollte eigentlich nur noch ausrechnen, [36:08] Kostenanalyse für KI-Anwendungen [36:06] wie teuer der Einsatz von so einem Chatbot ist. Und das war im Prinzip vorgegeben, so und so viel kostet der im Monat, so viele Stunden pro Monat wird der eingesetzt oder was auch immer. Und dann musste das wieder multipliziert werden und summiert werden und das war’s. Also super simple Matheaufgabe unter dem Deckmantel von KI. Und auch das habe ich vorher prognostiziert, dass so etwas drankommen könnte, sage ich schon seit Jahren bei den ganzen Hype-Themen Erstmal genau hingucken, was man da machen muss. Und hier war es wirklich plain Mathematik. Hatte KI bloß in der Überschrift stehen und das war es. [36:34] So, und dann ging es aber nochmal wieder zurück zur KI, wo man wirklich ein bisschen hätte wissen müssen. Und zwar, was sind denn Vor- und Nachteile eines Chatbots? Und ich bin mir nicht sicher, aber ich meine, dass genau diese Frage schon mal in einer Prüfung rankam. Da ging es dann auch um ein Chatbot. Und in dem Fall war es, glaube ich, so etwas wie IT-Support. Das heißt, hey, die Firma möchte Geld sparen und den IT-Supporter durch eine KI ablösen, nämlich einen Chatbot. Was sind die Vor- und Nachteile? Und hier ist es tatsächlich genau das Gleiche. [37:02] Vor- und Nachteile von Chatbots [37:02] Nur, dass der Kontext ein bisschen anders ist. Das heißt, anstatt, dass mein Kunde den Anwalt anruft, spricht der Kunde erstmal mit dem Chatbot. So, das heißt exakt gleiches, also nein, Szenario nicht, aber gleiche Konstellation, nur eine andere Branche. Aber die Frage ist exakt gleich zu beantworten, wie bei der vorherigen Prüfung. Und zwar, was sind die Vornachteile eines Chatbots? Und ganz simpel gesagt, ich mache jetzt nicht alle, die man da aufzählen kann, aber natürlich ist ein Chatbot nicht persönlich und Menschen, gerade wenn die Chatbots nicht so gut funktionieren, fühlen sich natürlich auch ein bisschen veralbert oder nicht ernst genommen. Das könnte also Kunden abschrecken zum Beispiel. Auf der anderen Seite entlastet es natürlich unsere teuren Anwälte von trivialen Fragen, wie kann ich meinen Nachbar verklagen, wenn seine Hecke zu hoch ist. Das kann auch ein Chatbot beantworten. Das heißt, beide Seiten immer betrachten und das sage ich ja auch immer, gerade bei neuen Hype-Themen, es geht nicht darum, die ein bisschen ins Detail erklären zu können, sondern die ein bisschen einzuordnen. Sollen wir das einsetzen? Wenn wir das machen, was sind die Vor- und Nachteile? Was haben wir davon? Was könnte das kosten? Um solche Sachen geht es und es geht hier nicht darum, einen Chatbot zu programmieren oder zu erklären, wie man den trainiert. Das ist einfach für die API 1 viel zu detailliert, viel zu genau. Das wird aus meiner Sicht so nicht abgefragt beim nächsten Hype-Thema. Ich weiß nicht, was das nächste Hype-Thema sein wird. Vor fünf Jahren war es die Blockchain, jetzt ist es KI. In fünf Jahren ist es was anderes. Aber da werden die Aufgaben genauso aussehen. [38:19] Netzwerktechnik und SSH [38:19] Allgemeine Fragen zu einer neuen Technologie, die ich heute noch nicht kenne. [38:23] So, dann kommen wir zurück. Weiterhin unter dem Deckmantel der KI, aber ehrlich gesagt klassische Netzwerktechnik-Aufgabe. Und zwar läuft die KI zufällig auf einem Web-Server, den wir von außen administrieren wollen. Wir wollen uns mit dem Web-Server verbinden. Und jetzt ist die Frage, womit machen wir das? Und jetzt, also ich finde die Aufgabenstellung, ehrlich gesagt, ganz cool. Die haben jetzt hier so einen kleinen Screenshot von so einer, ja, wie soll ich sagen, von so einer Konfigurationsmaske gezeigt, wo man eine IP-Adresse und so eintragen kann. Also was muss ich eintragen, um mich mit dem Server zu verbinden? Finde ich, ehrlich gesagt, ganz cool. So ein bisschen praxisnah. Und man sollte jetzt aus dem Text, der darüber stand, hätte man jetzt ableiten müssen, was die IP-Adresse ist. Und die interessante Frage ist jetzt aber, Aber welches Protokoll nehme ich denn? Und zur Wahl stehen SSH, Serial und Telnet. Und ich sage ja immer, Leute, lernt eure Ports auswendig. In diesem Fall haben sie sogar das geschenkt, weil direkt nach der Aufgabe ist eine Tabelle mit den üblichen Ports und Telnet und SSH stehen beide drin. Das heißt, man muss doch nicht mal die Ports auswendig kennen und ich werde langsam wirklich traurig. Warum kann man nicht diese paar Ports auswendig lernen? Naja gut, man kann jetzt auch die Frage stellen, ist das noch zeitgemäß, solche Sachen auswendig zu lernen? Aber wenn ich sie auswendig gekannt hätte, hätte ich die Frage so runterschreiben können. In diesem Fall hätte ich halt mal drei Zeilen weiter unten gucken müssen, wie der Port ist und dann konnte ich sie auch lösen, ohne dass ich überhaupt wissen muss, was SSH eigentlich ist. [39:37] Naja, das ist nicht ganz richtig, weil ich muss mich ja entscheiden. Nehme ich SSH, Telnet oder Serial? Kurz zum Hintergrund. Das steht sogar in der Tabelle drunter. SSH steht wortwörtlich, dass es eine verschlüsselte Fernwartung ist. Und Telnet steht daneben, unverschlüsseltes Protokoll. Also wie offensichtlich soll man es noch machen, dass es natürlich SSH sein muss? Und Serial? Okay, Serial steht nicht in der Tabelle. Das hätte man jetzt vielleicht wissen müssen oder aus dem Namen einfach ableiten sollen. Serial, Seriell. Was ist eine serielle Verbindung? Okay, ich sage, woher, wieso soll man das nicht wissen? Aber ich bin ja auch schon ein Ticken älter. Also serielle Verbindungen habe ich schon seit Jahren nicht mehr benutzt. Und selbst vor Jahren habe ich sie kaum benutzt. Einfach eine serielle Verbindung, Kabel direkt zwischen zwei Rechnern. Ja, ich wüsste nicht mal mehr, dass moderne Hardware überhaupt einen seriellen Port noch hat, wo ich das ranstecken kann. Aber man kann sich sowas vorstellen wie, bei mir habe ich einen USB-Stecker und auf dem anderen Rechner auch und ich stecke ein USB-Kabel dazwischen und dann können die miteinander reden. Ungefähr so kann man sich das vorstellen. Ich wüsste nicht, was das Serial hier sonst heißen soll. Also die Wahl ist ganz klar SSH, denn ich kann weder ein Kabel zu meinem Web-Server legen, noch möchte ich unverschlüsselt kommunizieren, also muss es SSH sein. [40:46] So und dann war auch direkt die nächste Aufgabe, begründen sie, warum sie das genommen haben und dann wäre meine Begründung, ja weil es verschlüsselt ist und weil ich kein Kabel zum Server legen kann, also wenn ich ein Kabel zum Server legen könnte, würde ich vielleicht sogar das nehmen, weil dann habe ich noch zusätzlich quasi die Hardware-Schicht dazwischen, da man mich dann nicht abhören kann, müsste ich ja das Kabel irgendwie abhören, aber da das nun mal schlecht geht, dann nehme ich natürlich SSH. [41:10] So und dann kommen die letzten beiden Fragen, die halt zu dem Thema kamen, die das noch nicht auf meine Website stand, und zwar Redundanzen. Und zwar war erstmal die Definition gefragt, was sind überhaupt Redundanzen? Und dann kommt die zweite Frage, was ist ein Problem, was durch Redundanzen entsteht? Und ich habe, natürlich nicht für die API 1, aber für die API 2 Amnestypikation schon vor, auch wieder vor Jahren, Episoden zum Thema Normalisierung einer Datenbank, zum Beispiel auch am Beispiel aufgenommen, aber auch noch ein YouTube-Video, wo ich normalisiere von einer Excel-Tabelle bis hin zur normalisierten relationalen Form. Und da werden wir natürlich auch am Anfang über Redundanz entsprechen, weil das ist der genaue Grund, warum wir überhaupt Datenbanken normalisieren, nämlich um Redundanz zu vermeiden. Das heißt, die Definition und dann natürlich eine sehr beliebte Fachgesprächsfrage für Anwendungsentwicklerinnen, nämlich was sind denn Probleme von Redundanz? Die Anomalien, die dadurch entstehen. Wenn ich Daten doppelt habe, was ich habe sogar geklärt, Redundanz heißt, ich habe Sachen mehrfach doppelt vorhanden. Und in einer Datenbank wäre das so, ich habe nicht nur einen Datensatz, sondern fünfmal den gleichen. Ja, und das Problem, was da entstehen kann, ist, wenn ich einen ändere, dann habe ich auf einmal inkonsistente Daten. Ja, das wäre die Änderungsanomalie. Es gibt noch zwei andere. Die Einfüge- und Löschanomalie, die will ich jetzt hier für die AP1 nicht erklären, [42:23] Redundanzen in Datenbanken [42:22] weil das ist irrelevant für die Prüfung. Habe ich aber alles schon in Video- und Podcastform für die AP2-Anbietungsentwicklung erklärt, denn da ist das natürlich höchstgradig prüfungsrelevant. [42:31] So, das waren jetzt so die Themen der API 1. Wir sehen, grob zusammengefasst, es gab ein bisschen Security, es gab ein bisschen KI, es gab ein bisschen was zur Programmierung und ja, breites Themenfeld, die, wie soll ich sagen, die fachliche Tiefe der Aufgaben war, wie zu erwarten, relativ überflüssig, wollte ich schon sagen, oberflächlich, ja. Und ich behaupte, dass man sich viele Aufgaben auch einfach mit ein bisschen Nachdenken hätte erarbeiten können, gerade die KI-Aufgaben. [42:57] Wofür könnte ich KI denn noch einsetzen? Das hört sich so an wie so ein Arbeitsauftrag in der Grundschule. Schreibe einen Aufsatz über, was kann man mit KI machen? Es ist jetzt übertrieben, ich weiß. Und wenn ich da sitze in der Prüfung, da fällt mir das vielleicht auch nicht ein. Ich kann das alles nachvollziehen, bitte nicht falsch verstehen. Aber ich glaube, selbst wenn ich noch nie KI selber programmiert habe oder sonst irgendwas, hätte ich diese Aufgaben ja locker lösen können, weil ich einfach nur ein bisschen überlegen muss, was ich damit machen kann in der Realität. So, das möchte ich damit sagen. Also aus meiner Sicht eine absolut machbare Prüfung. Ich habe auch schon von vielen gehört, die tatsächlich auch früher fertig waren, weil man wirklich auch nicht so viel schreiben musste. Das war ein bisschen auch was lesen, aber zum Beispiel auch die Zolle-Code-Aufgaben, da Schreibtisch-Test, da war die Antwort waren irgendwie zwei Zahlen oder sowas. Das geht ja theoretisch recht schnell, sodass viele auch Zeit hatten, das nochmal zu kontrollieren, ob das denn richtig war und so. Also ich glaube, es war eine faire Prüfung und finde ich aber auch wiederum ganz gut, wenn sie es absichtlich gemacht haben, die Prüfungsherstellerinnen. Denn nach dem ganzen Aufschrei wegen dem neuen Prüfungskatalog fand ich das hier eine absolut faire Prüfung. [44:01] Abschluss und Ausblick auf Ergebnisse [43:58] Keine super krassen Überraschungen drin, die halt eben nicht im Prüfungskatalog standen. Und wenn es neue Themen waren, dann wirklich sehr oberflächliche Aufgaben dazu, ohne tiefergehendes Wissen. Also aus meiner Sicht eine vernünftige AP1. Ich bin sehr gespannt auf den Durchschnitt der Ergebnisse. Wird noch ein paar Monate dauern, bis wir den rausbekommen. Da habe ich es bestimmt schon wieder vergessen. Aber ich könnte mir vorstellen, dass der Schnitt ganz gut aussieht. Ja, aber der Rest wird sich zeigen. [44:23] Damit bin ich am Ende meiner heute sehr zeitnahen Episode zur AP1. Ich hoffe, es war ein bisschen was für dich dabei, was auch nach diesem Prüfungstermin noch relevant ist. Ich habe ja noch ein paar Sachen erklärt heute für die nächsten AP1. Und ja, ich sage vielen Dank fürs Zuhören. Und falls du noch mehr von mir hören willst, vor allem in schriftlicher Form, melde dich doch für meinen Newsletter an. Den nenne ich auch Ausbildungsbegleitung, weil du parallel zu deinen drei Jahren der Ausbildung immer wöchentlich Infos von mir bekommst. Zum Beispiel, wie du dich am besten auf die AP1 vorbereitest, wenn die ansteht oder für die AP2, die jetzt bald bei einigen ansteht. Und es ist alles kostenfrei, kannst du jederzeit abmelden. In jeder E-Mail findest du einen Link dazu. Von daher kannst du einfach auf der Website machen, itberufepodcast.de slash Newsletter. Und da habe ich dann ja zum Beispiel auch meine kostenfreien Prüfungskurse beworben, die es inzwischen leider nicht mehr gibt, aufgrund verschiedener Vorfälle leider. Aber ich arbeite schon an Alternative dazu und wenn es da was gibt, wird es natürlich auch über den Newsletter verbreitet. Das heißt, du bekommst da alle Informationen von mir, was ich für dich noch so anbiete, wenn du dich dort anmeldest. Das war es von mir für heute. Ich hoffe, die Episode hat dir gefallen. Wenn du die API 1 noch vor dir hast, drücke ich dir die Daumen dafür und du hast vielleicht ein bisschen was mitgenommen. Ich sage vielen Dank fürs Zuhören und bis zum nächsten Mal. Tschüss. Der Beitrag Rückblick auf die AP1 im Frühjahr 2025 (nach neuem Prüfungskatalog) – IT-Berufe-Podcast #194 erschien zuerst auf IT-Berufe-Podcast .…
I
IT-Berufe-Podcast

Über den Unterschied zwischen Kauf, Miete und Leasing zur Finanzierung in Unternehmen geht es in der einhundertdreiundneunzigsten Episode des IT-Berufe-Podcasts. Miete, Leasing oder Kauf – Welche Finanzierung passt zum Unternehmen? Wenn Unternehmen teure Güter anschaffen müssen, stellt sich die Frage, wie diese finanziert werden sollen. Für die AP1 der IT-Berufe sind hier insbesondere die Unterschiede zwischen Kauf, Miete und Leasing interessant. In dieser Episode des IT-Berufe-Podcasts beleuchte ich die Unterschiede zwischen Kauf, Miete und Leasing, und warum dieses Thema auch für die IT-Abschlussprüfung von Bedeutung ist. Als kaufmännischer Teil der IT-Ausbildung ist es unerlässlich, die verschiedenen Finanzierungsoptionen zu verstehen, besonders wenn es um größere Investitionen wie Fahrzeuge, Maschinen oder Server geht. Zunächst analysiere ich die Kaufoption. Der Kauf eines Vermögenswertes bietet den Vorteil, dass dieser nach der Zahlung des Kaufpreises vollständig in den Besitz des Unternehmens übergeht. Hier bespreche ich die Vor- und Nachteile, beginnend mit der hohen Anfangsinvestition, die oft notwendig ist. Ich erkläre, wie Kredite funktionieren, einschließlich der verschiedenen Zinsarten und Rückzahlungspläne, die in der Regel über mehrere Jahre laufen. Diese Art der Finanzierung bringt die Verpflichtung mit sich, sich um das gekaufte Gut zu kümmern, was Instandhaltungskosten mit sich bringt. Ich gehe auch auf die Themen Steuerabschreibung und Wertverluste ein, die beim Besitz eines Vermögenswertes zu berücksichtigen sind. Anschließend wende ich mich dem Thema Miete zu. Hier zeige ich auf, wie Miete mehr Flexibilität bietet, da Unternehmen in der Lage sind, kurzfristig auf Bedürfnisse zu reagieren, ohne große Anfangsinvestitionen zu tätigen. Bei der Mietung eines Fahrzeugs beispielsweise entfällt die Verantwortung für Wartung und Versicherung, was für Start-ups oder junge Unternehmen eine kostengünstige Lösung darstellen kann. Allerdings erödemie ich auch, dass die Miete langfristig die teuerste Option sein kann, da regelmäßige Zahlungen anfallen, ohne dass ein Eigentum entsteht. Schließlich bespreche ich das Leasing, das eine besondere Form der Miete darstellt. Leasingverträge ermöglichen es Unternehmen, teure Investitionen über längere Zeiträume zu finanzieren, oft zu geringeren monatlichen Raten als bei Mietverträgen. Ich erläutere die typischen Laufzeiten und die Vorkaufsoptionen, die dem Leasingnehmer die Möglichkeit geben, das geleaste Objekt nach Ablauf des Vertrages zu kaufen. Zugleich beleuchte ich die Nachteile des Leasings, insbesondere die langfristige Bindung und die Tatsache, dass Leasing insgesamt teurer ist als ein Kauf, wenn das Asset über längere Zeiträume genutzt wird. Abschließend fasse ich die verschiedenen Aspekte zusammen, um den Zuhörern ein klares Bild davon zu geben, unter welchen Umständen welche Finanzierungsform sinnvoll ist. Besonders die Prüfungsvorbereitung wird durch konkretes Beispiel-Rechnen und das Verständnis der Kriterien erleichtert, die bei der Entscheidung zwischen diesen Optionen zu beachten sind. Kauf Definition: Einmalige Investition für Eigentum an einem Produkt oder einer Dienstleistung. Vorteile: Langfristig günstiger als Miete oder Leasing Volle Kontrolle und keine Vertragsbindung Abschreibungen und steuerliche Vorteile möglich Keine Einschränkungen bei Nutzung oder Anpassungen Nachteile: Hohe Anfangsinvestition nötig Risiko von Wertverlust und Veralterung (besonders bei IT-Hardware) Wartung und Reparaturen gehen zulasten des Käufers Praxisbeispiel: Kauf von Firmenlaptops oder Produktionsmaschinen Miete Definition: Kurzfristige Nutzung gegen regelmäßige Zahlungen ohne Eigentumserwerb. Vorteile: Hohe Flexibilität (monatlich kündbar, kurze Laufzeiten) Keine hohen Anfangsinvestitionen Wartung und Service oft inklusive Gut für kurzfristige oder projektbezogene Einsätze Nachteile: Langfristig oft teurer als Kauf oder Leasing Kein Eigentum – Unternehmen hat keine Abschreibungsmöglichkeiten Eingeschränkte Individualisierungsmöglichkeiten Praxisbeispiel: IT-Ausrüstung für temporäre Projekte Leasing Definition: Langfristige Miete mit festgelegten Raten, oft mit Kaufoption am Ende. Vorteile: Geringe Anfangsinvestition Planbare Kosten über einen längeren Zeitraum Bilanzneutral (je nach Leasingart) Aktuelle Technik ohne hohe Einmalzahlung nutzbar Nachteile: Vertragliche Bindung über Jahre Gesamtkosten oft höher als Direktkauf Eventuelle Restwertrisiken oder Zusatzkosten bei Rückgabe Praxisbeispiel: : Leasing von Servern oder Firmenfahrzeugen Vergleich und Entscheidungshilfe Wann lohnt sich welche Finanzierungsform? Entscheidungskriterien: Budget, Nutzungsdauer, Flexibilität, steuerliche Aspekte Beispielrechnung: Firmenwagen – Kauf, Miete oder Leasing? Annahmen für den Vergleich: Fahrzeug: Mittelklasse-Firmenwagen Kaufpreis: 40.000 € Jährliche Fahrleistung: 30.000 km Wartung & Versicherung: 150 €/Monat (bei Kauf oder Leasing, in Miete oft enthalten) Finanzierungskosten: 3% p.a. (bei Kauf auf Kredit) Restwert nach 3 Jahren: 50% des Kaufpreises = 20.000 € Kauf (mit 3% Kreditfinanzierung) Kreditbetrag: 40.000 €, Laufzeit 3 Jahre, 3% Zinsen Monatliche Rate (Annuitätendarlehen): 1.160 € Gesamtkosten für Kredit: 1.160 € × 36 Monate = 41.760 € Wartung & Versicherung über 3 Jahre: 150 € × 36 Monate = 5.400 € Wiederverkaufswert nach 3 Jahren: -20.000 € Gesamtkosten: 41.760 € + 5.400 € – 20.000 € = 27.160 € Vorteile: Langfristig günstiger, Eigenkapitalbildung Nachteile: Hohe Anfangsinvestition, Wertverlustrisiko Miete (Auto-Abo) Monatliche Rate: 1.200 € (inkl. Wartung, Versicherung, Steuer) Gesamtkosten über 3 Jahre: 1.200 € × 36 Monate = 43.200 € Vorteile: Keine langfristige Bindung, alle Kosten enthalten Nachteile: Sehr teuer auf lange Sicht, kein Eigentum Leasing Monatliche Leasingrate: 500 € Wartung & Versicherung: 150 € Gesamtkosten über 3 Jahre: (500 € + 150 €) × 36 Monate = 23.400 € Falls Kauf am Ende möglich: Restwertzahlung 20.000 € Kosten ohne Kauf: 23.400 € Kosten mit Kauf: 43.400 € Vorteile: Niedrige monatliche Kosten, steuerliche Vorteile Nachteile: Langfristige Verpflichtung, evtl. Mehrkosten bei Rückgabe Vergleich der Gesamtkosten über 3 Jahre Kauf (Kreditfinanziert) : 47.160 € Miete (Auto-Abo) : 43.200 € Leasing (ohne Kauf) : 23.400 € Leasing (mit Kauf) : 43.400 € Kauf ist auf lange Sicht günstiger als Leasing mit Kaufoption , aber erfordert höhere Anfangsinvestitionen. Falls das Auto länger als 3 Jahre genutzt wird, wird Kauf noch attraktiver , da nach Kreditablösung keine monatlichen Raten mehr anfallen. Miete ist am teuersten , lohnt sich aber für maximale Flexibilität. Leasing ist am günstigsten , wenn das Auto nach 3 Jahren zurückgegeben wird. Links Permalink zu dieser Podcast-Episode RSS-Feed des Podcasts Transkription der gesamten Episode [0:00] Herzlich willkommen zum IT-Berufe-Podcast, dem Podcast rund um die Ausbildung in den IT-Berufen. In dieser Episode geht es um den Unterschied zwischen Kauf, Miete und Leasing. Viel Spaß! [0:12] Hallo und herzlich willkommen zur 193. Episode des IT-Berufe-Podcasts. [0:18] Mein Name ist Stefan Macke und heute geht es mal um ein ganz, ganz spannendes Thema, was allerdings wenig mit IT zu tun hat, aber was oft in der IT-Abschlussprüfung abgefragt wird. Und zwar den Unterschied zwischen Kauf, Miete und Leasing. Was hat das mit IT zu tun, fragt man sich, wenn man dieses Thema hört. Aber wie wir alle wissen, sind die IT-Berufe kaufmännische Berufe. Und deswegen müssen wir auch ein bisschen Rechnungswesen und so ein Zeug lernen. Und dazu gehört zum Beispiel auch die Frage, wenn ich was für mein Unternehmen anschaffen möchte, zum Beispiel ein Auto, eine Maschine oder auch Server, die sind ja auch nicht gerade günstig heutzutage. [0:55] Was ist denn da am sinnvollsten? Soll ich das Ding kaufen? Soll ich da für einen Kredit aufnehmen? Miete ich mir die vielleicht oder lease die? Und was da so die Unterschiede sind zwischen diesen drei Arten der Finanzierung für Investitionen, wie zum Beispiel Serveranschaffung und so weiter. Das wollen wir uns heute mal anschauen oder anhören, besser gesagt. Und die Frage ist, wie bin ich jetzt auf dieses Thema gekommen? Ich habe ja in meiner letzten Episode die ganzen bisherigen Themen der AP1 und 2 für AnwendungsentwicklerInnen auseinandergenommen. Und da ist mir mit Erstaunen aufgefallen, dass tatsächlich auf Platz 6 Auf Platz 5 der Themen, die bisher die meisten Punkte brachten in den AP1en, steht tatsächlich Leasing. Und das ist dann oft sowas wie, vergleichen Sie Leasing mit Miete oder Kauf, was sind die Vor- und Nachteile, aber teilweise auch wirklich komplett ausgerechnet, das und das ist die Leasingrate, was kostet das nach x Jahren und so weiter und so fort. Also da kann man ganz viel mit verbinden. Sowohl schöne kleine Rechenaufgaben als auch so ein bisschen Wissensfragen. [1:53] Was ist der Unterschied? Was heißt überhaupt Wiesing und so weiter? Und ja, das ist, da hätte ich jetzt nicht gedacht, dass es zu diesem Thema so viele Fragen schon gab. Deswegen ist es Zeit, das jetzt vielleicht mal aufzunehmen, weil wir wollen ja auch ein bisschen die Prüfungsvorbereitung natürlich machen. Und außerdem sind solche Fragen natürlich nicht nur für die Prüfung interessant, sondern auch für den Rest des Lebens. Wenn man vielleicht mal irgendwas anschaffen will, auch als Privatperson, ist es ja vielleicht ganz interessant, die Unterschiede zu kennen oder zumindest dann, worauf man achten kann oder soll, wenn man sich entscheidet, wie man es machen will. [2:19] Ja, und so würde ich das heute einfach mal aufbauen. Wir gucken uns die drei Sachen an und ich würde anfangen mit dem Kauf. Dann gehen wir zur Miete und dann kommen wir zum Leasing. In der Reihenfolge würde ich mal durchgehen. Den jeweiligen Vor- und Nachteilen und was am Ende dann so die Kriterien sind, um zu entscheiden, was man am besten machen kann. Aber fangen wir mal ganz vorne an. Alle drei Formen sind Finanzierungsformen. Das heißt, ich möchte irgendetwas für mein Unternehmen anschaffen, sei es ein Haus, ein Grundstück, ein Auto, ein Server, ein was auch immer. Irgendwas will ich für mein Unternehmen anschaffen. und jetzt habe ich grundsätzlich ja immer die Möglichkeit, das Ding einfach im Laden zu kaufen oder zu bestellen bei einem Online-Shop oder was auch immer und mir das liefern zu lassen. Aber wenn es ein bisschen teurer wird, dann ist vielleicht die Frage, ob es da nicht noch Alternativen gibt, weil da muss man sich schon ein bisschen Gedanken machen. Wenn ich jetzt so ein Auto kaufe für, weiß ich nicht, 40.000 Euro. [3:09] Habe ich das Geld Cash auf dem Konto und will das auch ausgeben dafür und das Geld damit quasi binden an diesem Auto oder will ich das vielleicht lieber doch nicht ausgeben, stattdessen aber zum Beispiel dann mieten und mit dem Geld, was ich jetzt auf der Bank rumliegen habe, halt was anderes machen. Zum Beispiel investieren oder noch was anderes kaufen, noch ein zweites Auto oder was weiß ich. So, das ist ja immer die Frage, was mache ich mit meinem Geld? Gebe ich das lieber aus? Hole ich mir einen Kredit? Binde ich mich da an irgendwelche langfristigen Verträge? Hau ich das einmal auf den Tisch? Das hat alles immer so Vor- und Nachteile und das muss man sich immer gut überlegen. Je nachdem, wie viel Geld ich vielleicht auch in den nächsten Monaten und Jahren brauche. So ein bisschen Liquiditätsplanung hängt dahinter und so weiter. Und diese drei grundsätzlichen Arten, die wir uns heute angucken. [3:48] Kann man dabei so ein bisschen unterscheiden. Also wenn ich jetzt liquide genug bin und richtig viel Kohle auf dem Konto habe, dann ist es wahrscheinlich kein Problem zu sagen, komm, ich kaufe das Auto jetzt, dann gehört es mir, es ist bezahlt, ich habe keine langen Verträge oder so an der Hacken und bin fertig. Aber das ist meistens nicht der Fall, sagen wir immer so. Gerade vielleicht auch, wir machen ja auch in der Ausbildung viele Themen, die einem vielleicht auch später helfen, wenn man sich selbstständig machen will. Zum Beispiel als Freelancer oder wirklich komplett selbstständig unterwegs ist, vielleicht als, weiß ich nicht, Softwareentwickler oder so etwas. Und da muss man sich dann gut überlegen, wenn man gerade anfängt, kann ich mir so ein Auto leisten. Nur weil ich jetzt eine Firma bin oder habe, habe ich ja nicht einfach so, weiß ich nicht, 40.000 Euro rumflattern, um mir da so ein teures Auto zu kaufen zum Beispiel. [4:29] Deswegen ist dann immer die Frage, was habe ich denn für Alternativen? Und wenn ich jetzt wie gesagt nicht das Geld einfach rumliegen habe, dann sprechen wir jetzt hier, wenn ich von Kauf als erste Option rede, davon, dass ich mir einen Bankkredit nehme und dann mit dem Geld das kaufe. Davon rede ich jetzt und nicht, ich habe das Geld so rumliegen. Dann brauche irgendwie uns, glaube ich, nicht so viele Gedanken über Miete oder so zu machen, weil dann haben wir genug Geld auf dem Konto, um das einfach so zu bezahlen. Aber das ist nicht das Thema. Also wenn ich mir ein Auto kaufen möchte, gehe ich zur Bank und sage hier, ich will ein Auto, 40.000 Euro, gebe dir mir einen Kredit dafür und wenn ich dann Bonität nachweise und so weiter und die mir das dann auch geben, dann äußert sich das bei mir so, dass ich ja monatlich diesen Kredit zurückzahlen muss. Das ist so die Idee eines Kredits. Irgendwann will die Bank das Geld ja wieder haben und das beginnt meistens sehr schnell. Das heißt, wir machen da normalerweise einen Kreditvertrag, der über ein paar Monate meistens aber eher Jahre läuft und damit es jetzt ein bisschen einfacher ist, machen wir einfach bei allen drei Finanzierungsformen einfach mal drei Jahre Laufzeit. Das heißt, ich will jetzt ein Auto kaufen für 40.000 Euro, geht zur Bank, gebt mir bitte 40.000 Euro und dann rechnen die aus, was ich monatlich so zahlen muss, damit nach den drei Jahren das Geld wieder an die Bank zurückgezahlt wurde. Aber das machen die natürlich nicht ganz kostenfrei. Die wollen ja nicht einfach nur ihr Geld zurück, sondern wir wollen auch was dann verdienen. Das heißt, wir bezahlen natürlich Zinsen dafür. [5:42] Und jetzt ist es üblicherweise so, dass man, wenn man so einen Kredit hat, oder was heißt üblicherweise? Es ist oft so, man kann auch andere Sachen machen, aber oft ist es so, dass sich dann ein sogenanntes Annuitäten, Darlehen aufnehme, was bedeutet, dass ich über die drei Jahre der Laufzeit jeden Monat einen konstanten Betrag an die Bank zurückbezahle. Das heißt, das, was ich da jeden Monat überweisen muss oder was mir abgebucht wird, das ändert sich nicht alle paar Wochen oder einfach bei jeder Zahlung, sondern bleibt über die drei Jahre komplett identisch. Also beispielsweise nicht 1.000 Euro pro Monat und das bleibt von Monat 1 bis Monat 36 immer gleich. Das wäre ein Annuitätendarlehen. [6:19] Annuität, wenn ich mich noch recht erinnere an meinen Rechnungswesenunterricht, kommt daher, weil Annus für Jahr steht und es ist immer eine gleichbleibende Zahlung, jedes Jahr identisch. So habe ich mir das damals mal gemerkt. Das wäre so das Übliche. Man kann auch variable Rückzahlraten vereinbaren, wo es dann zum Beispiel am Anfang hohe Beträge gibt, gegen Ende wird es dann weniger und so weiter und so fort. Wir gucken uns mal der einen Fall halber nur die Annuität an. Und das würde bedeuten, wenn ich über 36 Monate jeden Monat das Gleiche an Geld bezahle, dann verändert sich das Verhältnis zwischen Zinszahlung und dem Abtrag des Kredits. Denn das, was ich da an die Bank zurückbezahle, enthält ja beides. Zum einen muss ja der Kreditbetrag verringert werden, weil am Ende der 36 Monate will die Bank ja ihre 40.000 Euro zurückhaben. Auf der anderen Seite will die auch noch die Zinsen verdienen. Das heißt, in diesen Beträgen stecken immer beide Teile drin. Und wenn der über die Laufzeit immer gleich bleibt, der Betrag. [7:13] Dann muss das heißen, dass zu Beginn der Laufzeit der Anteil der Zinsen höher ist und gegen Ende der Laufzeit der Anteil der Zinsen immer geringer wird. Das heißt, in meinen 1000 Euro, und das ist jetzt nur eine fiktive, ausgedachte Zahl, stecken vielleicht im ersten Monat 200 Euro Zinsen drin und im letzten Monat dann nur noch 20 Euro Zinsen. Und der Rest, der noch in den 1000 Euro drin ist, wird dann zum Abtrag des Kredits genommen, sodass sich jeden Monat meinen Restkreditbetrag, der noch offen ist, immer ein bisschen mehr reduziert. So läuft das üblicherweise ab, wenn ich was Teures anschaffe. Und diese Finanzierungsform, die hat jetzt bestimmte Vor- und Nachteile gegenüber Miete oder Leasing und die wollen wir uns jetzt einfach mal einmal anschauen. Wenn ich jetzt nämlich mit dem Kauf loslege und das Produkt erworben habe, dann gehört mir das. Das ist schon mal der erste wichtige Unterschied. Wenn ich jetzt mit den 40.000 Euro von der Bank zum Autohändler gehe und sage, hier, bar auf dem Tisch hast du die 40.000, wobei das ist heute nicht mehr so einfach möglich. Ich glaube ab 10.000 muss man Schwarzgeld prüfen und ich weiß nicht was. Also man überweist das dann eher oder man bezahlt die Rechnung per Banküberweisung. [8:17] Aber wenn man das Ding dann gekauft hat, dann gehört einem das Auto. Das heißt, ich kann mit dem Auto dann machen, was ich will. Ich kann das auch gegen eine Wand fahren oder ich kann mir dann noch einen anderen, was auch immer, Audio-Player einbauen oder weiß der Geier. Das Ding gehört mir und ich kann damit machen, was ich will. Auf der anderen Seite muss ich aber auch alles Mögliche damit machen, wie zum Beispiel in die Werkstatt fahren, wenn es kaputt ist oder ich muss es reparieren. Also ja, in der Werkstatt reparieren, was auch immer. Auf jeden Fall hat das Ding ja Unterhaltskosten. Ich muss zum Beispiel auch die Versicherung selber bezahlen und so weiter, weil das Ding ja komplett mir gehört. Das heißt, ich habe alle Freiheiten, aber ich habe auch alle Verpflichtungen, die mit diesem Eigentum einhergehen. Ich muss mich halt in das Auto kümmern. Und wenn ich das nicht mache, dann macht es kein anderer. Das heißt, irgendwann wird das Ding dann klapprig, wenn ich das nicht regelmäßig zur Werkstatt bringe. Ganz blöd gesagt. [9:01] Auf der anderen Seite kann ich halt alles mit dem Ding machen. Ich muss niemanden fragen, ob ich es umlackieren darf oder mir da noch einen dritten Auspuff anbauen darf. Ich kann damit machen, was ich will. Es gehört mir. Mit der Konsequenz, das ist auch Teil meines… Also es gehört übrigens nicht mir. wenn ich jetzt ich sage, reden wir natürlich immer vom Unternehmen. Also das Unternehmen ist natürlich dann Eigentümerin dieses Autos und das kann damit halt eben machen, was es will. Muss es dann aber zum Beispiel auch als Vermögen in der Bilanz aufführen, zum Beispiel. Also es ist dann wirklich ein Wertgegenstand, der Teil des Unternehmens ist und der muss damit aufgeführt werden und auch mit allen buchhalterischen Pflichten, die damit einhergehen, zum Beispiel eine Abschreibung machen. Weil das Auto verliert ja sehr stark auch an Wert, hast du vielleicht schon mal gehört. So, wenn man mit dem Auto vom Hof fährt, beim Autohändler ist es nur noch die Hälfte wert, so gefühlt. Ist ein bisschen übertrieben, aber ist auch ein bisschen was Wahres dran. Also Autos verlieren einfach extrem schnell an Wert. Das heißt, ich habe für 40.000 gerade ein Auto gekauft und ein Jahr später ist es, keine Ahnung, sagen wir mal noch 30.000 wert. Dann hast du zwar in der Bilanz noch ein teures Auto stehen, aber wenn du es verkaufen würdest, würdest du das Geld ja nie wieder reinbekommen. Das heißt, du hast eigentlich einen, ja, ich glaube, das nennt man dann nicht realisierten Verlust, weil du eigentlich einen Gegenstand in der Bilanz hast, der laut Buchhaltung teuer ist, aber wenn du ihn verkaufen würdest, das Geld gar nicht einbringen würde. Ja, das ist dann immer so ein bisschen blöd. Und wenn du dann kurzfristig zu Geld kommen musst, kriegst du auf jeden Fall nicht mehr das, was du eigentlich bekommen müsstest, damit das alles aufgeht. [10:19] So, damit wir jetzt hier nicht ganz vom Pfad abweichen, dann gucke ich nochmal kurz auf meine Liste. Also Vorteil ist, das Ding gehört mir. Ich muss aber auch einige Pflichten, die damit einhergehen, umsetzen, kann es dann aber zum Beispiel auch abschreiben. Und Abschreibung ist, wie du hoffentlich schon mal gelernt hast oder wenn nicht, dann hörst du es jetzt, die Möglichkeit, wie du so einen Wertgegenstand über eine gewisse Dauer, nämlich über die Nutzungsdauer und das variiert je nachdem, was für einen Gegenstand ich da habe bei Autos. Ich weiß jetzt gar nicht auswendig, was die Nutzungsdauer ist. Ich sage jetzt einfach mal, fünf Jahre fährt man so ein Auto. Bei Häusern ist das ein bisschen anders. Die kann man auch nach 20 Jahren noch benutzen. Das heißt, je nachdem, was ich mir da gekauft habe. PCs sind, glaube ich, zwei oder drei Jahre Nutzungsdauer, bis das Ding quasi kaputt geht, ganz blöd gesagt. Wo man es ersetzen muss. Bis dahin kann ich das abschreiben. Das heißt, ich nehme den Anschaffungsbetrag und teile das durch die Nutzungsdauer in Jahren und dann kann ich jährlich diesen Betrag von der Steuer absetzen. [11:10] Damit verringere ich quasi das Einkommen, was ich versteuern muss. Das ist also eine ganz nette Sache. Aber ich habe halt zusätzliche Kosten, weil ich Versicherung, Unterhalt und so weiter alle selber bezahlen muss. Und ich habe natürlich auch noch die Zinsen, die ich der Bank bezahlen muss. Darf man ja auch nicht vergessen. Die machen das ja auch nicht umsonst. Aber auch hier die Zinsen, die ich der Bank bezahle, weil das ja für einen Firmenwagen ist, kann ich die auch als Betriebsausgaben steuerlich absetzen. Das heißt, ich habe eigentlich steuerlich recht viele Möglichkeiten, wenn ich mir das Ding gekauft habe im Kredit. Ich kann es abschreiben und zusätzlich noch die Zinszahlung an die Bank steuerlich geltend machen. Also das hört sich erstmal ganz nett an, hat aber noch einen weiteren finanziellen Nachteil. Ich habe jetzt meinen Haufen Schulden, ganz blöd gesagt. Und so ein Auto, das ist jetzt mal ein schönes Beispiel, weil mit so einem Auto kann ich ja wirklich irgendwo gegen den Baum fahren, sagen wir mal. Und jetzt mal unabhängig davon, ob mir was passiert, da fangen wir mal aus, dass das glimpflich ausgeht. Aber wenn das Auto kaputt ist, dann habe ich jetzt ein Problem, weil ich schulde der Bank 40.000 Euro. Ich habe kein Auto mehr, mit dem ich rumfahren kann. Und jetzt stehe ich da. Was mache ich jetzt? Ich bin ja der Eigentümer des Autos. Das heißt, ich muss mich um alles kümmern. Das Ding ist kaputt. Jetzt habe ich schlechte Karten, weil ich jetzt einen Haufen Schulden habe und kein Auto, mit dem ich fahren kann. Das ist doof. Und ich kann jetzt auch keinem sagen, hey, das Auto ist kaputt. Ich hätte gerne ein neues. Stell mir das mal morgen da auf den Hof. Dann sagen die, bezahl nochmal die 40.000 Euro und dann machen wir das. Das heißt, da wird so ein bisschen klar, was jetzt die Vor- und Nachteile sind. [12:28] Eigentum verpflichtet heißt es ja immer so schön. Und wenn ich so ein Auto gekauft habe, dann habe ich halt alle Vor- und Nachteile, weil es jetzt mir gehört. Und die Bank sagt nicht, ach, dein Auto ist kaputt. Ja Mensch, dann schenken wir dir jetzt den restlichen Kredit, den musst du nicht mehr zurückzahlen. Nee, das machen die leider nicht. Auch wenn dir ein Haus abbrennt, was du finanziert hast, musst du trotzdem deine Zinsen weiter bezahlen. Eins ist sicher, die Bank kriegt ihre Kohle wieder. Das ist auf jeden Fall mal klar. Und genau, das ist auf der einen Seite cool, so ein Kauf, weil ich kann komplett zum Beispiel auch selbst bestimmen, was für ein Auto ich eigentlich haben will. Ich kann die Farbe selbst bestimmen, die Ausstattung, das ist ja mein Auto. Ich gehe zum Auto hin und sage, ich will genau dieses Ding mit der Ausstattung, hier ist die Kohle. Das heißt, ich habe sehr viel Freiheit, aber eben auch diese Bindung, ich muss mich darum kümmern, es gehört jetzt mir, es steht in der Garage, es muss gepflegt werden und wenn es kaputt geht, muss ich mich auch darum kümmern und die Bank ist mir im Nacken, weil ich ständig Kreditzinsen zahlen muss und so weiter. Also das ist so in der Nutshell, was den Kauf ausmacht. Also grundsätzlich erstmal nicht gut oder schlecht. Es hat jede dieser Finanzierungsformen, die wir uns angucken, Vor- und Nachteile. Und die haben wir jetzt mal so grob für den Kauf durchgesprochen. Das heißt, fassen wir mal kurz zusammen. Wie sieht es beim Kauf aus? [13:37] Normalerweise, das habe ich noch gar nicht erwähnt, ist ein Kauf immer günstiger als Liete oder Miesing. Ja genau, als Miete oder Leasing. [13:46] Die anderen Formen gehen wir gleich nochmal durch. Aber langfristig kann man sagen, wenn ich das Auto über einen gewissen Zeitraum nutze, dann ist das grundsätzlich immer billiger als die andere Finanzierungsformen. Kannst du dir ganz einfach überlegen, auch wenn du das Auto deutlich länger nutzt, als du es vielleicht abschreibst, dann fährst du das Auto ja irgendwann für 0 Euro, ganz blöd gesagt. Alle Kreditzinsen sind zurückgezahlt, abgeschrieben. Du kannst das Auto aber trotzdem noch weiterfahren. Ein Auto muss nicht nach drei Jahren ersetzt werden. Das fährt auch mal 20 Jahre. Und in der Zeit, wo die Kreditzinsen abgezahlt sind, fährst du das Auto quasi für umsonst. Sprit und Versicherungszahlen sind natürlich trotzdem, klar. Aber die Finanzierung ist halt abgeschlossen. Und das hättest du bei Miete und oder Leasing nicht ein bisschen eingeschränkt. Da kommen wir gleich noch drauf. Also Kauf, wenn du es langfristig machen willst, günstiger als die anderen beiden Formen. Du hast die volle Kontrolle, du hast keinerlei Vertragsbindung oder sonst irgendwas. Du kannst genau sagen, was für ein Auto du haben willst und das morgen zum Umlackieren bringen. Ganz egal. [14:40] Wie gerade schon gesagt, du kannst das Ding abschreiben, du kannst die Zinsen steuerlich geltend machen und du kannst auch mit dem Auto machen, was du willst. Also du hast zum Beispiel keine Einschränkung, dass du maximal, weiß ich nicht, 10.000 Kilometer im Jahr damit fahren darfst. Und du kannst damit machen, was du willst. Es ist dein Auto. Du kannst auch Urlaub im Ausland machen, sofern der Urlaub betrieblich Hintergründe hat natürlich. Ja, sonst gibt es mal wieder ganz andere steuerliche Probleme. Also wenn man jetzt wirklich mit dem Auto nur betrieblich unterwegs ist, dann gilt das ja alles. Fahre ich damit auch nur in Ansätzen mal privat durch die Gegend, dann haben wir ein ganz anderes Thema. Ich bin übrigens kein Steuerberater, sage ich mal ganz kurz zwischendurch. Aber hier geht es ja nur um das, was wir für die Prüfung wissen müssen und nicht, was nachher auf der Steuererklärung steht. [15:16] So, ein Nachteil ist allerdings diese hohe Anfangsinvestition. Auto, 40.000 Euro muss ich erstmal auf den Tisch legen. Kann ich mir von der Bank holen? Ja. Aber wie gesagt, dann habe ich erstmal 40.000 Euro minus irgendwo auf dem Kreditkonto stehen. Da muss man auch mit umgehen können, dass man der Bank so viel Geld schuldet. Außerdem, wie gerade schon gesagt, fahre ich mit dem Auto von der Hof, ist es nur noch die Hälfte wert. Das heißt, ich habe einen hohen Wertverlust. Wenn ich an das Geld wieder ran will, kriege ich es kurzfristig zumindest nicht in der Höhe zurück, wie ich es bräuchte, weil das Auto halt einfach super schnell an Wert verliert. Noch schlimmer ist es ja bei, weiß nicht, wenn ich mir einen Laptop kaufe oder so. Die kann ich ja direkt verschrotten, ganz glücklich sagen, wer kauft sowas gebraucht für viel Geld. Das kriegt man ja einfach nie wieder, was man dafür ausgegeben hat. Und ich muss mich halt darum kümmern. Also Wartung, Versicherung etc. Ist alles bei mir. Das nimmt mir keiner ab. Das ist so zusammengefasst Vor- und Nachteile eines Kaufes. [16:04] So, dann würde ich sagen, als nächstes kommen wir zur Miete. Und ich denke mal, dass du Miete irgendwo aus einem anderen Kontext sicherlich schon mal gehört hast. Also muss man wahrscheinlich nicht lange erklären, was das ist, wenn du eine Wohnung mietest oder eben ein Auto mietest. Macht man jetzt nicht so häufig als Privatperson, vielleicht mal für einen Urlaub oder so, mietet man sich ein Wohnmobil oder einen großen Van oder was auch immer. Also das ist damit gemeint. Es gibt hier keine Special-Miete für Unternehmen oder sonst irgendwas. Es geht einfach darum, ich glaube, das heißt dann sowas wie kurzfristige Nutzung gegen regelmäßige Zahlung oder irgendwie so ist das definiert oder Überlassung zur Nutzung oder irgendwie. Also es gibt da so einen lustigen rechtlichen Begriff, wie das dann definiert ist. Aber du weißt, was gemeint ist. Du leihst dir von irgendwem irgendwas, ein Auto, eine Wohnung, einen Computer und zahlst ihm dafür regelmäßig Geld. So, das ist erstmal die Miete und das hat erstmal einen großen Vorteil, was die Flexibilität angeht, weil du könntest relativ schnell auch sagen, ich habe keinen Bock mehr, das zu mieten, ich bin jetzt wieder raus. Bei einer Wohnung hat man da üblicherweise Kündigungsfristen, okay, keine Ahnung, drei Monate oder sowas, dann ist man raus, aber wenn du es jetzt vergleichst, du kaufst dir ein Haus oder du mietest ein Haus, dann bist du sicherlich sehr viel flexibler, wenn du es mietest, weil du einfach kurzfristig sagen kannst, so, ich ziehe um, ich will weg und dann bist du halt raus. Und kurzfristig drei Monate im Vergleich zu ich muss ein Haus verkaufen und. [17:21] Kredit umschichten und ich weiß nicht, was da alles hinterhängt. Das ist alles andere als einfach und kurzfristig möglich. Also Miete, super flexibel. Ich kann heute sagen, hey, ich brauche heute Nachmittag einen Firmenwagen, weil ich irgendwie zu einer Messe fahren will. Und dann gehe ich zu irgendeinem großen Anbieter und miete mir da ein Auto, bezahle da ein bisschen Geld und dann habe ich das Auto und kann damit losfahren. Also super kurzfristig. Morgen bringe ich das Auto zurück, bin jetzt wieder los quasi. Das ist ein Riesenvorteil. Große Flexibilität Und normalerweise sind diese Mietverträge auch wirklich nicht langfristig, sondern eher kurzfristig. Also vielleicht Wochen, vielleicht Monate. Aber wir reden hier üblicherweise nicht von Jahren, sondern es sind deutlich kürzere Laufzeiten üblicherweise. Großer Vorteil ist dann natürlich, ich muss nicht Anfangsinvestitionen haben von x-tausend Euro, sondern Ich meine, Mietwagen sind jetzt auch nicht günstig. Vielleicht hast du ja immer schon mal einen gemietet irgendwo im Urlaub oder so. Da reden wir jetzt auch von zig oder eher 100 Euro am Tag oder so, wenn man ein vernünftiges Auto mietet. Aber es ist natürlich immer noch deutlich günstiger, als wenn ich erstmal 40.000 Cash auf den Tisch legen muss, um ein fertiges Auto zu kaufen. Ja, von daher, ich habe keinen hohen Anfangsinvest und das ist tatsächlich für viele Unternehmen wichtig, gerade vielleicht als Startup oder wenn du selber dich selbstständig machst. Wie gesagt, am Anfang 40.000 mal eben für so ein Auto, wo soll das Geld herkommen, wenn du gerade aus der Ausbildung kommst oder so? Ist schwierig, aber mal eben mieten, das ist dann schon eher drin, vor allem, wenn man es auch kurzfristig wieder zurückgeben kann und die Miete nicht mehr zahlen muss. Ja, ist sehr flexibel, wie gesagt. [18:45] Außerdem, großer Vorteil, du musst dich normalerweise überhaupt nicht um die Instandhaltung kümmern. Kennst du vielleicht von der Wohnung, aber auch beim Auto ist es so, wenn du Miete, einen Mietwagen hast, du musst da am Ende nicht in die Werkstatt fahren, wenn es kaputt ist. Dann sagst du einfach, ich habe ein Auto gemietet, hier, ich hätte gerne Neues, das ist kaputt. Ja, dann bringst das zur Werkstatt und kriegst einen Ersatzwagen quasi. Das heißt, du musst dich nicht um die Versicherung, um die, weiß ich nicht, Kfz-Steuer und Schlagmilchtod kümmern. Du bezahlst einfach Betrag X und kriegst quasi Full Service. Hier ist das Auto, mach damit, was du willst. Sprit musst du meist noch bezahlen, okay, aber das war es dann auch. Das heißt, du musst dich um das Ding nicht kümmern. Und wenn es kaputt ist, ist ja nicht dein Auto. Genau wie in der Wohnung. Wenn in deiner Wohnung die Heizung kaputt geht, dann musst du dich auch nicht als Mieter darum kümmern, dich zu reparieren, sondern das macht der Vermieter, weil das ist ja seine Heizung, der das da vermietet. [19:28] Und demnach hat das entsprechend auch Vorteile, wenn du halt irgendwie kurzfristig was brauchst, gehst du da hin, mietest das eben, ich weiß nicht, gibst eine Woche später zurück und sehr flexibel und üblicherweise auch nicht allzu teuer, diese Miete. Aber jetzt kommt der krasse Nachteil, wenn es dir um langfristige Sachen geht, ist die Miete normalerweise das Teuerste, was du machen kannst. Denn weil die Mietverträge meistens halt nur kurzlebig sind, wollen die natürlich auch ein bisschen Geld damit verdienen. Das ist natürlich viel cooler für jemanden, wenn er dir für fünf Jahre ein Auto vermietet und regelmäßig dieses Einkommen hat, was du da zahlen musst, als wenn irgendwie jede Woche jemand anders kommt und du dich auch noch darum kümmern musst, neue Kunden zu finden. Und dann ist das eine Woche mal nicht vermietet und dann kriegst du gar kein Geld und das ist natürlich für den Vermieter auch wieder schwierig. Deswegen ist normalerweise diese Flexibilität oder bezahlst du diese Flexibilität mit einer höheren Mietrate, als wenn du das Ding kaufst oder liest, wo wir dann gleich zukommen. [20:23] Außerdem, Nachteil, wenn das für dich irgendwie relevant ist, du hast normalerweise gar kein Mitspracherecht, was das Auto angeht, wie es aussieht, du kannst dir da nicht einfach noch einen, ich habe keine Ahnung von Autos, einen zweiten Vergaser einbau, wollte ich gerade sagen, aber ich glaube nicht, dass das irgendeinen Sinn ergibt. Also du kannst es nicht umlackieren oder sonst was an dem Auto machen. Es gehört dir ja nicht. Du leistest dir nur aus. Du mietest es und du hast dementsprechend als Unternehmen auch keine Möglichkeit, das irgendwie abzusetzen oder so, weil es ist ja nicht dein Auto. Also abschreiben funktioniert nicht. Was du natürlich sehr wohl machen kannst steuerlich, ist die Mietraten. Die kannst du abschreiben. Das sind ja Zahlungen, die du für dein Unternehmen tätigst. Du brauchst dieses Firmenauto, damit du durch die Gegend fahren kannst. Und das kannst du genau wie die Kreditzinsen beim Kauf einfach steuerlich absetzen und das senkt dann dein Einkommen. Du musst halt weniger Steuern zahlen. Also das ist genauso möglich und weil die Mietraten ja auch relativ hoch sind, sparst du damit vielleicht dann entsprechend ein bisschen Steuern. Das kann halt sein. [21:15] Ja, das wären so die Nachteile. Das heißt, wenn wir es nochmal zusammenfassen, so Miete, da geht es ja darum, es ist eher dafür ausgelegt, dass du kurzfristig irgendeinen Bedarf dort deckst, wie zum Beispiel beim Auto. Ich muss heute mal irgendwie eine Woche weg und nächste Woche brauche ich das Auto aber gar nicht mehr. Steht nur auf dem Hof. Ja, dann mietest du es dir halt. Das Auto gehört dir aber nicht. Das nochmal kurz, hatte ich glaube ich schon in einem anderen Podcast, den Unterschied zwischen Eigentum und, wie ist es, Besitz. Wenn ich eine Sache besitze, also in meinem Besitz befindlich ist, dann habe ich den Zugriff auf dieses Ding. Ich habe zum Beispiel einen Autoschlüssel und fahre mit dem Auto durch die Gegend. Aber das heißt, dass mir das Auto auch gehört. Das wäre dann das Eigentum. Und das Auto bleibt Eigentum des Vermieters. Du kannst 0,0 bestimmen, was der mit diesem Ding macht, ob er es wartet, versichert und repariert. Das ist alles nicht deine Aufgabe und du hast auch gar kein Recht. Du hast es dir nur ausgeliehen. Also in dem Moment bist du der Besitzer dieses Autos. Du fährst damit durch die Gegend, aber es gehört dir halt nicht. Und dementsprechend darfst du auch nichts bestimmen, was mit diesem Auto passieren soll langfristig. Ob es umlackiert wird oder nicht oder ob in eine andere Anlage eingebaut wird. Also für kurzfristige Sachen super. Es ist mega flexibel. Du kannst schnell wieder loswerden, aber es ist üblicherweise auch super teuer, wenn du es langfristig machen möchtest. Das wären so kurz zusammengefasst die Vor- und Nachteile von Mieten. [22:35] So, dann kommen wir noch zum letzten Punkt und das ist ja der Grund, warum ich eigentlich heute hier die Podcast-Episode, ich habe es heute irgendwie, ich weiß auch nicht, aufnehme und zwar Leasing. Und ich habe das in der Reihenfolge gemacht, weil Leasing eigentlich nur eine besondere Form der Miete ist. Also es gibt da zwar Leasing-Verträge, aber eigentlich gibt es rechtlich, es gibt ja so ein paar Vertragsformen, dazu habe ich übrigens schon mal eine eigene Podcast-Episode gemacht, auch interessant für die RP1, sowas wie Kaufvertrag und Arbeitsvertrag und so weiter. Und es gibt keinen eigenen Leasing-Vertrag, sondern es ist eigentlich ein Mietvertrag mit besonderen Vereinbarungen. Das heißt, hier geht es darum, mal ganz kurz zusammengefasst, dass ich irgendein Ding und meistens ist es halt was Teureres, wie zum Beispiel ein Auto oder eine große Maschine. Aber man kann zum Beispiel, habe ich glaube ich auch gesehen, inzwischen Kaffeemaschinen leasen, also die teure. Hier die 1000 Euro Espresso, Schlag mich tot, Siebdruck. Siebdruckmaschine, Sieb. Wie heißt das? Ich habe keine Ahnung von Kaffee. [23:30] Siebgussmaschine. Du weißt wahrscheinlich, was ich meine. Also teure Kaffeemaschine kann man inzwischen glaube ich auch leasen oder ein Thermomix. Eine Heizung kann man auch schon leasen im privaten Umfeld. [23:41] Und es geht also grundsätzlich eher darum, dass ich ein bisschen teurere Sachen mir lease und dann eben auch langfristig, um das mal zu unterscheiden von der Miete. Wir hatten ja gerade gesehen, dass Miete sich relativ kurz vor sich anpassen lässt und es eher nicht dafür geeignet ist, dass ich mir ein Auto für 20 Jahre miete, weil dann kann ich es einfach viel besser kaufen. Sondern beim Leasen geht es darum, dass ich über schon eine längere Zeit etwas miete und dann auch üblicherweise feste Raten vereinbare. Und das ist auch ganz oft der Fall am Ende dieser Laufzeit, ich auch die Option bekomme, das Ding doch zu kaufen. Das heißt, wenn ich ein Auto lease und das läuft über drei Jahre zum Beispiel, dann kann ich nach den drei Jahren für den Restwert des Autos das Ding vom Verleaser, würde ich schon sagen, vom Leasinggeber kaufen. Übrigens, der dir das Ding verliest, heißt halt eben Leasinggeber. Und ich, wenn ich das Auto lease, bin ich der Leasingnehmer. Und ich habe als Leasingnehmer ganz oft, das ist nicht immer so, aber oft habe ich so eine Vorkaufsoption. Das heißt, wenn das Ding nach den drei Jahren verkauft werden soll, dann bin ich der Erste, der das vielleicht bekommt, wenn ich es denn möchte. Ich muss es aber nicht kaufen. Das ist ganz oft so, sondern ich kann es auch zurückgeben. Das heißt, ich könnte sowas machen wie alle drei Jahre lease ich mir ein neues Auto und dann habe ich halt alle drei Jahre ein neues Auto. Ja, ist doch ganz cool. Und danach gebe ich es zurück. Und wenn ich irgendwann sage, boah, das Auto gefällt mir so gut und es ist noch im Top-Zustand, ich will das jetzt kaufen, dann kann ich es halt für den Restwert noch kaufen. So ist so grob der Ablauf beim Leasing. [25:04] Und weil es halt langfristig ist und der Leasinggeber halt dauerhaft quasi mit den Einkünften rechnen kann und nicht alle Nase lang das Ding neu vermieten muss zum Beispiel, sind die Raten üblicherweise auch deutlich geringer als bei Miete. Dafür habe ich halt eine längere Laufzeit. Das heißt, der Leasinggeber hat, sage ich mal, ein regelmäßiges Einkommen. Du als Leasingnehmer hast geringere Raten, hast aber auch weniger Flexibilität, weil die Laufzeit von einem Leasingvertrag ist halt üblicherweise, ich sage jetzt mal beim Auto, drei Jahre. Das heißt, du bist auf drei Jahre an den Vertrag gebunden. Du kannst dann auch nicht nach einem Jahr sagen, so jetzt habe ich keinen Bock mehr auf das Auto, ich gebe dir das zurück. Vertrag ist Vertrag, der läuft drei Jahre, also zahlst du auch drei Jahre und kommst dann nicht jetzt vorzeitig raus. Zumindest ist das ganz oft der Fall. [25:44] Vorteile von diesem Leasing ist quasi in Teilen das, was du bei Miete hast, nämlich du hast eine geringe Anfangsinvestition, du musst wieder nichts auf den Tisch legen, du machst halt nur einen etwas längerfristigen Vertrag. Die Raten sind ein bisschen niedriger als bei der Miete, dafür halt eben längere Laufzeit. Ist etwas nachteilig, gerade wie schon gerade erklärt. Dafür hast du aber deutlich besser planbare Kosten, weil das hatte ich, glaube ich, gerade bei der Miete noch gar nicht gesagt. Aber Miete kann auch kurzfristig angehoben werden. Meistens ist das so. Kann auch gesenkt werden, aber meistens geht es nach oben. Das heißt, wenn der Vermieter sagt, so Leute, war schön mit dem Auto, aber ab nächster Woche kostest du das Doppelte, dann bezahlst du halt das Doppelte. Und das ist für dich als Mieter oder Mieterin nicht so schön damit zu planen. Man wünscht sich ja nicht, dass ständig da irgendwelche Kosten nach oben gehen. Und du wusstest das vorher nicht, kann bei der Miete aber theoretisch passieren, außer du hast irgendwo im Betrag vereinbart, dass das nicht passiert, aber das ist nicht üblich, soweit ich weiß. Das heißt, es kann sein, dass du auch über die Zeit immer mehr Miete zahlen musst. Beim Leasing ist es anders, da hast du einen festen Betrag, so ein bisschen wie beim Annuitätendarlehen. Du sagst, für die nächsten drei Jahre zahle ich monatlich x und dann bleibt das auch x und dann wird das nicht irgendwann x plus y, sondern es bleibt bei x. Das ist also schön planbar für dich, aber auch für den Leasinggeber natürlich. [26:58] Die Kosten für die Leasingraten kannst du, genau wie bei der Miete übrigens und bei den Zinszahlungen beim Kauf, auch absetzen. Das heißt, wenn wieder Betriebsausgaben mindern dein Einkommen, weniger Steuern, aber halt nicht ganz so stark wie bei der Miete, weil die Mietzahlungen halt normalerweise höher sind als beim Leasing. Dafür ist aber der Vorteil, und deswegen machen das auch viele so gerade bei Firmenwagen, du könntest halt nach drei Jahren sagen, so ich lasse das Ding auslaufen, Auto geht zurück, ich hole nur das nächste Auto, das ich wieder lease. Das heißt, du hast theoretisch alle drei Jahre dann ein niegelnagel neues Auto stehen, mit dem du weitermachen kannst. Kannst du bei Miete natürlich auch, kannst sagen, komm, ich gebe den Mietwagen zurück und ob nächste Woche nehme ich eine Stufe besser oder ein anderes Auto oder was auch immer. Klar, geht auch. Das kannst du bei Miete halt sogar noch kurzfristiger. Aber wenn dein Plan fällt, ist das Ding etwas langfristiger zu nutzen. Beim Leasing ginge das auch, dann halt aber nur alle drei Jahre. Wenn der Vertrag drei Jahre läuft, gibt es ja auch welche, die kürzer oder länger laufen. [27:51] Nachteil für dich, du hast halt über mehrere Jahre so einen Vertrag anhacken und gerade wenn es dir dann vielleicht wirtschaftlich mal nicht so gut geht, können auch die geringeren Leasingraten im Vergleich zur Miete immer noch ziemlich hoch sein. Das heißt, du bist dann wirklich gebunden und du kommst da auch nicht vorher raus, du musst das Ding weiter bezahlen und das sollte man sich halt gut überlegen, ob man hohe Kosten über so eine lange Laufzeit ohne irgendeine Möglichkeit hat, da rauszukommen. Das ist manchmal, ja, muss man sich gut überlegen, sagen wir so. Außerdem im Vergleich zum Kauf ist Leasing natürlich trotzdem teurer. Denn diese Vorkaufoption, was ich da gerade sagte, am Ende der drei Jahre, ist das Auto natürlich nicht mehr das wert, was es zu Beginn der Zeit war. Und natürlich kriegen die Leasinggeber, ich will da jetzt niemandem zu nahe treten, aber die kriegen das schon hin, dass sie das so rechnen, dass sie noch ein bisschen Gewinnball machen. Das ist klar. Also der Wertverfall, der darunter gerechnet wird, der ist in der Realität schon ein bisschen höher als das, was man am Ende dann noch zahlen muss. Das heißt, am Ende zahlst du schon ein Bewerb. Ein bisschen drauf, sagen wir mal so. Du musst jetzt nicht den vollen Preis bezahlen, aber du bezahlst auch nicht das, was das Ding noch wirklich wert ist, sondern schon noch ein bisschen mehr. Also im Vergleich zum Kauf zahlst du drauf, dafür hast du aber die Option, das Ding zu kaufen. Wenn du es nicht kaufen willst, gibst du es halt zurück. Also eine gewisse Flexibilität hast du da ja auch und kannst es dann aber auch übernehmen und dann alles, was damit einhergeht. Also kannst du noch den dritten Auspuff dran bauen und was auch immer. [29:13] Und was aber jetzt das Leasing nochmal auch interessant macht, ist, dass man auch ein bisschen mehr Mitspracherecht hat. Weil wenn du halt so einen langfristigen Vertrag machst, zum Beispiel über drei Jahre, dann kannst du halt auch sagen, ich hätte gern das Auto mit dieser Ausstattung und hier noch einen Ledersitz und da noch einen fünften Auspuff. Und dann stellen die dir das Auto so ein bisschen so zusammen, als würdest du es kaufen. [29:30] Weil du dich ja auch langfristig daran bindest. Deswegen hast du auch mehr Mitspracherecht. Und nicht so ein Ding, was du für eine Woche mietest. Da bauen wir dir nicht extra noch ein cooles Audiosystem ein, nur weil du es gerne mal mieten willst für eine Woche. Beim Leasing ist das anders. Das ist ein langfristiger Vertrag. Das heißt, da kann dann auch drinstehen, hier, wir mieten genau dieses Auto mit dieser Sonderausstattung etc. Und dann ist es halt auch noch attraktiver nach den drei Jahren, das Ding zu kaufen, weil es ja genau dem entspricht, was du dir mal ausgesucht hast. Also durchaus individualisierbar, aber zentraler Nachteil, lange vertragliche Bindung und insgesamt sind die Kosten höher. Also wenn du eh denkst, dass das Auto ein paar Jahre länger fährst als die drei Jahre, dann ist ein Kauf auf jeden Fall immer noch günstiger, als das mit Leasing zu finanzieren. [30:10] So, das war jetzt erstmal die Theorie dieser drei Finanzierungsformen. Kauf, Miete und Leasing, wobei Leasing eigentlich nur so eine Special-Form von Miete ist. Und jetzt natürlich die Frage, wie können Aufgaben in der Prüfung aussehen? Also zum einen mal so ein bisschen den Hintergrund, weiß nicht, kleine Frage für zwei Punkte, was ist eigentlich Leasing oder was ist besser, Miete oder Leasing oder so? Und natürlich gibt es nicht das eine, das besser ist, sondern es kommt immer auf den… Konkreten Faller. Standardantwort kommt drauf an. Da muss man gucken, wie sieht es denn aus? Was ist das für ein Unternehmen? Wie lange wollen sie das Ding benutzen? Etc. Das heißt, man muss sich dann immer anschauen, wenn ich mir jetzt überlege, was mache ich denn jetzt? [30:44] Welche Kriterien gibt es denn, um die Entscheidung zu treffen? Und dann kann ich mir sowas angucken, wie sieht denn das Budget aus? Wie viel Geld liegt denn auf dem Konto? Will ich 40.000 auf den Kopf hauen oder will ich das lieber in kleinen Raten zahlen? Will ich mich lange binden? Brauche ich eine Flexibilität? Wie lange will ich das Ding überhaupt benutzen? Brauche ich nur ein Auto, um einmal zur Messe zu fahren oder will ich das die nächsten zehn Jahre fahren? Brauche ich Flexibilität? Will ich alle drei Jahre oder sogar alle zwei Wochen ein neues Auto haben? Oder reicht mir das, für die nächsten 20 Jahre dasselbe Auto zu fahren, weil ich keinen großen Wert auf irgendwelche geilen neuen Features lege oder sowas? Und vor allem auch, wie sieht es denn steuerlich aus? Also kann ich das alles absetzen? Wie hoch genau ist das, was ich absetzen kann? Lohnt sich das für mich? Etc. Und das sind alles Kriterien, die ich mir anschauen sollte und die dann, wenn sowas in der Prüfung drankäme, auch sicherlich vorgegeben wären. Das weiß ich ja nicht, dass das Unternehmen dafür für Präferenzen hat, logischerweise. Also da muss man genau dann drauf schauen und dann kann man einen Vorschlag machen, was man dann vielleicht machen sollte. [31:44] Alternativ gibt es auch Aufgabestellungen, wo das einfach mal ausgerechnet werden soll mit gegebenen Zahlen. Da stellen wir sowas wie hier, Sie vergleichen den Kauf für 40.000 Euro, drei Jahre, drei Prozent Zinsen oder sowas, vergleichen Sie mit einer Leasingrate von monatlich, weiß ich, 500 Euro. Mit Restwert so und so viel. Und da muss man einfach mal für die drei Jahre ausrechnen, was kostet er denn jetzt? Was zahle ich insgesamt an Leasing? Was zahle ich an Zinsen bei dem Kauf und so weiter? Und was sind dann meine Gesamtkosten am Ende? So ein bisschen dieses Total Cost of Ownership, TCO. Wenn ich jetzt Miete, Leasing, Kauf mache bei diesem Auto, was ist der Endbetrag, den ich nach den drei Jahren gezahlt habe? Und da kommt halt beim Kauf, zahle ich einmal was plus die Zinsen. Leasing zahle ich halt 36 Monate dasselbe. Miete kann vielleicht eine Mieterhöhung dazwischen sein oder wie auch immer. Das heißt, das sind unterschiedliche Berechnungsformen, was ich da machen muss. Am Ende ist es aber meistens nur ein bisschen multiplizieren und mal rechnen und Prozent rechnen. Also das sind jetzt keine schwierigen Matheaufgaben. Aber im Kontext von Miete, Kauf, Leasing kann man halt so schön, ja, kleine Rechenaufgaben einstreuen, die halt auch einen Bezug zur Realität haben. Und deswegen glaube ich, nehmen die das auch so gerne. Deswegen ist Leasing zumindest auf meiner Themenliste sehr weit oben. So würde ich mir das zumindest erklären. [32:55] Und ja, ich habe jetzt auch mal für die Show Notes ein kleines Beispiel durchgerechnet. Das sind jetzt halt alles fiktive Zahlen. Also Zinssätze bei den Banken ändern sich ja täglich. Leasingraten grob zu schätzen ist auch super schwierig. Also da muss man sich schon konkrete Vergleichsangebote anholen. Also mit irgendwas muss man ja rechnen. So wäre es in der Prüfung dann auch. Also Beispiel, weiß ich nicht. mit der Miete anfange, kostet vielleicht meine Monatsmiete 1200 Euro und einfach nur, um das mal ins Verhältnis zu setzen, so eine Leasingrate läge dann vielleicht bei 500 Euro. Also es ist halt schon deutlich geringer, aber selbstverständlich findest du wahrscheinlich auch Mietwagen, die mehr oder weniger kosten als diese 1200 und Leasingverträge, die günstiger sind oder teurer auch. Nur, du musst halt immer auch gucken, was zahle ich noch zusätzlich, denn bei dir, da ist das erstmal ein teurer Betrag, aber ich muss ja auch nichts weiter bezahlen. Das ist ja quasi Full Service. Ich muss das Ding nicht warten. Ich brauche keine Versicherung, keine Steuer. Wenn das Ding kaputt ist, muss ich mich nicht kümmern. Beim Leasing ist das schon ein bisschen anders. Üblicherweise zahle ich dann so die Kosten für den Unterhalt wie Versicherung und Wartung schon selber. Beim Kauf bezahle ich aber zum Beispiel alles selber dann. Also auch wenn das Ding von Baum fährt und so. Das heißt, da muss ich mir schon wirklich Gedanken machen, was sind denn wirklich die Kosten, die da konkret überall anfallen. [34:06] Und in diesem fiktiven Beispiel wäre es jetzt so, dass die Monatsmiete mit 1200 Euro zwar sehr hoch ist und wenn ich die über 36 Monate zahle, bin ich halt bei 1200 mal 36, also irgendwas mit 43.000 Euro oder so. Dafür habe ich aber gar keine langfristige Bindung. Ich kann jederzeit sagen, so Leute, kein Bock mehr auf das Auto, ich brauche es nicht mehr oder ich will ein anderes. Ich habe keine weitere Bürokratie mit irgendwelchen Steueranmeldungen und ich brauche noch ein Nummernschild und diesen ganzen bürokratischen Kram. Da muss ich mich null drum kümmern. Das darf man ja auch nicht vergessen. Das sind ja sogenannte Opportunitätskosten. Die Stunde, die der Unternehmer auf dem Amt steht und sein Nummernschild anmeldet, in der Stunde kann er kein Geld verdienen. Das heißt, theoretisch müsste er dafür seinen Stundensatz anrechnen für dieses, ich muss mal eine Stunde lang ein Kfz-Kennzeichen anmelden. Und das machen natürlich viele Leute nicht, aber eigentlich müsste man das machen, um wirklich realistische Preisvergleiche zu haben. Und dann ist Miete auf einmal gar nicht mehr so teuer, wenn man das alles auch noch mit einrechnet, wo man sich nicht kümmern muss. Die jährliche Versicherungsgeschichte und oh, die Versicherung ist teurer geworden, ich muss den Vertrag wechseln, da muss ich erstmal recherchieren. Und Eigentum verpflichtet. Eigentum hört sich toll an. In der Realität muss man aber auch viel Zeit da reinstecken. Und Zeit ist Geld. Kann man also auch gegenrechnen. [35:18] Trotzdem hat Miete natürlich Nachteile. Ist super teuer. Langfristig keine Frage, wenn ich das Ding 20 Jahre fahre, 20 Jahre Mietwagen, da bezahlt man sich natürlich dumm und dusslich. Das ist keine Frage. Und man hat auch null Mitspracherecht, weil einem das Ding halt nicht gehört, wie eben schon beschrieben. [35:31] Bei Leasing, angenommen, ich müsste 500 Euro Leasingrate zahlen jeden Monat. [35:36] Da kommt aber noch was dazu für Wartung und Versicherung, muss ich halt selber übernehmen und deswegen, wenn ich das jetzt ausrechne, habe ich die Leasingrate plus alles, was ich selbst bezahle im Monat und nehme das mal 36 und dann bin ich jetzt mal in diesem fiktiven Beispiel irgendwie bei 23.000 statt 43, habe dann aber nach den drei Jahren vielleicht die Option, das Ding zu kaufen für, sagen wir mal, die Hälfte des Preises, also 20.000. Das ist jetzt alles ausgedacht, wie gesagt. Normalerweise ist der Preis wahrscheinlich ein bisschen über der Hälfte, weil der Leasinggeber will ja noch ein bisschen was verdienen. Und wenn ich das jetzt zusammenrechne, also Restwert, ich übernehme das Auto plus das, was ich vorher gezahlt habe, bin ich halt irgendwie auch so ungefähr bei 43.000. Mit dem kleinen Vorteil eigentlich, dass mir das Auto jetzt gehört und ich danach jetzt genau 0 Euro weiterzahlen muss, weil ich halt alles schon abgezahlt habe. Dafür hatte ich langfristig jetzt über die drei Jahre hinweg eine niedrigere monatliche Belastung im Vergleich zur Miete auf jeden Fall. Habe aber eben von Anfang an diesen Drei-Jahres-Vertrag unterschrieben. Und wenn jetzt irgendetwas Unvorhergesehenes passiert wäre, wäre ich aus dem Vertrag nicht rausgekommen. Hat also auch Nachteile, darf man nicht vergessen. Wenn ich das Auto zurückgebe und es nicht übernehme, heißt das auch nicht, dass ich da kostenfrei rauskomme. Denn wenn zum Beispiel, wie heißt das, im Vertrag steht dann üblich sowas wie, übliche Gebrauchspuren sind okay, aber wenn ich, weiß ich nicht, zum Beispiel einen Steinschlag im Auto habe oder es ist der Lack ein bisschen angekratzt oder so, dann wird der Leasinggeber bei dem Rücknehmen natürlich sagen, ach Mensch, hier, da muss aber neu lackiert werden. [37:03] Also die wissen natürlich auch, wie sie Geld verdienen können. Das heißt nicht, dass ich nach den drei Jahren gar keine Kosten mehr habe, wenn ich das Auto zurückgebe. Je nachdem, wie pfleglich ich damit umgegangen bin. Muss man auch überlegen. Letzter Punkt, Kauf mit Kreditfinanzierung, rechnen wir mal 3%, auch wieder Laufzeit 3 Jahre, dann zahle ich den Kredit 40.000 Euro plus 3% Zinsen, 3 Jahre, zahle ich 1.160 Euro im Monat. Das ist jetzt ein Annuitätendarlehen, also immer gleichbleibender Betrag. Das heißt, insgesamt zahle ich für die 40.000 Euro 41.760 Euro. Das ist halt inklusive Zinsen. Aber auch da muss ich ja noch was dazu rechnen, nämlich Wartung und Versicherung zum Beispiel fürs Auto muss ich auch wieder selber bezahlen. Das bezahlt die Bank mir ja nicht oder sonst wer, weil das Auto gehört ja jetzt mir. Das heißt, da muss ich noch ein bisschen was draufrechnen. Das ist also auch gar nicht mal so günstig. Und jetzt kann ich mir natürlich überlegen, das Auto gehört mir. Wenn ich jetzt nach drei Jahren keine Lust mehr auf das Auto habe, ja, dann verkaufe ich das halt. Und dann ist halt die Frage, was kriege ich halt noch dafür? [38:03] Und man kann ganz pauschal sagen, der Leasinggeber beim Leasing wird das Ding wahrscheinlich möglichst teuer rechnen. Und wenn ich das Ding jetzt aber verkaufe am Markt, werden meine Kunden mir das natürlich möglichst billig rechnen. Die wollen natürlich nicht viel Geld dafür bezahlen, das ist ja klar. Das heißt, es ist immer so eine gewisse Unbekannte. Wenn ich das Auto verkaufe, wie viel kriege ich wirklich noch dafür? Und wenn ich es dem Leasinggeber zurückgebe, was wird der denn noch dafür haben? Und der wird wahrscheinlich mehr nehmen, als ich bekommen würde, wenn ich es selber verkaufen würde. Von daher schwer zu sagen, aber angenommen, wir hätten den gleichen Wert wie beim Leasing, also auch 20.000 Euro. [38:33] Dann würde ich die halt auf dem Markt dafür bekommen und dann hätte ich nach drei Jahren zwar kein Auto mehr, weil ich habe es ja gerade verkauft, dafür aber natürlich insgesamt auch den günstigsten Preis am Ende, nämlich 27.000 Euro. Das heißt, vergleichen wir jetzt so ein bisschen Äpfel mit Bieren, weil wenn ich beim Leasing das Auto kaufe und beim Kauf das Auto wieder verkaufe, das ist natürlich klar, dass das günstiger ist. Das ist schon logisch. Also wenn wir jetzt mal alles zusammenrechnen für die drei Jahre und ich behalte das Auto, dann ist tatsächlich der Kauf sogar noch am teuersten. Tatsächlich, weil ich habe einen hohen Anfangsinvest, ich habe die Zinsen, die ich zahlen muss, ich habe zusätzlich noch Wartung und Unterhalt und wenn ich es nicht verkaufe, ja, Dann kommt dann auch kein Geld wieder rein. Das heißt, wenn ich das jetzt direkt vergleiche, dann würde dabei rauskommen, Miete sind wir bei 43.000, Leasing ist bei 43.000 ungefähr und der Kauf ist sogar bei 47.000, also ein bisschen teurer. Aber jetzt ist halt die Frage, wenn ich das Auto eben nicht verkaufe, sondern auch die nächsten zehn Jahre weiterfahre, dann fahre ich halt beim Kauf ab jetzt kostenfrei. Muss ich nur noch die Wartung und so weiter übernehmen. Bei Leasing das Gleiche, da kann ich auch einfach weiterfahren und das gehört jetzt mir. Bei der Miete bin ich aber angeschmiert und zahle einfach so weiter und habe gar kein Eigentum. Man sieht das also so ein bisschen. [39:49] Miete ist so das eine Extrem. Mir gehört nichts und es kostet ein Heidengeld. Kauf, mir gehört alles. Ich habe aber auch krasse Verantwortung. Und Leasing ist irgendwie so ein bisschen dazwischen. Ich habe eine lange Vertragsbindung. Ich zahle einen Teil selber, aber auch niedriger geraten. Muss mich aber trotzdem um die Wartung kümmern. Also es hat halt eben alles Vor- und Nachteile. Deswegen gibt es auch diese drei verschiedenen Varianten. Wenn das alles immer so einfach wäre und nur Vorteile hätte, würde man ja einfach sofort verkaufen oder leasen oder mieten. Aber es ist halt nicht so. Deswegen immer angucken, was ist der konkrete Anwendungsfall? Was will das Unternehmen mit dem Ding anstellen? Mit der Maschine, dem Auto, dem Laptop? Ich rede jetzt die ganze Zeit von Autos. Wie gesagt, du kannst auch irgendwas anderes leasen, was teuer genug ist und wo es einen Leasinggeber für gibt. Das muss ja irgendwer auch anbieten auf deiner Seite. Und dann rechnet man das mal durch. Und üblicherweise werden dir halt die Zahlen vorgegeben. So wie ich mir die jetzt hier ausgedacht habe, ist das in der Prüfung dann auch so. Dann rechnest du ein bisschen Prozent. und guckst dann am Ende, was am teuersten ist und empfiehlst halt das, was nicht am teuersten ist. So ist das meistens. [40:47] Genau. Und jetzt haben wir alles durchgekaspert von Kauf mit Finanzierung, Bayer Bank, Miete und Leasing. Kennst jetzt hoffentlich die fachlichen Hintergründe und vielleicht kriegst du es jetzt auch in der Prüfung besser hin, das Zeug dann zu berechnen, wenn du verstanden hast, worum es hier eigentlich geht. Das war heute mein Anliegen. In diesem Sinne würde ich sagen, wir sind heute durch mit dem Thema für die AP1. Wir haben noch sehr viele andere Themen, spannende Themen für die AP1 auf dem Zettel und wenn ich die alle so lange behandle wie dieses Thema hier, dann habe ich noch ein paar Jahre was zu tun, auf jeden Fall. Aber ich habe es halt erstmal genommen, weil es so hoch auf meiner Punkteliste stand. Das war die Begründung. [41:22] Ich hoffe, es hat dir heute gefallen. Wenn ja und wenn du noch mehr von mir rund um die Prüfungsvorbereitung und deine Ausbildung haben möchtest, dann melde dich doch für mein Newsletter an unter itbuchepodcast.de slash Newsletter. Kannst du das kostenfrei tun und dann kriegst du mindestens einmal die Woche von mir passend zu deinem aktuellen Stand, wenn du zum Beispiel dich gerade für die AP1 vorbereitest, gibt es ganz viele Infos zur AP1-Vorbereitung, für die AP2, dann für die AP2 und so weiter. Und auch wenn du Ausbilder oder Ausbilderin bist, habe ich einen Haufen an Zeug, da kriegst du sogar noch mehr Mails, als wenn du als Zubi dich anmeldest. Kannst du dich jederzeit wieder abmelden, kostet nix. Itwufepodcast.de slash Newsletter. Und wenn du nochmal hier die Beispielrechnung, die Shownotes sehen willst, die ich übrigens auch seit der letzten Podcast-Episode transkribieren lasse, das heißt, kann man jetzt auch nachlesen, wenn man möchte und da drin suchen, Die findest du unter itberufe-podcast.de slash 193 für die heutige 193. Episode. Und in diesem Sinne sage ich vielen Dank fürs Zuhören und bis zum nächsten Mal. Mach’s gut. Der Beitrag Kauf, Miete und Leasing zur Finanzierung im Vergleich – IT-Berufe-Podcast #193 erschien zuerst auf IT-Berufe-Podcast .…
I
IT-Berufe-Podcast

1 Themen der bisherigen IHK-Prüfungen für die IT-Berufe (AP1) und Fachinformatiker Anwendungsentwicklung (AP2) – IT-Berufe-Podcast #192 23:03
Ich analysiere die schriftlichen IHK-Prüfungen AP1 und AP2 für Anwendungsentwicklung und präsentiere eine umfassende Übersicht der Prüfungsinhalte seit 2020 in der einhundertzweiundneunzigsten Episode des IT-Berufe-Podcasts. In dieser Episode des IT-Berufe-Podcasts fokussiere ich mich auf die schriftlichen IHK-Prüfungen AP1 und AP2 für Anwendungsentwicklung und präsentiere eine umfassende Analyse der bisherigen Prüfungsinhalte. Dabei habe ich alle Prüfungen seit 2020 durchgeschaut und alle Themen sowie die vergebenen Punkte systematisch erfasst. Diese Informationen sind jetzt in einer übersichtlichen Datenbank zusammengeführt, die dir bei der gezielten Prüfungsvorbereitung helfen kann. Ich beginne mit der Vorstellung der allgemeinen Prüfungsinhalte von AP1, die für alle IT-Berufe identisch sind. Durch die Clusterung der Themen nach Häufigkeit und Punktvergabe ermögliche ich einen Überblick darüber, welche Themen in der Vergangenheit am häufigsten abgefragt wurden und welche besonders wertvoll für deine Vorbereitung sind. Hierbei stelle ich fest, dass Themen wie Hardware und Wirtschaftlichkeit konstant präsent waren, sodass eine gezielte Vorbereitung in diesen Bereichen besonders empfehlenswert ist. Im Anschluss gehe ich speziell auf die AP2-Prüfungen für Anwendungsentwickler:innen ein. Durch die detaillierte Auswertung aller Aufgaben aus den Prüfungen hat sich herausgestellt, dass Pseudocode mit Abstand die meisten Punkte einbringt. Diese Erkenntnis ist besonders wertvoll für alle Prüflinge, die häufig Schwierigkeiten in diesem Bereich haben. Des Weiteren betrachte ich die Themen Datenbanken und Algorithmen, die ebenfalls häufig abgefragt werden, und gebe Tipps, wie man sich strukturiert auf diese Inhalte vorbereiten kann. Zusätzlich biete ich den Zuhörer:innen die Möglichkeit, die aufbereiteten Statistiken direkt auf meiner Website einzusehen. Dort sind nicht nur die häufigsten Themen gelistet, sondern auch spezifische Aufgaben, die als besonders punkteträchtig identifiziert wurden. Ich ermutige alle Zuhörer:innen dazu, sich intensiv mit diesen Materialien auseinanderzusetzen und ihre Prüfungsstrategien entsprechend anzupassen. Gemeinsam erarbeiten wir Ansätze, wie man das Lernen optimieren kann, um mit den erlangten Erkenntnissen in die prüfungsrelevanten Themen gezielt einzutauchen. Ich teile auch persönliche Empfehlungen zu Literaturempfehlungen und Vorbereitungsstrategien, die sich in der Praxis bewährt haben. Mein Ziel ist es, dir nicht nur die notwendigen Informationen an die Hand zu geben, sondern auch eine strukturierte Herangehensweise an die Prüfungsvorbereitung zu vermitteln. Die Episode ist also nicht nur eine Auflistung von Themen, sondern bietet eine tiefere Einsicht in die Prüfungsdynamik der IHK und geht auf die richtige strategische Vorbereitung ein. Sei es als Auszubildender oder als Ausbilder, die gewonnenen Daten sind ein wertvolles Werkzeug zur Verbesserung der Prüflingsleistung. Damit möchte ich dich motivieren, deine Vorbereitung aktiv mit diesen Daten zu unterstützen, um deine Erfolgschancen signifikant zu erhöhen. Literaturempfehlungen Ich habe meine Literaturempfehlungen extra für diese Episode komplett aktualisiert: Literaturempfehlungen für die IT-Berufe . Links Permalink zu dieser Podcast-Episode RSS-Feed des Podcasts Themen der schriftlichen IHK-Prüfungen der IT-Berufe Podcast-Episode als Video bei YouTube Transkript der gesamten Episode [0:07] Einleitung zur Prüfungsvorbereitung [0:02] Hallo und herzlich Willkommen zur 192. Episode des IT-Berufe-Podcasts. In dieser Episode geht es um die Themen der bisherigen schriftlichen IHK-Prüfung AP1 und AP2 für Anwendungsentwicklung. Viel Spaß! [0:19] Statistiken zu IHK-Prüfungen [0:20] Hallo und herzlich Willkommen zur 192. Episode des IT-Berufe-Podcasts. Mein Name ist Stefan Macke und heute habe ich mal eine Kleinigkeit für dich mitgebracht als Serviceleistung von mir. Und zwar habe ich die bisherigen Abschlussprüfungen, die schriftlichen Abschlussprüfungen der IT-Berufe, nämlich die AP1, die ja für alle IT-Berufe gleich ist, und die AP2 für Anwendungsentwicklung, weil das ja nun mal einfach mein Kerngebiet ist, komplett durchgeschaut von vorn bis hinten. Und ich habe mir jede Aufgabe einzeln angeguckt und mir dazu notiert, wie das Themengebiet ist, also zum Beispiel, weiß ich nicht, RAID, Softwareentwicklung, wie auch immer. Und mir dann noch dazu notiert, wie viele Punkte die Aufgabe gab. Und das Ganze habe ich dann in eine große Datenbank eingetragen und jetzt ein paar Statistiken darauf ausgeführt. Und diese Statistiken können dir vielleicht bei der Prüfungsverbreitung ein bisschen helfen. Und ja, das möchte ich heute einfach mal in der Episode kurz vorstellen. Und am besten kannst du dir das Ganze selber angucken auf der Website, itberufepodcast.de slash 192. Da findest du die Shownotes zur heutigen 192. Episode. Und da ist natürlich auch diese Themenliste verlinkt. Und da kannst du einfach mal selber reingucken. Ansonsten würde ich jetzt einfach mal anfangen und meine ersten Erkenntnisse der ersten paar Prüfungen hier vorstellen. [1:32] Also, ich habe alle bisherigen Prüfungen durchgeschaut seit 2020. Da wurden die IT-Berufe ja neu geordnet. Gab es eine neue Prüfungsordnung mit AP1 und AP2. Und ja, jetzt ist natürlich immer die spannende Frage, wenn ich mich auf eine Prüfung vorbereite, was soll ich denn lernen? Gerade für die AP1, für alle IT-Berufe, die Themen sind ja sehr, sehr breit gestreut. Und ich habe mir jetzt einfach mal die Mühe gemacht, alle einmal durchzugucken, alle Prüfungen. Und die so ein bisschen zu klastern, nach Themengebieten, aber auch nach konkreten Themen. Und vor allem habe ich dann halt eben auch die Punkte dazu notiert, sodass ich jetzt am Ende so etwas sagen kann wie, Thema X hat bislang in den Prüfungen die meisten Punkte erbracht. Und wenn du jetzt wenig Zeit hast, dich auf die Prüfung vorzubereiten, dann kannst du vielleicht mit den Themen anfangen, die bisher die meisten Punkte brachen. Könnte eine Strategie sein. Ich sage nicht, dass das die einzig sinnvolle Strategie ist oder überhaupt eine sinnvolle Strategie, denn wie es auch am Finanzmarkt ist, nur weil es in der Vergangenheit passiert ist oder in sich entwickelt hat, heißt das nicht, dass es auch in der Zukunft kommt. Also könnte natürlich jetzt sein, dass in den nächsten Prüfungen die bisher häufigsten Themen gar nicht wieder abgefragt werden. Ich kann es mir fast nicht vorstellen, denn so ein bisschen gesunder Menschenverstand, wenn man auf die Themen guckt, dann merkt man, das sind eigentlich die Kernthemen für die jeweiligen Prüfungen. Also ich könnte mir vorstellen, dass das auch in der Zukunft passiert, aber ich habe natürlich keinen Einfluss darauf. Ich weiß nicht, was in den zukünftigen Prüfungen passiert. [2:48] Aber ja, die Tendenz ist auf jeden Fall da und eine recht hohe Wahrscheinlichkeit, glaube ich. Und dann gucken wir doch einfach mal rein, was ich da jetzt gemacht habe. Also die Liste, von der ich jetzt hier spreche oder die Liste 10, findest du bei mir auf der Website. Wenn du nicht mehr in die Shownotes gehst, kannst du hier oben aufs Menü gehen. Da gibt es beliebte Seiten bei mir auf der Seite. [3:10] Literaturempfehlungen für die Prüfung [3:07] Und dann gibt es da den Unterpunkt Themen der schriftlichen IHK-Prüfung. Und wenn du das anklickst, dann findest du meine Liste, wo ich unter anderem als allererstes nochmal auch ein bisschen Literaturempfehlungen zusammengestellt habe. Das habe ich extra in Vorbereitung für diese Seite auch gemacht. Denn ich werde immer ganz oft gefragt, ja, jetzt sind da tausend Themen auf der Seite, aber wie lerne ich die denn? [3:26] Und ja, ich habe einfach mal alles zusammengestellt, was ich so an Büchern hauptsächlich meinen eigenen Azubis empfehle, die die auch immer selber bekommen und mir teilweise sogar zusammen lesen oder auch in der Schule durcharbeiten. Und verschiedene andere Sachen. Ganz oben auf der Liste steht selbstverständlich alte Prüfungen. Ich hoffe, das ist inzwischen angekommen, dass man am besten für die Prüfung lernt, indem man alte Prüfungen durchgeht, um auch so ein bisschen für die Fragestellung sich vorzubereiten. Und was die IHK, sage ich selber schon hier, natürlich der IHK-Erstellungsausschuss, da eigentlich von einem hören will. Aber das nur am Rande, das findest du halt auch ganz oben, wenn du dir das anschauen willst. Und dann kommen wir zum eigentlichen Inhalt. Ich hatte bislang auf der Seite schon tatsächlich früher mal händisch aus den sehr, sehr alten Prüfungen. 2010, 2011 etc. Habe ich das Ganze schon mal gemacht und so die Punkte rausgeschrieben. Auch für meine eigene Ausbildertätigkeit. Ich muss ja auch so ein bisschen wissen, was kam in welcher Prüfung dran. Oder als simples Beispiel, ich mache gerade mit meinen Azubis das Thema RAID. Jetzt hätte ich gerne eine echte Prüfungsaufgabe zum Thema RAID. Dann wäre halt cool, wenn ich irgendwo suchen kann und nicht in, weiß ich nicht, ganz vielen Blättern durchblättern muss, weil ich in irgendeiner Prüfung da meine Aufgabe gesehen habe und ich suche mir da einen Wolf quasi. Das heißt, das ist für mich eigentlich gewesen, diese Liste zu erstellen. Ich habe dann aber auch irgendwann aufgehört, 2018, das ist auch schon ein paar Jährchen her, ja. Und jetzt habe ich das Ganze mal auf die neuen Prüfungen angepasst. Und habe es dann jetzt halt mit einer Datenbank im Hintergrund gemacht. Das hat jetzt den Vorteil, wenn eine neue Prüfung kommt, dann kann ich die einmal erfassen, packe die in die Datenbank und diese Statistik auf der Seite ist automatisch aktuell. Es wird also wirklich aus einer Datenbank gespeist hier. [4:56] Und ja, wenn man auf die Seite geht, dann sieht man ein paar Statistiken. Ich habe das säuberlich getrennt. Einmal nach Teil 1 der Abschlussprüfung, AP1, weil der für alle IT-Berufe ja gleich ist. und dann den AP2-Teil, in meinem Fall halt nur für Anwendungsentwicklung, weil ich halt nur AnwendungsentwicklerInnen ausbilde. Und deswegen habe ich jetzt nicht auch noch Zeit und Lust, mich um die sechs anderen IT-Berufe zu kümmern. [5:19] Aber ganz ehrlich, wenn du da Zeit und Lust drauf hast und vielleicht zu dieser Datenbank beitragen willst, das fände ich natürlich mega cool, dann melde dich einfach bei mir, kannst mir eine Mail schreiben oder Kontaktformular auf der Website und dann sage ich dir, in welchem Format ich das brauche und dann haue ich das mit in die Datenbank. Und dann kann das vielleicht ein bisschen wachsen für alle Prüflinge, die in Zukunft noch kommen. So, ich habe da so ein paar Statistiken zusammengestellt. Nummer eins, erstmal die Liste aller bisher erfassten Prüfungen, weil, wie gesagt, kommt aus der Datenbank und da ist jetzt nicht sofort ersichtlich, von wann sind denn jetzt eigentlich die Inhalte? Sind die aktuell? Fehlt da noch was? Und so weiter. Deswegen erstmal ganz stumpf, welche Prüfungen habe ich überhaupt schon erfasst? Und aktuell, ich nehme es ja hier auf, so im Februar 2025, habe ich alle bisherigen AP1- und AP2- für Einbringungsentwicklungen, die bis heute durchgeführt wurden, erfasst. Also die letzte, die ich jetzt zum Beispiel erfasst habe, ist die AP1 im Herbst 2024. [6:06] Statistiken der bisherigen Prüfungen [6:06] Und alle seit der Einführung 2020 habe ich hier durchgeguckt und eingetragen. Da sieht man also sofort als erstes, ist das Ding schon aktuell auf die neueste Prüfung angepasst oder ist das noch nicht mit drin. So, und dann habe ich das, was ich für die uralten Prüfungen händisch gemacht habe, jetzt auch einmal datenbankgestützt gemacht und zwar einfach neben jede Prüfung geschrieben, welche Themen dran kamen. Kann man sich jetzt fragen, warum ist das interessant, ich kann mir die Prüfung ja auch einfach angucken. Ja, aber in den Prüfungen kannst du halt nicht so cool suchen, wie ich gerade schon sagte. Und wenn ich jetzt zum Beispiel für meine eigenen Azubis eine Prüfungsaufgabe brauche, wo es irgendwie um DHCP geht oder NAS und SAN oder. [6:45] Endpoint Security oder was auch immer, dann kann ich jetzt einfach auf dieser Seite hier Steuerung F suchen und dann finde ich zum Beispiel auch hier Gruppenrichtlinien und das war in der Prüfung dran, AP1 2023, Frühjahr. So, und dann kann ich die aus dem Schrank holen und habe dann eine passende Aufgabe, die ich mit meinen Azubis machen kann. Also, das finde ich immer interessant. Ich weiß nicht, ob das für dich in der Prüfungsverarbeitung interessant ist. Wobei, ja doch, eigentlich schon. Wenn du zum Beispiel im Prüfungskatalog siehst, oh, RAID kommt ja jetzt dran. Übrigens, Spoiler, nicht mehr in AP1, aber in AP2. Und du brauchst einfach eine Aufgabe für diese RAID-Geschichten. Dann kannst du hier halt einfach suchen, findest die passende Prüfung und hast eine echte Aufgabe, mit der du das dann machen kannst. Also, ist doch ganz cool, oder? Also für mich als Ausbilder super interessant, diese Liste. In der Prüfungsverbreitung vielleicht finde ich auch hilfreich. Ja, und dann kommt das, was mich eigentlich angetrieben hat, diese Geschichten hier zu erfassen. Und zwar wollte ich gerne mal wissen, was für Themen kommen eigentlich wirklich in der Prüfung dran? Wie oft und wie viele Punkte gibt es dafür? Weil es gibt natürlich immer so ein Bauchgefühl. Ja, da kommt relativ in der AP1, man spricht häufig Netzwerktechnik dran oder sowas. Aber so richtig mit Zahlen belegt hatte ich das bislang noch nie und das wollte ich einfach für mich selber auch mal verifizieren, ob das eigentlich so stimmt. Und deswegen habe ich jetzt folgendes gemacht. Ich habe ein paar Statistiken angelegt und zwar einmal die Häufigkeit der jeweiligen Themen in den bisherigen Prüfungen, dann die Gesamtpunktzahl der Themen in den bisherigen Prüfungen und dann sogar nochmal runtergebrochen auf einzelne Themen. [8:13] Was meine ich jetzt? Was ist hier der Unterschied? Wenn du meine Seite zur Prüfungsvorbereitung kennst und zwar findest du die auch unter beliebte Seiten und dann mögliche Themen von Teil 1 und mögliche Themen von Teil 2. Das ist die Seite, mit der ich auch mit meinen eigenen Azubis die Prüfungsvorbereitung mache. Und da habe ich die Struktur der Themen, die dort genannt werden, ein bisschen an meine Bedürfnisse angepasst und nicht wie die zum Beispiel im Prüfungskatalog stehen, wo dann mal als Beispiel irgendwas mit Datenbanken Datenbanken auf drei verschiedene Unterpunkte und Paragrafen verteilt ist. Ich habe aus allen möglichen Quellen was zusammengesucht. Da ist unter anderem der Prüfungskatalog dabei, aber auch die Umsetzungshilfe für die IT-Berufe, verschiedene Lernkarten, alte Prüfungen natürlich, die ich auch durchgeguckt habe. Und dann habe ich diese ganzen Themen auf einen Haufen geschmissen und dann geklastert. Das heißt, ich habe die fachlich gruppiert und nicht nach irgendwelchen Paragrafen, Sodass dann bei mir das zum Beispiel losgeht mit Projektmanagement. Also alles, was irgendwas mit Projektmanagement zu tun hat, steht dann an einer Stelle und nicht verstreut auf sieben Quellen. Und ich habe die Dinger dann Themencluster genannt und das ist meine persönliche Ausarbeitung. Das steht jetzt nicht in irgendeinem Buch, sondern das habe ich so gemacht, weil ich es besser finde, so zu lernen. [9:27] Bist du, weil ich glaube, dass meine Azubis das so besser lernen können, als wenn wir von Thema zu Thema springen und hin und her, einfach nur, weil es in irgendeinem Paragraphen steht. Also diese Einteilung ist von mir vorgenommen. Das ist keine offizielle Vorgabe von irgendeiner IHK oder irgendeinem Prüfungserstellungsausschuss, sondern es ist meine persönliche Einteilung, aber aus sehr, sehr vielen Quellen, die ich dafür auswähle. [9:46] Gewertet habe, ja? Unter anderem die alten Prüfungen. So, und diese Themencluster, das ist halt das, wo ich dann zum Beispiel meine Azubis bitte, Mensch, lad doch mal ein zur Lernzielkontrolle zum Thema Hardware, ja? Und dann kann man sich den Themencluster angucken zum Thema Hardware und dann steht da halt irgendwie alles drunter, was irgendwas mit Hardware zu tun hat und was in irgendeinem Prüfungskatalog, alter Prüfung oder Lernkarten stand. Zum Beispiel CPU-Prozessor von Neumann-Architektur Wärmeleitpaste. Wärmeleitpaste war schon mal eine Prüfungsaufgabe in der schriftlichen Prüfung zum Beispiel. Und so können wir uns halt an einem Termin komplett um die Hardware kümmern, beim nächsten um den nächsten Cluster und so weiter. Das ist meine eigene Idee gewesen hier. Und weil ich das halt nicht nur für die Gemeinschaft mache, so wie das jetzt hier, was ich ja gerne auch nach draußen gebe, aber ich benutze das ja auch selber. Eat your own dog food heißt das in der IT. Also das benutzen, was man auch selber verkaufen will, in Anführungszeichen. Und so mache ich das. Also mit der Seite übe ich auch meine eigenen Azubis. [10:40] Und weil ich halt mir selber auch das Leben einfacher machen möchte, habe ich halt diese Themencluster jetzt als Basis genommen, für die Statistiken [10:48] Themencluster und deren Bedeutung [10:47] der bisherigen IHK-Prüfung. Und jetzt kann man sehen, wie oft diese Themencluster, die ich da gebildet habe, in den bisherigen Prüfungen drankamen. Und da steht dann zum Beispiel bei der AP1 ganz oben Hardware und Wirtschaftlichkeit, was die Häufigkeit angeht. Und ich habe das dann so gemacht, in wie vielen Prüfungen war das bisher dran und wie ist die relative Häufigkeit. Und zum Beispiel Hardware und Wirtschaftlichkeit waren bisher in jeder AP1 dran. Das heißt 100% Häufigkeit. Dafür dann aber ein Thema, was ich persönlich die ich eigentlich auf Platz 1 erwartet hätte, nämlich Netzwerktechnik, ISO, OSI und der ganze Kram, kam nur in Anführungszeichen in sechs von sieben Prüfungen ran, also bisher in 86 Prozent. [11:27] So, und jetzt habe ich das halt für alle Themencluster gemacht. Und dann ist aber die Idee, ja, was bringt mir das jetzt? Ich weiß jetzt, Hardware kommt in fast jeder oder bisher, bisher in jeder Prüfung dran. Aber ist das denn eigentlich auch ein wichtiges Thema? Also nur weil das immer drankommt, heißt es ja nicht, dass es dafür immer 37 Punkte gibt. Kann auch sein, dass das nur so eine kleine Fitzel-Aufgabe ist. Und deswegen habe ich das nochmal anders aufgearbeitet und zwar mit den bisher vergebenen Punkten. Das heißt, ich habe für jede Aufgabe, Beispiel irgendwas mit ISO-OSI-Modell, gehört zum Themencluster Netzwerktechnik. Dafür gab es vier Punkte. Dann gab es noch eine zweite Aufgabe, die gehört auch zur Netzwerktechnik, gab drei Punkte und so weiter. Dann habe ich die alle aufsummiert und dann diesen Themenclustern zugeordnet. Kannst du mal als kleine Vorbereitung für die AP1 ja nicht mehr, weil SQL ist ja gestrichen aus AP1, aber für die AP2, ich habe gelernt, dass SQL jetzt auch in den AP2 zum Beispiel bei Fisis abgefragt wird, aber da kannst du dir mal überlegen, welches SQL-Statement ich dafür vermutlich benutzt habe. [12:20] Spoiler, Group By. Also alles nach Themencluster selected und dann gruppiert und die Punkte aufsummiert. Und das ist dann die Liste, die dabei rausgekommen ist. Ganz oben für die AP1 steht Hardware tatsächlich mit bisher über 100 Punkten in der bisherigen Prüfung. Und auf Platz 2 dann Projektmanagement, auf Platz 3 Netzwerktechnik, dann kommt IT-Sicherheit, Angebotsvergleich. So was wie eine Nutzwertanalyse oder solche Scherze. Dann kommt Softwareentwicklung und so weiter und so fort. Ich will jetzt nicht jeden Punkt hier durchgehen, weil bei der nächsten Prüfung vielleicht verändert sich da ja ein bisschen was und dann kann ich diese Liste jetzt hier vorlesen, aber das bringt ja niemanden weiter. Deswegen empfehle ich dir, geh einfach auf die Seite, guck die Liste an, die wird halt dann nach jeder Prüfung zeitnah aktualisiert. Übrigens zeitnah heißt dann, wann ich die Prüfung auch habe. Ich habe keine Magic-Quelle, die mir am Tag der Prüfung die Prüfung zu flattern lässt. Das gibt es nicht. Das heißt, ich bin auch darauf angewiesen, ganz normal wie jeder andere auch, diese Prüfung beim U-Form Verlag zu kaufen. Und dann kann ich, wenn ich die geliefert bekommen habe, die durchgucken. Also es wird nicht am Tag der Prüfung selber die Statistik aktualisiert. Das kann ich schon mal ganz sicher sagen. Im Gegenteil, das wird ein paar Wochen wahrscheinlich dauern, wenn die Prüfung vorbei ist. So, aber hiermit habe ich jetzt schon mal eine etwas bessere Aussagekraft. Ich weiß jetzt, bisher wurde das Thema Hardware halt oder für das Thema Hardware wurden bislang am meisten Punkte verteilt. Und da kann ich ja dann vielleicht schon was daraus ableiten und sagen, fange ich doch mal mit dem Thema an, bevor ich, ganz unten auf der Liste steht zum Beispiel Betriebssysteme mit vier Punkten. [13:45] Naja, also wenn Hardware bisher 25 mal mehr Punkte gebracht hat als Betriebssysteme. [13:50] Vielleicht fange ich dann mit Hardware an zu lernen und nicht mit Betriebssystemen. Das ist die Idee dieser Liste. [13:56] So, und jetzt habe ich das nochmal weiter runtergebrochen. Diese Themencluster, die sind ja von mir zusammengestellt für meine eigene Prüfungsverbreitung. Ich habe das Ganze jetzt aber nochmal weiter runtergebrochen auf die einzelnen Themen. Also bei Hardware zum Beispiel geht es da um Peripherie, CPU, RAM, Wärmeleitpaste, gehört zu CPU und so weiter. Und das habe ich jetzt so gemacht, dass jede Aufgabe durchaus auch mehrere solcher Themen zugeordnet bekommen kann. Beim Themencluster ist es immer eindeutig. Also eine Aufgabe gehört bei mir genau zu einem Themencluster. Das heißt, wenn ich alle Punkte, die hier vergeben wurden, aufsummiere, komme ich genau auf die Punktzahl aller bisherigen Prüfungen. [14:36] Einzelthemen und Punktvergabe [14:30] Bei den Einzelthemen kann es jetzt mehrere Schlagworte pro Aufgabe geben. So ein Thema bitte so verstehen wie so ein Schlagwort. Beispiel, ich habe eine Aufgabe zu einem RAID-System. Das ist dann vielleicht das Thema RAID, aber auch sowas wie Datensicherung oder so. Passt jetzt nicht so hundertprozentig, aber Beispiel SQL. Es gibt eine SQL-Aufgabe und da ist ein Insert drin. Das heißt, dann habe ich ein Schlagwort Insert und ein Schlagwort SQL. Dann zählt der Punkt quasi doppelt. Aber mich interessiert dann hier, welches Einzelthema muss ich mir besonders angucken, was hat bislang die meisten Punkte gebracht. Und das ist in der AP1 tatsächlich die Nutzwertanalyse mit weitem Abstand bisher. Hätte ich nicht gedacht, 38 Punkte bisher insgesamt und erst auf Platz zwei kommt SQL mit 26 Punkten. Also Nutzwertanalyse angucken, das wäre schon mal eine coole Sache. [15:21] Und ja, wie kann das sein? Ich habe auch, also das Coole ist, ich habe jetzt ja halt alle Prüfungen nochmal durchgeguckt und alle Aufgaben nochmal angeschaut und weiß jetzt auch so ein bisschen nochmal besser im aktuellen Kurz- und Langzeitgedächtnis, was da eigentlich so gefragt wurde. Und Nutzwertanalysen sind halt in der Prüfung relativ einfach, ehrlich gesagt. Man musste eigentlich noch nie eine from scratch zeichnen oder so, aber es gab immer eine, die vorgegeben war und da musste man halt ein paar Zahlen eintragen. Also ganz blöd gesagt könnte man sagen, das sind geschenkte Punkte. Das ist jetzt keine schwierige Aufgabe, aber dafür gab es dann halt einfach mal 10 Punkte, weil man halt irgendwie 10 Zahlen eintragen musste. Wenn man jetzt aber noch nie gehört hat, was eine Nutzwertanalyse ist, wird es halt schwierig. Aber so deswegen mache ich diese Liste und das hätte ich zum Beispiel nie auf dem Zettel gehabt, dass in der API 1 bislang so oft eine Nutzwetanalyse Thema war. Wusste ich einfach nicht. Und jetzt habe ich es einfach ausgewertet. Also da kommt halt sowas wie SQL, IPv6, IPv6. Ich habe zu viele Hunde offensichtlich. [16:14] IPv6, Netzplan. Ja, den hätte ich auch auf dem Zettel gehabt. Aber dann schon auf Platz 5, Leasing. Also dieser Klassiker, Kauf, Miete, Leasing. Was sind die Vor- und Nachteile und so? Kommt mega oder kam mega häufig dran. Hatte ich so auch nicht auf dem Zettel. So, und diese Liste ist dementsprechend auch ein bisschen länger, weil ich ja auch mehr Schlagworte für jede Aufgabe vergeben habe, die kannst du gerne mal durchscrollen. Da sind dann wirklich alle möglichen Themen dran, bis zu Thema wie zum Beispiel, was ist der kritische Pfad in einem Netzplan? Das war ein einziges Mal konkrete Frage und gab auch nur einen einzigen Punkt. Und so kannst du jetzt wirklich von ganz, ganz, ganz, ganz viel und häufig und mit vielen Punkten abgefragt bis hin zu kleinsten Einzelthemen, dir das hier einfach angucken und dann selber entscheiden, sollte ich mir das anschauen oder nicht. Ganz wichtig, meine Standardempfehlung ist eigentlich, guck dir alles an. Ich würde niemals sagen, komm, Lernen auf Lücke, scheißegal. Das ist nicht meine Strategie. Aber wenn du wenig Zeit hast, dann kannst du vielleicht mit dieser Liste entscheiden, womit du anfangen solltest. Was nicht heißt, dass du die anderen Sachen weglassen solltest. [17:15] So, gehen wir noch kurz die Teil 2 Liste durch. Die ist jetzt nur für AnwendungsentwicklerInnen interessant. Da habe ich auch alle Prüfungen erfasst. Da gibt es natürlich doppelt so viele, weil es gibt ja zwei Prüfungsteile. Für Einmachungsentwicklung ist das einmal entwickeln und an, oh Gott, jetzt weiß ich den Namen schon nicht mehr, auf jeden Fall einmal diese, da steht es ja, Entwicklung und Umsetzung von Algorithmen und das andere Ding heißt Planen eines Softwareprodukts. Und aus beiden Prüfungen habe ich jetzt das zusammengeschmissen. Ich habe das natürlich in der Datenbank fein säuberlich aufgeteilt, in welchem Prüfungsbereich welche Aufgabe war. Aber das ist ja hier jetzt irrelevant, weil beide Prüfungsteile zählen gleich viel. Also warum interessiert mich, in welchem Teil der jetzt genau abgefragt wurde? Ich muss eh beide machen. Und deswegen bin ich genau wie bei der API 1 auch wieder angefangen, habe erstmal die ganzen Themen wieder aufgeschrieben, dass du gucken kannst, Mensch, ich brauche eine Prüfungsaufgabe zur Code Coverage. Ach ja, das war ja in der API 2 2023 Sommer Entwicklung und Umsetzung von Algorithmen. [18:09] AP2: Häufigkeit und Punkte [18:06] Ja, das ist mein kleiner Service. Dann kommen wieder meine Themencluster. Und hier ist es jetzt tatsächlich so, dass in der AP2 Datenbanken auf Platz 1 sind. Die waren bislang am häufigsten dran. Danach kommen Algorithmen, also Pseudocode. Und dann kommen allgemeine Sachen, Softwareentwicklung, UML, SQL. Das ist so der Klassiker. Aber SQL zum Beispiel allein von der Häufigkeit, weil SQL immer nur in einem der beiden Prüfungsteile meistens abgefragt wird, kam das bislang nur in der Hälfte der Prüfung dran. [18:34] Datenbanken allerdings in fast jeder Prüfung und zwar auch in jedem der beiden Teile tatsächlich. Also, da die Prüfung Teil 2, da musst du ja alle Teile bestehen, beziehungsweise man darf mit zwei Fünfen und so, darf keine Sechs haben, ja okay, aber Datenbanken ist zum Beispiel ein Thema, wenn du das nicht kannst, dann hast du potenziell die Gefahr, durch zwei Prüfungsteile durchzufallen, weil es halt in beiden abgefragt werden kann, während SQL hauptsächlich in einem der Teile da ankommt. So, solche Schlussfolgerungen könnte man jetzt auch aus der Statistik ziehen. Und dann scrolle ich aber gerne nochmal runter, weil die Häufigkeit ist ja nicht so außerhalbkräftig. Wenn man jetzt nämlich guckt, Datenbanken war auf Platz 1. Bei der Punktvergabe ist aber mit großem Abstand ganz vorne Algorithmen. Also hauptsächlich Pseudo-Coach. Die dicken, fetten Programmieraufgaben, eine DIN-A4-Seite, 25 Punkte, dicker Pseudo-Coach. Das steht ganz weit oben. Danach kommen dann Datenbanken, also zum Beispiel sowas wie ER-Modell, Tabellenmodell erzeugen und so weiter. Also die sind sehr dicht beieinander, aber auf Platz 1 ist Pseudocode. Das heißt, wenn du dir ein Thema unbedingt angucken solltest, was aus meiner Erfahrung als IHK-Prüfer auch sehr häufig zu Punktabzug führt, guck dir Pseudocode an. Das gibt wirklich dicke Punkte. Und dann kommt UML, SQL und so weiter und so fort. Und das gleiche habe ich dann auch nicht nur für die Cluster gemacht, sondern auch für die Einzelthemen. Und da wird es nochmal krass deutlicher. Pseudocode ist mit Abstand, mit fast über 100 Punkten mehr auf Platz 1 vor SQL auf Platz 2. Das heißt, einzelne Themen für die bisherigen AP2 für Anwendungsentwicklung. [20:03] Pseudocode mit Abstand Nummer 1, was die Punkte angeht. Und SQL auf Platz 2. Und dann habe ich ja eben schon gesagt, ich habe das runtergebrochen. Also SQL und dann habe ich zusätzlich noch auf Select, Insert und so weiter runtergebrochen. Und auf Platz 3 ist dann Select. Das heißt, also SQL und der Großteil der SQL-Abfragen sind Select-Abfragen. Also wenn du dich fokussieren willst, guck dir Select an. Und dann, das fand ich dann ganz interessant, das bisher am häufigsten abgefragte UML-Diagramm, nein, falsch gesagt, ist ja nicht die Häufigkeit, sondern wofür es am meisten Punkte gab, ist tatsächlich das Aktivitätsdiagramm. Passt irgendwie auch ganz gut, weil Pseudocode, das ist ja auch einfach nur eine Darstellung eines Algorithmus und mit einem Aktivitätsdiagramm kann ich auch einen Algorithmus visualisieren. Passt also eigentlich auch sehr gut zu diesem Beruf. Hätte ich trotzdem nie auf dem Zettel gehabt, dass es für Aktivitätsdiagramme bisher von allen UML-Diagrammen, von den großen fünf, die mal abgefragt werden, am meisten Punkte gab. [20:54] Solche Schlussfolgerungen kann man jetzt super ziehen. Also ich wurde auch bei einigen Sachen definitiv überrascht bei dieser Liste. So, dann kommt das Relationale Datenmodell, Klassendiagramme, ER-Modell und so weiter. Und auch diese Liste kann man ganz, ganz, ganz nach oben scrollen und dann stellt man zum Beispiel fest, dass Datenbank-Trigger bisher ein einziges Mal abgefragt wurden und es gab zwei Punkte dafür. Also wenn du zum Beispiel so Special-Datenbank-Sachen wie zum Beispiel Stored Procedures und was ist ein Index und so überspringen möchtest, weil du keine Zeit hast, bislang hätte dich das nicht allzu viele Punkte gekostet. Kannst du Pseudocode und SQL und Aktivitätsdialgram nicht? Na, dann sieht’s schon schwieriger aus. Ja, so, das war jetzt also meine Liste der Themen der bisherigen IHK-Prüfung. Wenn dir das irgendwie helfen könnte bei deiner eigenen Prüfungsverbreitung oder vielleicht bist du ja auch Ausbilder oder Ausbilderin, hast eigene Azubis, dann guck doch einfach mal auf die Seite. Wie gesagt, itberufepodcast.de und dann beliebte Seiten und Themen der schriftlichen IHK-Prüfung. Da findest du diese Liste und die wird dann auch regelmäßig von mir aktualisiert. Ja, wenn dir das hier geholfen hat, würde mich freuen, wenn du mir einen Kommentar da lässt. Kannst du direkt in deiner Podcast-App machen oder schickst mir eine Mail oder über das Kontaktformular. Ich antworte auf alles, kann aber immer ein bisschen dauern, weil ich das alles ganz alleine mache hier und kein Team dahinter ist. Also bitte verzeih mir, wenn ich nicht sofort antworte auf jede Anfrage. [22:09] Wenn du möchtest, kannst du dich gerne auch für meinen Newsletter anmelden. Findest du natürlich auch auf der Website unter itwufopodcast.de slash Newsletter. Und da bekommst du dann von mir, wir sind ja heute beim Thema Prüfungsvorbereitung, auch immer passend zu deinen konkreten Prüfungsterminen die Tipps per E-Mail, wann und wie und womit du dich auf die Prüfung vorbereiten kannst. Also nur als kleinen Benefit über die ganzen drei Jahre deiner Ausbildung begleite ich dich dabei, sowohl als Azubi als auch als Ausbilder und Ausbilderin. Da kommen dann immer passend zu den einzelnen Lehrjahren die Infos per E-Mail. Also von daher, wenn du möchtest, melde dich gerne an, kannst dich jederzeit wieder abmelden, wenn du keine Lust mehr hast, kostet nichts. Ja, dann würde ich sagen, vielen Dank für deine Aufmerksamkeit heute und ich wünsche dir viel Erfolg bei deiner Prüfungsvorbereitung und bis zum nächsten Mal. Tschüss! Der Beitrag Themen der bisherigen IHK-Prüfungen für die IT-Berufe (AP1) und Fachinformatiker Anwendungsentwicklung (AP2) – IT-Berufe-Podcast #192 erschien zuerst auf IT-Berufe-Podcast .…
I
IT-Berufe-Podcast

1 Neuer Prüfungskatalog für die AP2 als Fachinformatiker Anwendungsentwicklung ab 2025 – IT-Berufe-Podcast #191 35:30
Um die Änderungen im Prüfungskatalog für die AP2 als Fachinformatiker Anwendungsentwicklung ab 2025 geht es in der einhunderteinundneunzigsten Episode des IT-Berufe-Podcasts. Inhalt Zur AP2 (Gestreckte Abschlussprüfung Teil 2) als Fachinformatiker Anwendungsentwicklung im Sommer 2025 gilt ein neuer Prüfungskatalog. Ich habe die Unterschiede zusammengestellt. Zusammenfassung Die folgenden Punkte fassen die zentralen Änderungen (aus meiner Sicht) zusammen. Zusätzliche bzw. genauer spezifizierte Inhalte Anomalien/Redundanzen in Datenbanken erkennen SQL (detailliertes Beiblatt) Last-/Performancetests potentielle Angriffe wie Man-in-the-Middle, SQL-Injection, DDoS-Attacke Kerberos ODBC Monitoring von Systemen Programm- und Konfigurationsdokumentation NAS und SAN Softwarequalitätsmerkmale Cyber-physische Systeme Test Driven Development (TDD) Scrum Architektur-Pattern Kapselung in der Objektorientierung Sortierverfahren wie Bubble/Selection/Insertion Sort Gestrichene Inhalte „Trends“ wie Smart Grid, IoT, Industrie 4.0, KI, Blockchain, Big Data, Augmented Reality Struktogramm (Nassi-Shneiderman) und Programmablaufplan (PAP) Load Balancing Data Warehouse Programmierparadigmen Detaillierter Vergleich der bisherigen und neuen Inhalte des Prüfungskatalogs für die AP2 als Fachinformatiker Anwendungsentwicklung In der folgenden Tabelle habe ich alle Unterschiede zwischen altem (ab 2020) und neuem (ab 2025) Prüfungskatalog für die AP2 als Fachinformatiker Anwendungsentwicklung gegenübergestellt. Rote Punkte habe ich im neuen Prüfungskatalog nicht wiedergefunden. Sie werden daher in den neuen Prüfungen so nicht mehr erwartet. Grüne Punkte habe ich im alten Prüfungskatalog nicht wiedergefunden. Sie werden daher in den neuen Prüfungen zusätzlich erwartet. Wenn sich lediglich Formulierungen oder Aufteilungen geändert haben, aber die Punkte inhaltlich gleich geblieben sind, stehen sie gar nicht in der Tabelle. Wenn Punkte an andere Stellen im Prüfungskatalog verschoben wurden, habe ich das in den Spalten Alter Unterpunkt und Neuer Unterpunkt gekennzeichnet. Meine persönliche (!) Bewertung (hin und wieder leicht ironisch) der Änderungen stehen in der Spalte Kommentar . Ein „x“ in Spalte wichtig deutet auf eine zentrale Änderung hin, die sich meiner Meinung nach merklich auf die Prüfungsvorbereitung der Azubis auswirkt. Die Punkte haben Präfixe, weil sie sich sonst doppeln. FÜ steht für Fachrichtungsübergreifende berufsprofilgebende Fertigkeiten, Kenntnisse und Fähigkeiten und BP für Berufsprofilgebende Fertigkeiten, Kenntnisse und Fähigkeiten in der Fachrichtung Anwendungsentwicklung . Unterpunkt Alter Inhalt Neuer Inhalt Alter Unterpunkt Neuer Unterpunkt Kommentar wichtig FÜ-01.02 BGB/HGB Chancen und Risiken der technischen Entwicklungen kennen und identifizieren können FÜ-02.01 die „Trends“ von gestern sind der Normalzustand heute Ausfallsicherheit, bspw. redundante Systeme, selbstkonfigurierende Systeme FÜ-02.01 Lebenslanges Lernen FÜ-02.01 wie soll man das auch abfragen!? Teilhabe, soziale Stabilität FÜ-02.01 wird hoffentlich in WiSo abgedeckt Veränderungen von Einsatzfeldern kennen und beurteilen können FÜ-02.02 Geräteklassen FÜ-02.02 schon in AP1 Vernetzung, Integration und Modularisierung, Zentralisierung/Dezentralisierung, Embedded Systems FÜ-02.02 Smart Grid FÜ-02.02 IoT, Industrie 4.0 FÜ-02.02 eher was für den FIDV Kl, autonome Systeme FÜ-02.02 das ist ja jetzt auch schon in AP1 drin Big Data FÜ-02.02 das fände ich schon noch wichtig für FIAE Cloud On Premises, Cloud … FÜ-02.02 BP-02.04 Block Chain, Smart Contracts FÜ-02.02 das war wirklich nur ein Hype Augmented Reality FÜ-02.02 eher was für den neuen Beruf „Gestalter/-in für immersive Medien“ FÜ-02.01 Komponententest, Funktionstest, Integrationstest Komponententest, Integrationstest, Systemtest FÜ-03.01 FÜ-02.01 FÜ-02.02 Abbildung der Kontrollstrukturen mittels Struktogramm, PAP oder Pseudocode als didaktisches Hilfsmittel Abbildung der Kontrollstrukturen mittels Aktivitätsdiagramm oder Pseudocode als didaktisches Hilfsmittel FÜ-03.02 FÜ-02.02 goodbye Struktogramm und PAP x FÜ-02.03 Anomalien/Redundanzen erkennen kann gefühlt in jedem Fachgespräch dran x FÜ-02.03 Tabellenstruktur (CREATE TABLE, ALTER TABLE), Index (CREATE INDEX), Manipulation (INSERT, UPDATE, DELETE), Projektion (SELECT FROM) Selektion (SELECT FROM …WHERE) und (SELECT … (SELECT …)), Sortieren (ORDER BY), Gruppieren (GROUP BY, HAVING) SQL (siehe Anhang des Prüfungskatalogs) : Tabellenstruktur Index Manipulation, Projektion, Selektion, Sortieren, Gruppieren FÜ-03.03 also gut die Inhalte des Beiblatts lernen x FÜ-03.01 Software-Test, dynamische und statische Testverfahren (z. B. Black Box, White Box, Review, Extremwertetest, Testdaten) Software-Test, dynamische und statische Testverfahren (z. B. Black Box, White Box, Review, Extremwertetest, Testdaten, Last- und Performancetest) FÜ-04.01 FÜ-03.01 Netzwerkanalyse, Bandbreite, Reaktionszeiten FÜ-04.01 FÜ-03.02 Hardwaretest, z. B. Wareneingangskontrolle, mangelhafte Lieferung, Warenausgangskontrolle, Abnahmeprotokoll Abnahmeprotokoll FÜ-04.02 FÜ-04.04 Technisch Organisatorische Maßnahmen (TOM) FÜ-04.04 Bedrohungsszenarien, z. B. Man-in-the-Middle, SQL-Injection, DDoS-Attack die wichtigsten Angriffe sollte jede:r FIAE kennen x BP-01.02 Switch; Bridge; Router BP-01.03 Verschlüsselung (preshared key, RADIUS …) Zugriffskontrolle im Netzwerk (RADIUS, Kerberos …) x BP-01.03. Drahtlos: PAN/WLAN Drahtlos: PAN/WLAN/ Mesh BP-01.03 Netzwerkplan Netzwerkplan BP-01.04 BP-01.03 Netzwerktopologie (FI DV/SI) Netzwerktopologie (FI DV/FI SI) BP-01.04 BP-01.04 Dateifreigaben, z. B, SMB/CIFS BP-01.04 Datenabruf, z. B. HTTP, ODBC x BP-01.07 Netzwerkrelevante Dienste administrieren können Netzwerkrelevante Dienste beschreiben können das ist für FIAE auch ausreichend BP-01.08 Anwendungsdienste sicherstellen können Anforderungen an Verfügbarkeit von Anwendungsdiensten beurteilen können BP-01.11 Festlegen der Monitoringdaten BP-01.11 Festlegen von Schwellwerten BP-01.11 Load Balancing BP-01.12 Incident Management (Ticketsystem) Incident Management (Ticketsystem) BP-01.11 BP-01.12 Eskalationsstufen BP-01.13 Programm- und Konfigurationsdokumentation wurde vorher tatsächlich nicht genannt x BP-01.13 Checklisten BP-02.02 Elementarrisiken, z. B. Feuer, Hochwasser BP-02.03 Verschlüsselung (TPM) Verschlüsselung, z. B. Bitlocker BP-02.04 Fog , Cloud On Premises, Cloud BP-02.04 SaaS, XaaS SaaS, laaS, PaaS Xaas enthielt ja eigentlich schon alle Varianten BP-02.05 Data Warehouse BP-02.05 Datenaustauschformate: XML, JSON, CSV u. a. die Formate stehen aber noch an zwei anderen Stellen BP-02.06 NAS; SAN BP-03.01 Anforderungen kundengerecht erfassen können Softwareanforderungen erfassen können BP-03.01 Änderbarkeit Änderbarkeit/ Erweiterbarkeit an Liste der ISO25001 angepasst x BP-03.01 Wartbarkeit x BP-03.02 Relationales Datenbankmodell steht schon mehrfach im Katalog BP-03.03 Datenbankverbindung implementieren BP-03.03 API API, z.B. REST steht schon mehrfach im Katalog BP-03.04 Programmierparadigma (Skriptsprache, Compilersprache …) das erstaunt mich ein wenig BP-03.04 Aufwand BP-03.06 Cyber-physische Systeme beschreiben und erweitern können ich dachte dafür haben wir den FIDV x BP-03.06 CPS-Software; Auswahl von geeigneten Sensoren/Aktoren; Nutzung von Bibliotheken; Abfragerhythmus planen; Kenntnis des Zugriffs auf Sensoren und Aktoren x BP-03.08 Qualitätssicherung und Tests; Black Box-/White Box-Tests steht schon mehrfach im Katalog BP-03.08 Grundsätzliches Vorgehen beim Testen, z. B. print-Debugging, TDD, Unit-Test, E2E Test hurra, TDD! x BP-04.01 Lasten-/Pflichtenheft erstellen können BP-04.08 BP-04.02 Scrum stand vorher tatsächlich nicht explizit im Katalog x BP-04.07 Software-Entwicklungswerkzeuge aufgabenbezogen anwenden können Software-Entwicklungswerkzeuge aufgabenbezogen auswählen und anwenden können BP-04.06 BP-04.12 Design-Pattern anwenden können Architektur- und Design-Pattern anwenden können, z. B. ui, Architektur kommt dazu und Liste der Pattern ist nur beispielhaft x BP-04.16 Struktogramm; PAP endlich! x BP-04.17 Objektorientierte Programmiermethoden anwenden können, z. B. Objektorientierte Programmiermethodenkonzepte anwenden können, z. B. was für ein Wort! x BP-04.17 Kapselung wer das nicht gelernt hat, war selbst schuld x BP-04.18 Bubble Sort Elementares Sortieren, z, B. Bubble Sort, Selection Sort, Insertion Sort x BP-04.22 Datenbankabfrage, Datenpflege mit SQL erstellen können Datenbankabfrage, Datenpflege mit SQL erstellen können -> Verweis auf Belegsatz alles lernen, was im Belegsatz steht x BP-05.03 Modultests erstellen und durchführen können (Unit-Tests) BP-05.03 die einzelnen Punkte wurden zusammengefasst BP-05.03 Softwaretests erstellen, durchführen und die Ergebnisse analysieren können Softwaretests erstellen, durchführen und die Ergebnisse analysieren können BP-05.05 Literaturempfehlungen Das hier ist der „offizielle“ Prüfungskatalog für den Fachinformatiker Anwendungsentwicklung: Fachinformatiker / Fachinformatikerin – Anwendungsentwicklung Prüfungskatalog für die IHK-Abschlussprüfung Links Permalink zu dieser Podcast-Episode RSS-Feed des Podcasts Ich habe meine Themenliste zur AP2 als FIAE natürlich passend zu den Änderungen aktualisiert: Mögliche Themen von Teil 2 der gestreckten Abschlussprüfung (GAP) für Fachinformatiker Anwendungsentwicklung Der Beitrag Neuer Prüfungskatalog für die AP2 als Fachinformatiker Anwendungsentwicklung ab 2025 – IT-Berufe-Podcast #191 erschien zuerst auf IT-Berufe-Podcast .…
I
IT-Berufe-Podcast

Um die Änderungen im Prüfungskatalog für die AP1 der IT-Berufe ab 2025 geht es in der einhundertneunzigsten Episode des IT-Berufe-Podcasts. Inhalt Zur AP1 (Gestreckte Abschlussprüfung Teil 1) der IT-Berufe im Frühjahr 2025 gilt ein neuer Prüfungskatalog. Ich habe die Unterschiede zusammengestellt. Zusammenfassung Die folgenden Punkte fassen die zentralen Änderungen (aus meiner Sicht) zusammen. Zusätzliche bzw. genauer spezifizierte Inhalte Projekte Projektmerkmale SMART-Prinzip Wirtschaftlichkeit Wasserfallmodell und Scrum Künstliche Intelligenz (KI) Software Softwareprodukte wie ERP, SCM, CRM Social Media Barrierefreiheit auf Websites Netzwerkadministration Einbindung eines PCs in eine Domäne IPv4 und IPv6 HDD vs. SSD Übertragungsraten, -zeiten und Datenmengen berechnen UML-Aktivitätsdiagramm Fehler in Code finden und Schreibtischtest durchführen IT-Sicherheit Schutzziele (Vertraulichkeit, Verfügbarkeit, Integrität) Hashverfahren Zweifaktorauthentifizierung (2FA) Härtung von Betriebssystemen Datenschutz Betroffenenrechte nach DSGVO Anonymisierung und Pseudonymisierung Gestrichene Inhalte Projekte Weitere Vorgehensmodelle außer Wasserfall und Scrum SWOT-Analyse (Stärken/Schwächen) Hardware SAN RAID LTE und 5G Programmierung Vererbung in der Objektorientierung Struktogramm (Nassi-Shneiderman) und Programmablaufplan Softwarequalitätskriterien Datenbanken Alle nicht-relationalen Datenbanken SQL ISO-Normen wie die 2700x Dokumentationen Detaillierter Vergleich der bisherigen und neuen Inhalte des Prüfungskatalogs für die AP1 der IT-Berufe In der folgenden Tabelle habe ich alle Unterschiede zwischen altem (ab 2020) und neuem (ab 2025) Prüfungskatalog für die AP1 der IT-Berufe gegenübergestellt. Rote Punkte habe ich im neuen Prüfungskatalog nicht wiedergefunden. Sie werden daher in den neuen Prüfungen nicht mehr erwartet. Grüne Punkte habe ich im alten Prüfungskatalog nicht wiedergefunden. Sie werden daher in den neuen Prüfungen zusätzlich erwartet. Wenn sich lediglich Formulierungen oder Aufteilungen geändert haben, aber die Punkte inhaltlich gleich geblieben sind, stehen sie gar nicht in der Tabelle. Wenn Punkte an andere Stellen im Prüfungskatalog verschoben wurden, habe ich das in den Spalten Alter Unterpunkt und Neuer Unterpunkt gekennzeichnet. Meine persönliche (!) Bewertung (hin und wieder leicht ironisch) der Änderungen stehen in der Spalte Kommentar . Ein „x“ in Spalte wichtig deutet auf eine zentrale Änderung hin, die sich meiner Meinung nach merklich auf die Prüfungsvorbereitung der Azubis auswirkt. Unterpunkt Alter Inhalt Neuer Inhalt Alter Unterpunkt Neuer Unterpunkt Kommentar wichtig 01.01 Merkmale eines Projektes war vorher tatsächlich nicht explizit genannt 01.01 SMART-Prinzip 01.01 Projektphasen Projektphasen am Beispiel des Wasserfallmodells bzw. SCRUM definieren können 01.01 Vorgehensmodelle XP, Kanban etc. werden dann wohl nicht mehr benötigt x 01.01 Teambildung und -entwicklung Phasen der Teambildung und -entwicklung kennen 01.02 Machbarkeit von Projekten beurteilen können Machbarkeit und Wirtschaftlichkeit von Projekten beurteilen können sinnvoll auch für das Abschlussprojekt 01.02 Vor- und Nachkalkulation 01.02 Stammdaten und Bewegungsdaten naja, wer arbeitet schon mit Daten!? 01.02 Betriebswirtschaftliche Kennzahlen, z. B. Umsatz, Gewinn, Deckungsbeitrag 07.02 Deckungsbeitrag war wohl zu schwierig 01.03 KI-Unterstützung muss heutzutage halt sein x 01.03 Supportanfragen Support- und Serviceanfragen (First-, Second- und Thirdlevelsupport) sinnvoll, die einzelnen Typen zu nennen 02.01 Angebotsbewertung Quantitative und qualitative Angebotsbewertung 02.02 Benchmarking hat eh niemand verwendet 02.02 Fragetechnik, aktives Zuhören, bedarfs- und adressatengerechte Präsentation ist auch schwer schriftlich abzufragen 02.03 Medien zur Kundenpräsentation und -Information, z. B. Kundengespräch via Webinaren Situationsgerechte Kundenkommunikation 02.03 Eisbergmodell 02.03 Cross-Selling; Upselling ist ja auch sehr Sales-lastig 02.03 Kundenbedarf ermitteln und Angebote unterbreiten 02.03 Interpretation englischsprachiger Texte 02.04 Technische und nicht-technische Texte; Auswertung von englischen Texten Technische und kaufmännische Texte in deutscher und englischer Sprache 02.04 Digitale Suchabfragen unter Verwendung von Suchoperatoren finde ich trotz KI weiterhin wichtig 02.04 Qualitätsmerkmale von Präsentationen; Medienkompetenz Präsentation und Medienkompetenz 02.05 Stärken-/Schwächenanalyse schade um die gute alte SWOT-Analyse 03.01 Funktionale, ökonomische, ökologische, soziale Aspekte Funktionale, ökonomische und ökologische Aspekte, z. B. Ergonomie, Leistungsparameter, einmalige und laufende Kosten, Nutzungsdauer, Energieverbrauch, Recyclingfähigkeit 03.01 Hardwareprodukte, z. B. CPU, Motherboard, Speicher, Datenspeicher, Netzteile, Grafikkarte, Peripheriegeräte, Netzwerkkomponenten, WLAN Hardwareprodukte, z. B. CPU, Motherboard, Speicher, Datenspeicher, Netzteile, Grafikkarte, Peripheriegeräte, Sensoren , Netzwerkkomponenten wie z. B. WLAN-Router, Switch, Gateway, Accesspoint das IoT lässt grüßen 03.01 Standardsoftware, z. B. Office-Pakete, Datenbank-Managementsysteme, Browser 03.01 Branchensoftware, z. B. ERP-Systeme, Supply Chain Management, Customer Relationship 04.03 ich hätte schwören können, dass das vorher schon drin stand x 03.01 Systemsoftware 03.01 Entwicklungssysteme, z. B. Compiler, virtuelle Maschinen, Interpreter, Editoren und Debugger 04.06 03.01 KI-Software ok, wir haben es verstanden, KI ist wichtig x 03.01 Cloudlösungen (Software as a Service, Infrastructure as a Service, Platform as a Service) Cloudlösungen, z. B. Software as a Service, Desktop as a Service 03.01 Virtualisierungen Virtuelle Desktops (Cloud oder lokal) also keine virtuellen Server mehr!? 03.02 Einteilung und Klassifikation von Anwendungssystemen 03.01 damit waren wohl CRM usw. gemeint 03.02 Benutzeroberfläche 03.02 Datenbanksysteme 03.01 03.02 Kommunikationssysteme Kommunikationssysteme, z. B. Videokonferenzsysteme, Social-Media-Systeme Social Media ist fast so wichtig wie KI 03.02 Netzwerkkomponenten, z. B. Router, Switch, Accesspoint 03.01 03.02 Netzwerkprotokolle, z. B. OSI-Modell, DNS, SMB, NFS, SMTP/S, IMAP/S, HTTP/S, IPSEC, IP, TCP, UDP, SSH, DHCP, ARP, TLS Netzwerkprotokolle (z. B. Ethernet, IP, DNS) und OSI-Modell die Liste der vorher aufgezählten Protokolle veraltet wohl zu schnell 03.02 Client-Server-Systeme spannend, dass so ein grundlegender Inhalt vorher fehlte 03.02 Einbindung in einer Domäne 03.02 Mobile Geräte, z. B. Smartphone, Tablet 04.02 03.03 Kenngrößen, Leistungsdaten, Funktionsumfang, z. B. BIOS, UEFI, CPU, RAM, Datenspeicher, RAID, Filesysteme, Grafikkarte, Netzwerkkarte, Router, Switch, LWL, Ethernet Standards, WLAN Standards Kenngrößen, Leistungsdaten, Funktionsumfang, z. B. Einstellungsmöglichkeiten im BIOS, UEFI, CPU, RAM, Datenspeicher (SSD/HDD) , Filesysteme (z. B. FAT32, NTFS, APFS, ext4) , Grafikkarte, Netzwerkkarte, Gateway /Router, Switch, LWL, Ethernet Standards, WLAN-Standards goodbye RAID, hello SSD x 03.03 Barrierefreier Zugriff auf IT-Systeme Barrierefreier Zugriff auf IT-Systeme am Arbeitsplatz, z. B. Einstellungsmöglichkeiten auf Webseiten da hat wohl jemand was vom Barrierefreiheitsstärkungsgesetz gehört x 03.03 Übertragungsraten, -Zeiten, Datenmengen von digitalisierten Dokumenten, Videos usw. war gefühlt in jeder Prüfung, aber stand noch nie im Katalog x 03.04 Auslastung und Anpassungsfähigkeit/Erweiterbarkeit, Zukunftssicherheit 03.04 Wertschöpfung 04.01 Lasten- und Pflichtenheft Lasten- und Pflichtenheft (Zweck, Urheber, Inhalt) 04.01 Installation und Einrichtung von Systemen, z. B. Betriebssysteme, BIOS, UEFI, Partitionierungen/Formatierungen, Netzwerkanbindungen, IP-Konfiguration, Remotedesktop Installation und Einrichtung von Systemen, z. B. Betriebssysteme, BIOS, UEFI, Partitionierungen/Formatierungen, Netzwerkanbindungen, IP(v4/v6) -Konfiguration, Remote-Desktop, KI-Software klein und unscheinbar haben die hier IPv6 reingeschmuggelt x 04.02 Geräteklassen, z. B. Desktops, Notebooks, Tablets, Smartphones Geräteklassen, z. B. Desktops, Notebooks, All-in-One, Thin Clients, Tablets, Smartphones 04.02 Mobile und stationäre Arbeitsplatzsysteme wie PC, Terminals, LAN, WLAN, mobiler Datenfunk (LTE/5G) Mobile und stationäre Arbeitsplatzsysteme wie PC, Terminals, LAN, WLAN warum LTE und 5G rausfliegt, kann ich nicht nachvollziehen x 04.02 Barrierefreiheit, z. B. Arbeitsplatz mit zweitem Monitor ausstatten, Lautsprecher/Mikrofon zur Verfügung stellen Barrierefreiheit, Unterstützung durch zusätzliche Hardware, z. B. größerer Monitor, breitere Tastatur, Lautsprecher/Mikrofon zur Verfügung stellen 04.03 Betriebssysteme Betriebssysteme (Einsatzzweck, Filemanagement, Freigaben managen) der Punkt war vorher auch viel zu umfangreich 04.03 Branchensoftware 03.01 04.03 KI-Software wir haben es jetzt verstanden! 04.04 Grundlagen des Schutzes der Urheber 04.05 Konsolenbefehle für Dateioperationen und Netzwerktroubleshooting, z. B. dir, Is, mkdir, ipconfig, ifconfig, alias, iproute2, arp, del, cp, copy, chmod, ping, traceroute Konsolenbefehle für Dateioperationen und Netzwerktroubleshooting, z. B. dir, Is, mkdir, ipconfig, ifconfig/ ip , alias, iproute2, arp, del, cp, copy, chmod, ping, traceroute, nslookup ip und nslookup hätte ich früher erwartet 04.06 Klassen, Vererbung, Methoden Klassen, Attribute, Objekte, Methoden, Sichtbarkeit ui, endlich private und public in der AP1, aber dafür keine Vererbung mehr x 04.06 Skriptsprachen, z. B. Shell-Skript, Macros Skriptsprachen, z. B. Shell-Skript 04.07 Abbildung der Kontrollstrukturen mittels Struktogramm, PAP oder Pseudocode als didaktisches Hilfsmittel Abbildung der Kontrollstrukturen, z. B. Verzweigungen, Schleife, mittels Pseudocode goodbye Struktogramm und PAP x 04.07 UML (Use Case, Klassendiagramm) UML (Use Case bzw. Anwendungsfalldiagramm, Klassendiagramm, Aktivitätsdiagramm ) hello Aktivitätsdiagramm x 04.07 Entwurf der Bildschirmausgabemasken (Softwareergonomie, Barrierefreiheit) Entwurf der Bildschirmausgabemasken (Softwareergonomie, Corporate Identity, Barrierefreiheit) 04.07 Fehler in einem gegebenen Quellcode finden alle ITler:innen sollten Quellcode verstehen x 04.07 Schreibtischtest mit einem gegebenen Quellcode durchführen x 04.08 Grundlagen von Datenbanken kennen und anwenden können Grundlagen von relationalen Datenbanken kennen und anwenden können goodbye NoSQL x 04.08 SELECT bezogen auf eine Tabelle goodbye SQL x 05.01 Qualitätsbegriff nach ISO 9000 05.01 Audit 05.02 Maßnahmen zur Verbesserung der Prozessqualität 05.02 Maßnahmen zur Verbesserung der Arbeitsqualität 05.02 Maßnahmen zur Verbesserung der Produkt- und Dienstleistungsqualität 05.02 Kriterien der Softwarequalität, Funktionalität, Zuverlässigkeit, Benutzbarkeit, Effizienz, Änderbarkeit, Übertragbarkeit zugegeben, das war sehr FIAE-lastig x 05.02 Testprotokoll für das Einrichten eines Arbeitsplatzes was soll das sein? x 06.01 Gewährleistung von Verfügbarkeit, Vertraulichkeit und Integrität der Daten die Schutzziele wurden vorher tatsächlich nicht genannt x 06.01 organisatorische Maßnahmen, z. B. IT-Sicherheitsbeauftragter im Betrieb, Erstellung einer IT-Sicherheitsrichtlinie, z. B. Passwort-Policy Technisch organisatorische Maßnahmen (TOM); Unterscheidung von IT-Sicherheitsbeauftragtem und Datenschutzbeauftragtem im Betrieb; Erläuterung von IT-Sicherheitsrichtlinien wie Passwort-Policy 06.01 technische Maßnahmen, z. B. Virenschutzsystem, Firewall, Anti-Spam Benennung von technischen Maßnahmen, z. B. Virenschutz, Personal Firewall, Verschlüsselung (inkl. Unterscheidung symmetrisch, asymmetrisch und hybrid) 06.04 anscheinend sind nur noch Personal Firewalls relevant 06.01 personelle Maßnahmen, Sicherheitsbewusstsein herstellen personelle Maßnahmen, Entwicklung des Sicherheitsbewusstseins 06.01 Normen und Branchenstandards zur Informationssicherheit, Z. B. 06.01 ISO 2700x ich finde keine ISO-Norm mehr im neuen Katalog 06.01 BSI IT-Grundschutz Auszüge aus BSI IT-Grundschutz-Kompendium das ganze Ding hat ja auch mehrere hundert Seiten 06.01 Datenschutzgesetze national und auf EU-Ebene, z. B. DSGVO, BDSG Einhaltung der Grundzüge der Datenschutzgesetze, national und auf EU-Ebene, z. B. DSGVO, BDSG überprüfen auch diese Gesetze sind sehr umfangreich 06.01 Rechte der Betroffenen, Konsequenzen der Einwilligung der Betroffenen kennen x 06.01 Maßnahmen wie Anonymisierung und Pseudonymisierung x 06.02 Schutzbedarfsanalyse im eigenen Arbeitsbereich durchführen Schutzbedarfsanalyse im eigenen Arbeitsbereich aufgrund betrieblicher Vorgaben nach BSI IT-Grundschutz durchführen 06.02 Räume Räume, Infrastruktur 06.03 Schutzbedarfskategorien (normal, hoch, sehr hoch) Schutzbedarfskategorien (normal, hoch, sehr hoch) ableiten und begründen 06.03 IT-Sicherheitsmanagementsystem implementieren Informations-Sicherheitsmanagementsystem (ISMS) kennen und unterstützen 06.03 Betrieblicher IT-Sicherheitsbeauftragter 06.01 06.03 Risiko-Klassifikation, z. B. mit Matrix 06.04 Sicherung der Verfügbarkeit, z. B. RAID-Systeme, SAN Sicherung der Verfügbarkeit, z. B. NAS goodbye RAID und SAN x 06.04 Verschlüsselungstechniken, symmetrische und asymmetrische Verschlüsselung, CAs, Zertifikate, Digitale Signaturen, Techniken wie https, TLS Verschlüsselungstechniken kennen (symmetrische, asymmetrische und hybride Verschlüsselung); Hashwerte , Zertifikate und digitale Signaturen verwenden Hashes wurden vorher tatsächlich auch nicht erwähnt x 06.04 Authentifizierung, Passwort-Policy Authentifizierung (z. B. Zweifaktor) kennen, Passwort-Policy bewerten 06.04 Firewall, SSH vs. Telnet Personal Firewall anpassen, z. B. Softwarezugriff auf Internet sperren 06.04 Härtung Betriebssystem (Schwachstellen schließen) das ist sinnvoll x 07.01 Vertragsbestandteile, z. B. Leistungsbeschreibung, Termine, Entgelte, Lasten- und Pflichtenheft, Konventionalstrafen Vertragsbestandteile, z. B. Leistungsbeschreibung, Termine, Entgelte, Sanktionen/Konventionalstrafen 07.01 Verzug Vertragsstörungen nicht mehr nur der Verzug ist wichtig x 07.02 Ökologisch Ökologisch, z. B. Ressourcenschonung, Nachhaltigkeit 07.02 Ökonomisch (z. B. prozentuale Marge) Ökonomisch, z. B. Umsatz und Gewinn 07.02 Sozial Sozial, z. B. Arbeitsbedingungen 07.03 Abstimmen der dokumentierten Vorgaben zur Leistungserbringung während des gesamten Zeitraums mit dem Auftraggeber da konnte ich mir eh nie etwas drunter vorstellen 07.03 Kontinuierliche Prüfung der vertraglich vereinbarten Vorgaben 07.03 Berücksichtigung der Stilllegung von Altsystemen und Inbetriebnahme der neuen Systeme 07.03 Aufbewahrung von Archivdaten 07.03 Vollständige Dokumentation der erbrachten Leistung 07.04 Kauf, Miete, Leasing 03.04 07.04 Rolloutprozesse 07.04 Vorbereitung (Kunden-Onboarding, Scope festlegen, Formalitäten); 07.04 Rolloutumsetzung (Integration von Schnittstellen, kundenspezifische Entwicklungen) 07.04 Ticketsystem 01.03 07.04 Einhaltung des Budgets als ob sich ITler für Budgets interessieren 07.07 Inhalt des Abnahmeprotokolls, z. B. Gegenstand der Abnahme; Beteiligte Personen; Ort, Datum und Uhrzeit Inhalt des Abnahmeprotokolls 07.07 Arten der zu übergebenden Dokumentation, z. B.; Benutzerdokumentation (Handbuch); Schnittstellendokumentation; Programmdokumentation (Source-Code); Netzwerkdokumentation; Testprotokolle richtig so! niemand braucht Dokumentationen 07.07 Schlechtleistung, z. B. fehlende Funktionalität Schlechtleistung 07.07 Falschlieferung, z. B. falsche Softwarepakete ausgeliefert Falschlieferung 07.07 Minderlieferung, z. B. nur Teile der Software geliefert Minderlieferung 07.08 Bestätigung erbrachter Leistungen 07.08 Nachkalkulation 07.08 Generierung von Nachfolgeaufträgen Literaturempfehlungen Das hier sind die „offiziellen“ Prüfungskataloge für die vier Fachrichtungen des Fachinformatikers. Die Inhalte für AP1 sind natürlich überall identisch. Fachinformatiker / Fachinformatikerin – Anwendungsentwicklung Prüfungskatalog für die IHK-Abschlussprüfung Fachinformatiker / Fachinformatikerin – Systemintegration Prüfungskatalog für die IHK-Abschlussprüfung Fachinformatiker / Fachinformatikerin – Digitale Vernetzung Prüfungskatalog für die IHK-Abschlussprüfung Fachinformatiker / Fachinformatikerin – Daten- und Prozessanalyse Prüfungskatalog für die IHK-Abschlussprüfung Links Permalink zu dieser Podcast-Episode RSS-Feed des Podcasts Ich habe meine Themenliste zur AP1 natürlich passend zu den Änderungen aktualisiert: Mögliche Themen von Teil 1 der gestreckten Abschlussprüfung (GAP) in den IT-Berufen Der Beitrag Neuer Prüfungskatalog für die AP1 der IT-Berufe ab 2025 – IT-Berufe-Podcast #190 erschien zuerst auf IT-Berufe-Podcast .…
Die Unterscheidung von Lastenheft und Pflichtenheft ist Thema der einhundertneunundachzigsten Episode des IT-Berufe-Podcasts. Inhalt Kurzübersicht Lastenheft Definition laut DIN 69901-5: „vom Auftraggeber festgelegte Gesamtheit der Forderungen an die Lieferungen und Leistungen eines Auftragnehmers innerhalb eines Auftrages“. Verfasst von: Auftraggeber, also aus Sicht des Kunden. Inhalt: Lösungsneutrale funktionale und nicht-funktionale Anforderungen an ein Produkt, eine zu erstellende Software oder ein Projektergebnis aus Sicht des Auftraggebers. Fragen: WAS soll erreicht werden? WARUM ist das wichtig? WOFÜR wird das benötigt? WER will das haben? Ziel: Basis, um Angebote von potenziellen Auftragnehmern einzuholen. Es bildet die Grundlage für das vom Auftragnehmer zu erstellende Pflichtenheft. Rechtliche Relevanz: keine Mögliche Inhalte Anforderungen der Stakeholder (z.B. Fachlichkeit, Regualatorik, Usability, Performance, Hardware-/Netwerk-/Softwareumgebung) Ist-Zustand und Soll-Zustand Abnahmekriterien für die Prüfung, ob die Anforderungen erfüllt sind Einschränkungen bei zu verwendenden Technologien Anforderungen an den Auftragnehmer (z.B. Zertifizierung) Schnittstellen Sonstige Anforderungen (z.B. Dauer, Kosten, Meilensteine) Kurzübersicht Pflichtenheft Definition laut DIN 69901-5: „vom Auftragnehmer erarbeitete[n] Realisierungsvorgaben aufgrund der Umsetzung des vom Auftraggeber vorgegebenen Lastenhefts“. Verfasst von: Auftragnehmer, also aus Sicht des Dienstleisters. Inhalt: Vorschlag für technische Lösung der Anforderungen aus dem Lastenheft. Fragen: WIE sollen die Anforderungen umgesetzt werden? WELCHE Technologien kommen zum Einsatz? Ziel: Konkretes Angebot eines Auftragnehmers, um die Anforderungen aus dem Lastenheft des Auftraggebers zu erfüllen. Basis für die Kalkulation von Kosten/Aufwänden und das Erstellen eines Angebots. Definiert die Vorgaben für die spätere Implementierung. Rechtliche Relevanz: wird Vertragsbestandteil und dient zur Abnahme der erbrachten Leistung Mögliche Inhalte Spezifikationen des geplanten Ergebnisses bzw. die technische Realisierung, z.B. Architektur, Technologien, UML-Diagramme, ER-Modelle, geplante Prozessabläufe, UI-Entwürfe Entwicklungsprozess, Projektplan mit Meilensteinen, Vorgaben zur Kommunikation Ressourcen wie konkrete Personen, Subunternehmen, Technologien Definitionen aus dem IT-Handbuch Beginnen wir mit einer Definition der Begriffe. Dafür schaue ich immer gerne in das IT-Handbuch *, das bis vor einigen Jahren noch der „offizielle“ Prüfungsbegleiter war und als Nachschlagewerk mit in die Prüfung genommen werden durfte. Dort werden Lasten- und Pflichtenheft wie folgt definiert: Lastenheft Das Lastenheft enthält alle Forderungen des Auftraggebers (Kunden) an die Lieferungen und/oder Leistungen eines Auftragnehmers. Die Forderungen sind aus Anwendersicht einschließlich aller Randbedingungen zu beschreiben. Diese sollten quantifizierbar und prüfbar sein. Im Lastenheft wird definiert, was für eine Aufgabe vorliegt und wofür diese zu lösen ist. Pflichtenheft Das Pflichtenheft enthält das vom Auftragnehmer erarbeitete Realisierungsvorhaben auf der Grundlage des Lastenheftes. Das Pflichtenheft enthält als Anlage das Lastenheft. Im Pflichtenheft werden die Anwendervorgaben detailliert und in einer Erweiterung die Realisierungsforderungen unter Berücksichtigung konkreter Lösungsansätze beschrieben. Im Pflichtenheft wird definiert, wie und womit die Forderungen zu realisieren sind. Gut verständlich finde ich auch die Erläuterungen in der Wikipedia, die sich auf die DIN 69901 stützen (die leider nicht kostenfrei verfügbar ist): Lastenheft Gemäß DIN 69901-5 […] beschreibt das Lastenheft die „vom Auftraggeber festgelegte Gesamtheit der Forderungen an die Lieferungen und Leistungen eines Auftragnehmers innerhalb eines Auftrages“. Das Lastenheft beschreibt in der Regel somit, was und wofür etwas gemacht werden soll. [Herv. d. Verf.] Pflichtenheft Das Pflichtenheft beschreibt in konkreter Form, wie der Auftragnehmer die Anforderungen des Auftraggebers zu lösen gedenkt – das sogenannte wie und womit . […] Laut DIN 69901-5 umfasst das Pflichtenheft die „vom Auftragnehmer erarbeiteten Realisierungsvorgaben aufgrund der Umsetzung des vom Auftraggeber vorgegebenen Lastenhefts“. [Herv. d. Verf.] Vor- und Nachteile von Lasten- und Pflichtenheft Gute Planungssicherheit für den Auftraggeber. Er weiß genau, was er bekommt und wie teuer es wird. Eher starres Vorgehen ist nur geeignet für Projekte, die für einen langen Zeitraum unverändert bleiben (Wasserfallmodell). Das Erstellen der Dokumente ist sehr aufwändig und zeitintensiv. In agilen Vorgehensmodellen wie Scrum werden sie nicht verwendet. Alternative: Arbeit in Inkrementen, Minimum Viable Product Relevanz für die Praxis und die IHK-Projektarbeit Lasten- und Pflichtenheft sind zwei Artefakte, die ich in (fast) jeder IHK-Projektdokumentation erwarte. Da die Abschlussprojekte eine genaue Zeitvorgabe haben (40 bzw. 80 Stunden) und auch die Anforderungen zu Beginn komplett feststehen (sollten), eignen sich Lasten- und Pflichtenheft gut für die Dokumentation der Anforderungen. Wenn man eine Priorisierung durchführen müsste, würde ich mehr Gewicht auf das Pflichtenheft legen, da dieses die Grundlage für den Vertrag zur Erstellung der Software ist. Das heißt, die Abnahme am Ende des Projekts erfolgt „gegen“ das Pflichtenheft. Was dort nicht enthalten ist, wird auch nicht umgesetzt. Das ist übrigens auch eine häufige Frage im Fachgespräch: Warum ist das Pflichtenheft so wichtig? Weil es Vertragsbestandteil ist. Die Abgrenzung zwischen Lasten- und Pflichtenheft wird übrigens auch gerne als Prüfungsfrage (schriftlich und mündlich) genommen. Aber auch im realen Leben haben Lasten- und Pflichtenheft ihre Daseinsberechtigung in bestimmten Projekten, z.B. wenn es um sicherheitskritische Produkte geht, die nicht „mal eben“ agil entwickelt werden können/dürfen. Wer erstellt das Lasten- und Pflichtenheft? Wie die Definitionen oben nahelegen, sollte im Rahmen des IHK-Abschlussprojekts das Lastenheft vom Kunden bzw. der Kundin erstellt werden und das Pflichtenheft vom Prüfling . Der/die Kund:in formuliert, was er/sie gerne hätte (also die fachlichen Anforderungen), und der Prüfling definiert die dazu passende konkrete technische Lösung. In der Praxis ist es allerdings häufig so, dass Kunden ihre Anforderungen gar nicht genau kennen, geschweige denn sie so formulieren können, dass ein:e ITler:in sie versteht. Daher spricht nichts dagegen, dass Prüflinge schon beim Erstellen des Lastenhefts mitarbeiten. Wenn du genau in die Zeitplanung von Gerdas und Markus‘ Dokumentation schaust, wirst du feststellen, dass bei uns im Unternehmen genau so gearbeitet wird. Es wurde nämlich im Rahmen der Projektplanung Zeit für die Unterstützung des Fachbereichs bei der Erstellung des Lastenhefts eingeplant. Die Entwickler:innen helfen den Kunden z.B. bei der Formulierung der Anforderungen, aber auch bei deren Identifikation. Gute Methoden dafür sind z.B. Brainstorming oder Interviews . Aufbau und Formulierung Zu Inhalt, Aufbau und (gerade für die Projektdokumentation interessant) Formulierung von Lasten- und Pflichtenheft gibt es keine harten Vorgaben. Letztlich bestehen beide Artefakte aus Prosa. Lastenheft Ich persönlich würde einen etwas „moderneren“ Ansatz wählen und im Lastenheft User-Storys verwenden (für Beispiele verweise ich wieder auf die beiden obigen Dokumentationen). Durch diese Vorgabe wird man bei der einheitlichen Formulierung unterstützt und muss sich nicht alles neu ausdenken. Es gibt aber auch andere Ansätze, wie z.B. die richtig „enterprisey“ Volere-Templates . Da ist allein das Inhaltsverzeichnis aller möglichen Anforderungen schon ellenlang. Pflichtenheft Das Pflichtenheft sollte dann natürlich einige konkrete technische Artefakte beinhalten, da es ja so spezifisch wie möglich sein muss. Ich beschreibe es immer gerne so: Das Pflichtenheft muss man einem/einer Softwareentwickler:in ohne Kommentar auf den Tisch legen können und er/sie entwickelt dann allein auf dieser Basis die gewünschte Software. Dass das in der Praxis so nicht funktioniert (und auch nicht meine präferierte Umgangsweise ist) ist hoffentlich klar. Man kann aber durchaus alle in der Entwurfsphase erstellten Artefakte ins Pflichtenheft packen: Use-Case-Diagramm, Klassendiagramm, Komponentendiagramm, ERM, Tabellenmodell, GUI-Mockups, Testszenarien usw. Wie gesagt: Was nicht im Pflichtenheft steht, wird nicht umgesetzt (und nicht bezahlt). Berücksichtigung in der IHK-Projektdokumentation Da sowohl Lasten-, als auch Pflichtenheft recht lang werden können, empfehle ich, in der Projektdokumentation ausschließlich Ausschnitte daraus abzubilden. Und damit meine ich nicht Deckblatt und Inhaltsverzeichnis (habe ich leider schon oft so gesehen), sondern die konkreten Anforderungen bzw. Lösungsvorschläge. Also zeig bitte interessante Inhalte und nicht unwichtigen Kram. Da die Seiten in der Projektdokumentation begrenzt sind, kann man vielleicht sogar zwei Fliegen mit einer Klappe schlagen und Lasten-/Pflichtenheft sowie projektrelevante technische Inhalte daraus in nur einem Anhang zeigen. Beispiel: Das Pflichtenheft enthält ein Komponentendiagramm der geplanten Anwendung. Dann könnte der einseitige Auszug aus dem Pflichtenheft (die Seiten mit dem Komponentendiagramm) im Anhang der Dokumentation sowohl im Kapitel „Architektur“, als auch im Kapitel „Pflichtenheft“ referenziert werden. Einmal wird eben auf das Diagramm verwiesen und einmal auf das Pflichtenheft als erstelltes Artefakt. Ich persönlich würde aber eher die für die Artefakte spezifischen Inhalte zeigen, also die formulierten Anforderungen. Denn das ist der eigentlich interessante Inhalt der beiden Dokumente im Rahmen der Projektdokumentation. Gerda und Markus haben das auch so gemacht. Fazit Lasten- und Pflichtenheft sind zwei wichtige Artefakte, die sowohl im richtigen Leben, als auch in der IHK-Abschlussprüfung relevant sind. Schau dir die Definitionen und einige Beispiele in Ruhe an und lerne sie auch für die Prüfung. Literaturempfehlungen * Links Permalink zu dieser Podcast-Episode RSS-Feed des Podcasts Was? Pflichtenheft und Lastenheft sind nicht dasselbe? DIN 69901 – Wikipedia Lastenheft – Wikipedia Pflichtenheft – Wikipedia Der Beitrag Lastenheft und Pflichtenheft – IT-Berufe-Podcast #189 erschien zuerst auf IT-Berufe-Podcast .…
I
IT-Berufe-Podcast

1 Teamarbeit bei der Softwareentwicklung mit Christian Kranert – IT-Berufe-Podcast #188 1:02:39
1:02:39
Später Spielen
Später Spielen
Listen
Gefällt mir
Geliked1:02:39
Um Teamarbeit bei der Softwareentwicklung geht es im Interview mit Christian Kranert in der einhundertachtundachzigsten Episode des IT-Berufe-Podcasts. Inhalt Vorstellung Christian Kranert Christian hat sich schon in Episode 164 des Podcasts über Softwarequalität ausführlich vorgestellt, aber hier noch einmal die wichtigsten Eckdaten. Christian Kranert seit 17 Jahren in der IT und Softwareentwicklung tätig angefangen mit Visual Basic 6 auf Windows 95 Ausbildung zum Fachinformatiker für Anwendungsentwicklung absolviert viel im SAP-Umfeld mit ABAP entwickelt inzwischen hauptsächlich mit C# unterwegs lebt und arbeitet in Nürnberg bei Head On Solutions GmbH entwickelt dort Cloud-Software für lokale Geschäfte wie Friseur-Studios zum Planen von Terminen, Kassieren, Buchhaltung usw. ist Abteilungsleiter mit eigenem Team Teamarbeit in der Softwareentwicklung Warum brauchen wir Teamarbeit bei der Softwareentwicklung? bei der Komplexität heutiger Software ist es fast undenkbar, diese alleine zu entwickeln heutige Webanwendungen enthalten z.B. sehr viel UI-Entwicklung und sind im Backend und Frontend sehr komplex, Stichwort: Full Stack Christians Unternehmen hat ein eigenes Team ausgelagert nur für VueJS im Frontend durch das Team entsteht auch bessere Software wir wollen doch die „echte Welt“ übersetzen in Code und dort gibt es auch mehr als einen Benutzer gemeinsam zu entwickeln macht mehr Spaß, ist sozial, man kann voneinander lernen, man kann sich weiterentwickeln die interdisziplinäre Zusammenarbeit mit dem Fachbereich bzw. Kunden ist auch extrem wichtig Wie sieht erfolgreiche interdisziplinäre Zusammenarbeiten zwischen dem IT-/Entwicklungs-Team und anderen Abteilungen aus? der Fachbereich erklärt den Entwickler:innen die Fachlichkeit Entwickler:innen dürfen/müssen das aber auch hinterfragen und ggfs. bessere Lösungen vorschlagen man sollte erst über das Problem reden und nicht schon über Lösung es muss die generelle Bereitschaft zur Teamarbeit vorhanden sein und eine entsprechende Kultur Welche Prozessmodelle (z.B. Wasserfall, Scrum) unterstützen/behindern die Teamarbeit? das klassische Wasserfallmodell ist eher hierarchisch aufgebaut mit Lasten-/Pflichtenheft und passt nicht so gut zur Teamarbeit Scrum ist aber auch kein Allheilmittel das Daily ist sehr wichtig, denn Kommunikation ist der Schlüssel zu erfolgreicher Teamarbeit Wie sieht richtig gute Teamarbeit in der Softwareentwicklung aus? Kommunikation ist das A und O, z.B. wenn ein Feature fertig ist, damit die Kolleg:innen darauf aufsetzen können alle Teammitglieder:innen sollten auch aktiv Hilfe anbieten und einfordern die gesamte Softwareentwicklung ist Teamarbeit und die geht schon mit der Produktidee los dabei kann es helfen, verschiedene Perspektiven einzunehmen, um ein besseres Bild der Anforderungen zu bekommen auch weitere Aufgaben lassen sich besser im Team lösen: Risiken abschätzen, Prioritäten ableiten, Product Backlog füllen wenn das Verhältnis von Kosten und Nutzen passt, startet die Implementierung und Aufgaben werden im Team verteilt in Christians Team werden Konzepte z.B. gemeinsam erarbeitet, ganz einfach in OneNote * das Team startet mit einem Datenmodell als Diskussionsgrundlage und legt dann die Datentypen fest außerdem werden Mockups erstellt, um darüber gemeinsam zu diskutieren sehr wichtig ist auch das gemeinsame Festlegen von Namen im Team, denn viele Köpfe haben mehr (fachliches) Wissen als einer alleine der große Vorteil bei dieser Vorgehensweise ist, dass früh erkannte Fehler bei Anpassungen wenig kosten im Vergleich zu späteren Projektphasen, wenn alles schon umgesetzt ist Warum ist die Teamkultur nicht nur beim Code Review wichtig und wie sieht sie aus? Christians Team entwickelt oft im Pair Programming zusammen und führt danach noch Code Reviews durch hier war oft insb. beim Testen die Einstellung, dass das doch jemand anders macht und nicht die Aufgabe der Softwareentwickler:innen sei aber gerade beim Testen ist die Abstimmung mit den Tester:innen wichtig, damit man nicht den kompletten Code umschreiben muss, wenn man am Test vorbei entwickelt hat Wie stellt man sicher, dass alle Teammitglieder:innen sich aktiv einbringen und wie kann eine Führungskraft Teamarbeit fördern/behindern? die Führungskraft ist sehr wichtig, denn ihre zentrale Aufgabe ist die Pflege der Teamkultur die häufig anzutreffene Skepsis bei Entwickler:innen gegenüber Meetings muss von der Führungskraft abgebaut werden Meetings müssen aber natürlich auch einen Mehrwert für alle Teilnehmer:innen bieten und müssen vernünftig geplant und vorbereitet werden auch für Entwickler:innen sind Meetings wichtig, da sie helfen, offene Fragen zu klären und Entscheidungen herbeizuführen Teamarbeit kann die Teammitglieder:innen motivieren, wenn man gemeinsam eine gute Lösung findet und z.B. eine „harte Nuss“ knackt Braucht ein Team eine Leitung? das kommt stark auf das Team an Storming, Forming, Norming, Performing: gibt es das wirklich in der Praxis? Christian hat das mal in einem Buch gelesen, aber nur dunkel in Erinnerung in der Praxis durchlaufen die Teams diese Phasen wohl tatsächlich, aber intuitiv verhalten sich die Mitglieder:innen meist den Phasen entsprechend Wie sieht häufig die (negative) Realität in Sachen Teamarbeit aus bzw. an welchen Fehlern scheitert Teamarbeit häufig? Juniors werden vernachlässigt und bekommen keine oder zu wenig Unterstützung Hierarchiedenken, gerade wenn Softwareentwicklung nicht das Kerngeschäft des Unternehmens ist Introvertiertheit der Teammitglieder:innen aber auch Extrovertiertheit bzw. Egozentrik bei Teammitglieder:innen Mangel an Diversität im Team Wie wird man als Entwickler:in „teamfähig“? Persönlichkeitsentwicklung ! dazu gibt es viele gute Bücher eine fördernde und fordernde Führungskraft ist wichtig für das Empowerment der Teammitglieder:innen die Führungskraft sollte z.B. One-on-Ones mit Mitarbeitenden führen, immer wieder nachfragen und auch die eigene Entwicklung aufzeigen loben und wertschätzen sollten bei jeder Führungskraft dazu gehören Empathie ist auch wichtig Konflikte sollten schnell gelöst werden Wie wichtig ist eine gute Fehlerkultur? sehr wichtig Fehler müssen erlaubt sein und dürfen nicht „geahndet“ werden aber was ist eigentlich ein Fehler? Schludrigkeit ist sicherlich kein Fehler Checklisten können helfen, eine gewisse Basisqualität sicherzustellen Wie können schon Azubis in die Teamarbeit integriert werden? einfach mal loslegen und sie an die Hand nehmen Azubis direkt in echte Projekte einbinden, aber ohne harten Deadlines oder großes Fehlerpotential viel loben Checklisten helfen auch hier beim Einstieg Was sind die Folgen, wenn nicht im Team gearbeitet wird? Christian hat noch nie jemanden kennengelernt, der/die sich aktiv gewehrt hat gegen Teamarbeit eher haben die Kolleg:innen evtl. Angst mitzumachen den berühmten „10x-Develover“ gibt es nicht, aber Seniors können als Multiplikatoren im Team wirken und Juniors voranbringen und damit das gesamte Team Wie/wo kann man dich erreichen? LinkedIn Links Permalink zu dieser Podcast-Episode RSS-Feed des Podcasts Qualitätssicherung bei der Softwareentwicklung mit Christian Kranert Christian Kranert bei LinkedIn Head-on Solutions GmbH bei LinkedIn Der Beitrag Teamarbeit bei der Softwareentwicklung mit Christian Kranert – IT-Berufe-Podcast #188 erschien zuerst auf IT-Berufe-Podcast .…
I
IT-Berufe-Podcast

1 Datenbanktransaktionen, ACID, CAP-Theorem und BASE – IT-Berufe-Podcast #187 1:17:37
1:17:37
Später Spielen
Später Spielen
Listen
Gefällt mir
Geliked1:17:37
Um Datenbanktransaktionen, die ACID-Prinzipien und Alternativen dazu geht es in der einhundertsiebenundachzigsten Episode des IT-Berufe-Podcasts. Inhalt Datenbanktransaktionen sollten jedem/jeder ITler:in etwas sagen, da wir fast täglich mit datenbankgestützten Anwendungen arbeiten, egal, ob wir selbst diese Anwendungen programmieren oder „nur“ Abfragen gegen eine Datenbank durchführen. Was ist eine Datenbanktransaktion? Eine Transaktion ist eine Menge aus mehreren zusammenhängenden Datenbankoperationen, die gemeinsam als eine Einheit durchgeführt werden müssen. Beispiele für Datenbanktransaktionen: Banküberweisung von 100 EUR von Konto DE123 auf Konto DE432 UPDATE konto SET kontostand = kontostand - 100 WHERE iban = 'DE123'; UPDATE konto SET kontostand = kontostand + 100 WHERE iban = 'DE432'; Neuen Tag katze zu einem Blog-Post mit ID 123 hinzufügen INSERT INTO tag (id, name) VALUES (1, 'katze'); INSERT INTO tag_post (post_id, tag_id) VALUES (123, 1); Neue Bestellung für einen Kunden mit ID 324 erfassen für Artikel 253 INSERT INTO bestellung (id, datum, kunde_id) VALUES (123, '2024-04-10', 324); INSERT INTO bestellposition (bestellung_id, artikel_id, menge, preis) VALUES (123, 253, 1, 123.92); Neuen Tarifsatz einer Versicherung anlegen und bisherigen beenden UPDATE tarif SET gueltig_bis='2024-04-10' WHERE id=122; INSERT INTO tarif (id, gueltig_ab, beitrag) VALUES (123, '2024-04-10', 143.23); Begriffsabgrenzung Eine Datenbanktransaktion ist nicht zu verwechseln mit einer Transaktion im Geschäftsbetrieb, z.B. einer Überweisung bei einer Bank, dem Kauf eines Autos oder der Buchung eines Fluges. Die ACID-Prinzipien Datenbanktransaktion müssen/sollen bestimmten Kriterien genügen, die als ACID-Prinzipien bekannt sind. Atomarität/ A tomicity: Alle Datenbankoperationen werden entweder vollständig gemeinsam durchgeführt oder gar nicht. Es kann nicht sein, dass nur einige Operationen durchgeführt werden und andere nicht. Dazu werden die Datenbankoperationen in eine Transaktion „eingeklammert“. Beispiel: Bei der Banküberweisung darf nicht nur Geld abgebucht oder gutgeschrieben werden, sondern beide Buchungen müssen gemeinsam durchgeführt werden. Konsistenz/ C onsistency: Wenn die Datenbank vor der Transaktion in einem konsistenten Zustand war, dann muss sie es auch nach der Transaktion sein. Beispiel: Bei der Banküberweisung bleibt der Gesamtbetrag an Geld gleich. Es entsteht kein Geld aus dem Nichts und es geht auch kein Geld verloren. Isolation/ I solation: Mehrere Transaktionen dürfen sich nicht gegenseitig beeinflussen. Hierzu folgen weiter unten verschiedene Maßnahmen zur Umsetzung. Beispiel: Bei zwei parallelen Banküberweisungen vom gleichen Konto müssen beide Beträge nacheinander abgebucht werden und nicht nur der der zuletzt durchgeführten Transaktion. Dauerhaftigkeit/ D urability: Die Daten müssen nach Abschluss der Transaktion persistent gespeichert sein und z.B. auch einen Systemausfall überstehen. Das wird durch sogenannte Transaktionslogs sichergestellt. Beispiel: Wenn nach dem Abschluss einer Transaktion der Datenbankprozess abstürzt, müssen auch nach dem Neustart der Datenbank die aktualisierten Daten vorhanden sein. Maßnahmen zur Wahrung der Isolation von Transaktionen Wenn Transaktionen nicht isoliert voneinander ablaufen, können verschiedene Probleme in der Datenbank auftreten. Dirty Read : Veränderte Daten einer noch offenen Transaktion werden von einer anderen Transaktion gelesen und weisen somit einen „dreckigen“ Zustand auf, weil er noch nicht final ist. Beispiel: Bei einem Ticketkauf geht die zweite Buchung schon vom veränderten Bestand der ersten Transaktion aus. Lost Updates : Wenn zwei Transaktionen gleichzeitig denselben Datensatz verändern, „gewinnt“ die Änderung der zuletzt durchgeführten Transaktion und die der ersten ist verloren. Beispiel: Bei zwei Banküberweisungen wird der Kontostand auf den Ursprungsstand abzgl. der zweiten Überweisung gesetzt, aber ohne die erste Überweisung abzuziehen. Non-Repeatable Read : Wiederholte Lesevorgänge innerhalb einer Transaktion liefern unterschiedliche Ergebnisse. Beispiel: Bei einer Flugbuchung wird geprüft, ob noch ausreichend Plätze frei sind, aber durch eine parallele Buchung wird bei der zweiten Abfrage ein unterschiedliches Ergebnis geliefert. Phantom Read : Während eine Transaktion Datensätze nach einem bestimmten Kriterium liest, werden weitere Datensätze zum gleichen Kriterium hinzugefügt/gelöscht/verändert. Beispiel: Während der Durchschnittsberechnung von Gehältern von Mitarbeiter:innen wird ein neuer Mitarbeiter hinzugefügt, der beim Summieren des Gehalts noch nicht berücksichtigt wird, aber beim Zählen der Datensätze dann schon. Die Datenbank kann verschiedene Transaktionsisolationsebenen implementieren, um den obigen Problemen entgegenzuwirken. Grundsätzlich werden dabei Sperren verwendet, um die gleichzeitige Verarbeitung der Daten einzuschränken. Es kann dabei eine Lesesperre und/oder eine Schreibsperre gesetzt werden, wodurch das gleichzeitige Lesen bzw. Schreiben eingeschränkt wird. Read Uncommitted : Es werden keine Sperren verwenden. Quasi kein Schutz vor obigen Problemen. Vergleichbar mit NO ACTION bei referenzieller Integrität. Read Committed : Für die gesamte Transaktion werden Schreibsperren auf alle beteiligten Objekte gesetzt, die verändert werden sollen. Lesesperren werden aber nur kurzzeitig gesetzt. Es können Non-Repeatable Read und Phantom Read auftreten. Repeatable Read : Es werden für die gesamte Transaktion Lese- und Schreibsperren auf alle beteiligten Objekte gesetzt. Nur Phantom Reads können noch auftreten (weil dabei zwei lesende Operationen mit unterschiedlichen Kriterien durchgeführt werden). Serializable : Die Datenbank verhält sich so, als würden die Transaktionen komplett separiert nacheinander („seriell“) durchgeführt. Dabei kann keines der obigen Probleme mehr auftreten, aber Transaktionen müssen ggfs. abgebrochen werden. Starten z.B. zwei Flugbuchungen für zwei Sitzplätze parallel auf dem Sitzplatzbestand von 2 , wird die erste Transaktion den Bestand auf 0 reduzieren und die zweite Transaktion (die „gewartet“ hat) muss abbrechen, weil die Sitzplätze nun nicht mehr ausreichen. Umsetzung in SQL Mit der Transaction Control Language (TCL) gibt es eine eigene Familie an SQL-Befehlen, die sich nur um die Transaktionssteuerung kümmert. Hiermit können Datenbankoperationen zu einer Transaktion zusammengefasst werden. BEGIN TRANSACTION : Startet eine Datenbanktransaktion. COMMIT : Beendet eine Datenbanktransaktion und schreibt die Änderungen fest. ROLLBACK : Rollt eine Datenbanktransaktion zurück und verwirft alle Änderungen. In vielen Datenbanken muss man nicht explizit Transaktionen starten und beenden. Sie verwenden ein sogenanntes Auto-Commit . Dabei wird jedes Statement in einer eigenen Transaktion durchgeführt. Umsetzung in ORMs Brauche ich als Softwareentwickler:in überhaupt Wissen über Datenbanktransaktionen? In modernen Entwicklungsprojekten werden doch sowieso objektrelationale Mapper (ORM) verwendet. Doch auch diese ORMs können natürlich nicht zaubern, sondern verwenden unter der Haube die normalen Datenbankoperationen. Daher ist auch bei Verwendung eines ORMs wichtig zu wissen, welche Operationen in einer gemeinsamen Transaktion durchgeführt werden müssen. Dafür bieten viele ORMs entsprechende Befehle an. Jakarta EE hat sogar einen eigenen Standard dafür: Jakarta Transactions (JTA). Dort wird z.B. Annotation @Transactional verwendet. Diese wird an eine Java-Methode geschrieben, die dann automatisch innerhalb einer Datenbanktransaktion ausgeführt wird. Im Fall einer aufgetretenen Exception wird dabei dann automatisch ein Rollback durchgeführt. CAP und BASE Transaktionen nach den ACID-Prinzipien sind ein wichtiger Bestandteil vieler Datenbanksysteme. Sobald die Datenbank jedoch auf mehrere Knoten verteilt wird, können Transaktionen zu einem Problem werden. Das sogenannte CAP-Theorem besagt, dass es in einem verteilten System nicht möglich ist, alle drei Eigenschaften Konsistenz, Verfügbarkeit und Ausfalltoleranz gleichzeitig zu garantieren. Konsistenz ( C onsistency): Die Konsistenz meint in diesem Kontext den einheitlichen Datenstand über alle Datenbankknoten hinweg (und nicht die Konsistenz vor/nach einer Transaktion). Egal, welcher Knoten abgefragt wird, es werden immer die gleichen Daten zurückgegeben. Verfügbarkeit ( A vailability): Die Datenbank antwortet in akzeptabler Zeit auf alle Anfragen. Dabei kann es jedoch sein, dass nicht immer die aktuellsten Daten geliefert werden. Partitionstoleranz ( P artition tolerance): Die Datenbank arbeitet auch weiter, wenn einzelne Knoten ausfallen. Angenommen, die verteilte Datenbank soll zu jedem Zeitpunkt in einem konsistenten Zustand sein (also alle Informationen auf allen Knoten sollen identisch sein), dann führt ein Ausfall eines Knoten automatisch dazu, dass eine Transaktion fehlschlagen muss, da der ausgefallene Knoten nicht sofort aktualisiert werden kann. Die Konsistenz wäre dann zwar gewährleistet, aber die Partitionstoleranz nicht. Da heutzutage viele Anwendungen tatsächlich mit verteilten Datenbanken arbeiten, wurde mit BASE ein Gegenentwurf zu ACID geschaffen. Das Wort ist etwas konstruiert, um das Gegenstück zu ACID zu bilden. Aus der Chemie kennen wir den Unterschied zwischen Säure („acid“) und Lauge („base“). Im Kern stellt ACID die Konsistenz eines Systems sicher, während BASE die Verfügbarkeit in den Vordergrund stellt. B asically A vailable: Die Datenbank ist grundsätzlich für alle Benutzer jederzeit erreichbar (hohe Verfügbarkeit). S oft state: Daten können sich im Laufe der Zeit verändern und temporäre („weiche“) Zustände annehmen, wenn mehrere Änderungen parallel durchgeführt werden. E ventual consistency: Irgendwann einmal werden die Daten in der Datenbank einen konsistenten Zustand erreichen. Bis dahin können Anfragen unterschiedliche Ergebnisse produzieren. Vorsicht „false friend“: „eventually“ heißt auf Deutsch „schlussendlich“ und nicht „eventuell“. Es wird also immer Konsistenz erreicht, nur eben nicht unmittelbar sofort. Literaturempfehlungen * In Kapitel 13 gibt es eine gute und kurze Einführung in das Thema Datenbanken inkl. Transaktionen. Ich habe das Kapitel auch schon im Buchclub besprochen: Buchclub: Handbuch für Fachinformatiker (Teil 11: Datenbanken) Links Permalink zu dieser Podcast-Episode RSS-Feed des Podcasts ACID – Wikipedia Isolation (Datenbank) – Wikipedia START TRANSACTION, COMMIT, and ROLLBACK Statements autocommit, Commit, and Rollback Jakarta Transactions 2.0 Annotation @Transactional in Jakarta EE CAP-Theorem – Wikipedia Unterschied zwischen ACID- und BASE-Datenbanken Der Beitrag Datenbanktransaktionen, ACID, CAP-Theorem und BASE – IT-Berufe-Podcast #187 erschien zuerst auf IT-Berufe-Podcast .…
I
IT-Berufe-Podcast

1 Angemessene fachliche/technische Tiefe des Abschlussprojekts für Anwendungsentwickler:innen – IT-Berufe-Podcast #186 37:00
Um die angemessene fachliche bzw. technische Tiefe des Themas für das IHK-Abschlussprojekt für Anwendungsentwickler:innen geht es in der einhundertsechsundachzigsten Episode des IT-Berufe-Podcasts. Inhalt Viele Projektanträge zum Abschlussprojekt werden abgelehnt, weil das umzusetzende Projekt nicht die nötige fachliche bzw. technische Tiefe aufweist. In unserem Prüfungssystem gibt es dafür sogar einen expliziten Ablehnungsgrund. Doch was heißt es genau, dass die fachliche Tiefe nicht erreicht wurde? Welche fachliche Tiefe ist überhaupt angemessen und wie erkenne ich als Prüfling, ob ich sie erreiche? Mein Standardbeispiel: Projektverwaltung Ich führe als Beispiel für eine übliche Projektarbeit für Anwendungsentwickler:innen immer eine klassische Web-Anwendung an. Nehmen wir das oft strapazierte Beispiel einer Zeiterfassungssoftware oder einer Projektverwaltung. Dabei handelt es sich um eine kleine Web-Anwendung mit ein paar Datenbanktabellen, etwas fachlicher Logik und ein paar netten Oberflächen. In solch einer Anwendung kann ich als Anwendungsentwickler:in alles zeigen, was ich in meiner dreijährigen Ausbildung gelernt haben sollte. Soll ich ein Projekt enpfehlen, führe ich deswegen gerne dieses Beispiel für ein fachlich ausreichendes Projekt für die Abschlussprüfung an. Ich kann eine Datenbank modellieren, z.B. mit einem ERM oder Tabellenmodell. Ich kann ein Klassendesign entwerfen, z.B. mit einem Klassendiagramm oder gar mit Test Driven Development. Ich kann die Oberflächen gestalten, natürlich nach ergonomischen Gesichtspunkten und mit Mockups für den ersten Entwurf. Außerdem muss ich mich um das Zusammenspiel der Komponenten kümmern und brauche dafür eine tragfähige Architektur, z.B. MVC. Kurz gesagt ist in solch einem Projekt alles Technische enthalten, was man heutzutage in der Programmierung können muss. Und ich kann mich vieler Methoden der Softwareentwicklung bedienen, die mein planvolles Vorgehen dokumentieren. Hast du auch ein paar konkrete Zahlen? Als ganz grobe Daumenregel für Anwendungsentwickler:innen führe ich immer ein „klassisches“ Webprojekt an: kleine Datenbank, ein bisschen Logik, Frontend drüber. Da kann man das volle Spektrum der Entwicklungstätigkeiten zeigen. ca. fünf Datenbanktabellen („eine Hand voll“) ca. fünf Oberflächen dazu ca. zehn Klassen (tendenziell eher mehr) Sollte die Anwendung eine komplizierte Logik umsetzen, kann natürlich bei den anderen Komponenten entsprechend gekürzt werden. Diese grobe Richtlinie ist sicherlich nicht allgemeinverbindlich. Es kommt immer auf den Einzelfall an. Ich möchte nur deutlich machen, dass eine triviale Konsolenapplikation, die eine Textdatei einliest und wieder speichert, nicht ausreicht. Es sei denn, die Applikation verwendet dafür einen selbst programmierten Verschlüsselungsalgorithmus. Die Diagramme aus dem Titelbild dieser Episode sollten offensichtlich zeigen, dass dieser Umfang für ein Abschlussprojekt nicht ausreicht! Aber ich habe schon Artefakte in echten Dokus gesehen, die nicht viel umfangreicher waren (z.B. nur zwei Use-Cases oder drei Aktivitäten). Brauche ich alle Komponenten – Datenbank, Logik, UI? Das heißt nicht, dass jedes Abschlussprojekt alle genannten Komponenten umfassen muss. Nicht alle Unternehmen haben die Anforderung, Weboberflächen über Datenbanken zu gestalten. In vielen Betrieben wird eine bestehende Software erweitert, eine Oberfläche angepasst, oder eine Datenbank um zusätzliche Tabellen erweitert. Oft werden auch Programme benötigt, die gar keine grafische Oberfläche haben. Wenn es z.B. um den Datenabgleich zwischen ERP-System und Webshop geht, der nachts als Batchjob laufen soll, ist es völlig unnötig, eine schön gestaltete grafische Oberfläche dazu zu entwickeln. Auch werden inzwischen oft REST-APIs als Abschlussprojekt erstellt, die natürlich auch nicht von Menschen bedient werden. Daher ist es völlig legitim, auf die ein oder andere Komponente im Abschlussprojekt zu verzichten. Auch heißt es umgekehrt nicht automatisch, dass man ein fachlich ausreichendes Projekt hat, nur weil alle Schichten Berücksichtigung finden. Eine Weboberfläche mit einem Formular, die simple CRUD-Operationen gegen eine Datenbanktabelle durchführt, ist selbstverständlich nicht umfangreich genug. Mein Anti-Beispiel: SAP-Projekte Dieses Problem haben meiner Erfahrung nach oftmals die Anwendungsentwickler:innen im SAP-Umfeld. Hier wird häufig nur sehr wenig tatsächlicher Code produziert, sondern viel mehr Zeit für die hochkomplexe Infrastruktur verbraten. Da gehen allein schon 7 Stunden drauf, bis man den richtigen Einstiegspunkt in die „Transaktion“ (oder wie auch immer das dort heißt) gefunden hat. Und die meisten Inhalte lassen sich dann mit SAP-Mitteln generieren, sodass der Entwickler eigentlich fast gar nichts mehr tun muss. In eine ähnliche Richtung gehen heutzutage immer mehr die Low-Code- oder No-Code-Plattformen . Da wird kaum selbst programmiert, sondern einfach was zusammengeklickt. Und da muss ich mich dann schon fragen lassen, wie ich „Anwendungsentwickler:in“ werden will, wenn ich gar keine Anwendung entwickle . Aber es gibt auch Negativbeispiele aus anderen Bereichen. Mein persönliches Highlight aus einer Abschlussprüfung war eine einzelne HTML-Seite, die mit 20 Zeilen JavaScript angereichert wurde. Das Problem war, dass der Prüfling selbst überhaupt nicht verstand, warum dieses Projekt nicht ausreichend war. Sein:e Ausbilder:in hatte ihn offensichtlich überhaupt nicht darauf vorbereitet. Und er war sehr enthusiastisch und freute sich richtig über sein Projekt. Das tat mir dann wirklich leid, da die Schuld für dieses unzureichende Projekt sicherlich nicht beim sehr motivierten Prüfling zu suchen war. Methodik ist das A und O Kurz gesagt sollte ein Abschlussprojekt zeigen, dass du methodisch Software entwickeln kannst, die eine gewisse Komplexität aufweist. Dazu habe ich in dieser Podcast-Episode noch viel mehr zu erzählen: Sinnvoller Aufbau/Ablauf eines IHK-Projekts in der Anwendungsentwicklung . Es geht darum, dass du deine Fähigkeiten angemessen unter Beweis stellst. Du sollst methodisch Software entwickeln und die Projektarbeit wirtschaftlich umsetzen. Dazu gehört u.a. eine Betrachtung der Kosten und der Amortisation, der Einsatz von Modellierungs- oder Dokumentationsmethoden (z.B. ERM, UML, EPK, Mockups), das Erstellen sinnvoller Dokumentationen (z.B. für Kunden, Betrieb, Entwickler), das planvolle Vorgehen bei der Projektumsetzung (z.B. Projektplan, Iterationsplanung, Gantt-Chart), eine gute Qualitätssicherung (z.B. Unit-Tests, Abnahmeprotokoll) usw. Individuelle Einschätzung Wenn du dir nicht sicher bist, ob dein geplantes Programm als Abschlussprojekt ausreicht, dann frag deine:n Ausbilder:in oder deine:n Berufsschullehrer:in. Die sollten die nötige Erfahrung mitbringen und die Anforderungen der IHKen einschätzen können. Alternativ stell dein Projekt doch im Forum vor oder schreib mir eine Mail . Ich helfe dir gerne mit einer kurzen Einschätzung weiter – aber erst nachdem du diese Podcast-Episode gehört hast. Links Permalink zu dieser Podcast-Episode RSS-Feed des Podcasts Sinnvoller Aufbau/Ablauf eines IHK-Projekts in der Anwendungsentwicklung Der Beitrag Angemessene fachliche/technische Tiefe des Abschlussprojekts für Anwendungsentwickler:innen – IT-Berufe-Podcast #186 erschien zuerst auf IT-Berufe-Podcast .…
I
IT-Berufe-Podcast

1 Sinnvoller Aufbau/Ablauf eines IHK-Projekts in der Anwendungsentwicklung – IT-Berufe-Podcast #185 1:45:34
1:45:34
Später Spielen
Später Spielen
Listen
Gefällt mir
Geliked1:45:34
Um den sinnvollen Aufbau eines IHK-Abschlussprojekts für Fachinformatiker:innen Anwendungsentwicklung geht es in der einhundertfünfundachzigsten Episode des IT-Berufe-Podcasts. Sinnvoller Aufbau/Ablauf eines IHK-Projekts in der Anwendungsentwicklung Oft lese ich Projektdokumentationen für den Beruf Fachinformatiker:in Anwendungsentwicklung, die in sich einfach nicht stimmig sind. Der Projektablauf folgt keinem roten Faden und Artefakte werden wild durcheinandergewürfelt. Oft werden auch einfach... Der Beitrag Sinnvoller Aufbau/Ablauf eines IHK-Projekts in der Anwendungsentwicklung – IT-Berufe-Podcast #185 erschien zuerst auf IT-Berufe-Podcast .…
I
IT-Berufe-Podcast

1 Verträge, AGBs, SLAs – IT-Berufe-Podcast #184 1:18:59
1:18:59
Später Spielen
Später Spielen
Listen
Gefällt mir
Geliked1:18:59
Um alles rund um Verträge als Vorbereitung auf die AP1 geht es in der einhundertvierundachzigsten Episode des IT-Berufe-Podcasts. Inhalt Für die AP1 ist es sinnvoll, einige grundsätzliche Vertragsarten zu kennen und unterscheiden zu können. Sowohl auf Anbieter- als auch auf Nachfragerseite ist es wichtig zu verstehen, welche Art von Vertrag vorliegt, da daraus unterschiedliche Rechte... Der Beitrag Verträge, AGBs, SLAs – IT-Berufe-Podcast #184 erschien zuerst auf IT-Berufe-Podcast .…
Um Softwarequalität nach ISO 9126 geht es in der einhundertdreiundachzigsten Episode des IT-Berufe-Podcasts. Inhalt Definition von Qualität Qualität ist der Grad der Übereinstimmung mit den Anforderungen. Da verschiedene Stakeholder unterschiedliche Anforderungen an unser Projekt haben, ist die Qualität recht subjektiv. Alle Stakeholder zu 100% zufrieden zu stellen, wird in einem echten Projekt wohl nicht möglich... Der Beitrag Softwarequalität nach ISO 9126 – IT-Berufe-Podcast #183 erschien zuerst auf IT-Berufe-Podcast .…
I
IT-Berufe-Podcast

1 Eigenschaften und Unterscheidung von Programmiersprachen – IT-Berufe-Podcast #182 1:42:53
1:42:53
Später Spielen
Später Spielen
Listen
Gefällt mir
Geliked1:42:53
Um Eigenschaften und Unterscheidungsmerkmale von Programmiersprachen geht es in der einhundertzweiundachzigsten Episode des IT-Berufe-Podcasts. Inhalt Was ist eine Programmiersprache? Programmiersprache: „Eine Programmiersprache ist eine formale Sprache zur Formulierung von Datenstrukturen und Algorithmen, d.h. von Rechenvorschriften, die von einem Computer ausgeführt werden können.“ [Herv. d. Verf.] Bausteine von Algorithmen: Sequenz, Verzweigung (z.B. if, switch, aber auch... Der Beitrag Eigenschaften und Unterscheidung von Programmiersprachen – IT-Berufe-Podcast #182 erschien zuerst auf IT-Berufe-Podcast .…
In dieser Sonder-Episode des IT-Berufe-Podcasts geht es um eine Stellenausschreibung als Softwareentwickler:in (m/w/d) bei meinem Arbeitgeber, der ALTE OLDENBURGER Krankenversicherung AG in Vechta. Inhalt Bei meinem Arbeitgeber, der ALTE OLDENBURGER Krankenversicherung AG aus Vechta, suchen wir zum nächstmöglichen Zeitpunkt Unterstützung im IT-Bereich. Wir schreiben aktuell eine Stelle als Softwareentwickler:in aus. Selbstverständlich sind Bewerbungen von Personen... Der Beitrag Stellenangebot: Softwareentwickler (m/w/d) in Vechta – IT-Berufe-Podcast erschien zuerst auf IT-Berufe-Podcast .…
Willkommen auf Player FM!
Player FM scannt gerade das Web nach Podcasts mit hoher Qualität, die du genießen kannst. Es ist die beste Podcast-App und funktioniert auf Android, iPhone und im Web. Melde dich an, um Abos geräteübergreifend zu synchronisieren.