📚 AP2 Prüfungsvorbereitung
🎯 Prüfungsrelevante Handlungsfelder
🅰️/4️⃣ Entwickeln, Erstellen und Betreuen von IT-Lösungen
📐 Unified Modeling Language (UML)
- Einführung in UML
- Grundlegende Konzepte von UML
- Klassendiagramme
- Aktivitätsdiagramme
- Anwendungsfalldiagramme
- Sequenzdiagramme
- Zustandsdiagramme
🗄️ Einführung in relationale Datenbanken
- Einführung in relationale Datenbanken
- Grundlagen der Datenmodellierung
- Grundlagen eines Datenbankmanagementsystems (DBMS)
- Installation und Konfiguration von Datenbankmanagementsystemen (DBMS)
- Grundlagen von SQL
- SQL-Abfragen: Selektieren, filtern und gruppieren
- Komplexe SQL Statements (JOIN)
📊 Normalisierung von Datenbanken
- Einführung in die Normalisierung
- Erste Normalform (1NF)
- Zweite Normalform (2NF)
- Dritte Normalform (3NF)
- Boyce Codd Normalform (BCNF)
- Anwendung in der Praxis
💾 SQL für Anwendungsentwickler
- Data Definition Language (DDL) und Data Manipulation Language (DML)
- JOINs: Anwendung
- Trigger, Indizes, Stored Procedures
🤖 Grundlagen der Künstlichen Intelligenz
- Einführung in Künstliche Intelligenz
- Anwendungsbereiche von KI
- KI-Unterstützung in der Praxis
- Sprachmodelle
🅰️/6️⃣ Umsetzen, Integrieren und Prüfen von Maßnahmen zur IT-Sicherheit und zum Datenschutz
🛡️ Informationssicherheit
- Einführung in die Informationssicherheit
- Sicherheitsmanagement
- Organisatorische Maßnahmen
- Technische Maßnahmen
- Netzwerksicherheit
- Härtung von Betriebssystemen
- Incident Management
- E-Mail-Sicherheit
- Ausfallwahrscheinlichkeiten
- Elementarrisiken
🅰️/🔟 Programmieren von Softwarelösungen
💻 Programmiersprachen
- Einführung und Grundlagen
- Klassifikation von Programmiersprachen
- Syntaktische Elemente
- Funktionen und Modularisierung
- Objektorientierte Programmierung
- Fortgeschrittene Konzepte
- Praxisbeispiele und Ökosysteme
🏗️ Objektorientierung
- Einführung in die Objektorientierung
- Klassen und Objekte
- Kapselung (Encapsulation)
- Vererbung (Inheritance)
- Polymorphie (Polymorphism)
⚙️ Cyber-physische Systeme
🅱️/1️⃣ Konzipieren und Umsetzen von kundenspezifischen Softwareanwendungen
📄 Datenaustauschformate
- Einführung in Datenaustauschformate
- Textbasierte Datenaustauschformate
- XML
- JSON
- Binäre Datenaustauschformate
- Anwendungsspezifische Datenaustauschformate
- Sicherheit und Validierung
- Best Practices und Ausblick
🔄 Sortieralgorithmen
🧮 Algorithmen entwickeln
- Einführung in die Algorithmik
- Problemanalyse und -spezifikation
- Darstellung von Algorithmen
- Testen und Debugging von Algorithmen
- Praxisprojekt
- Best Practices und Tipps
🔁 Vorgehensmodelle in der Softwareentwicklung
- Einführung und Überblick
- Klassische Vorgehensmodelle
- Agile Vorgehensmodelle
- Hybride und spezielle Vorgehensmodelle
- Tailoring und Anpassung von Vorgehensmodellen
- Werkzeuge und Infrastruktur
- Fallstudien und Erfahrungsberichte
📋 Lasten- und Pflichtenheft
- Einführung und Grundlagen
- Aufbau und Inhalt des Lastenhefts
- Arten von Anforderungen im Lastenheft
- Vom Lastenheft zum Pflichtenheft
- Inhalte und Gliederung des Pflichtenhefts
- Qualitätssicherung und Validierung
- Praxisbeispiele und Anwendungen
🗂️ Datenstrukturen
🎨 Entwurf kundenspezifischer Softwareanwendungen
- Einführung und Überblick
- Anforderungsanalyse und -definition
- Ableitung von Datenmodellen und Strukturen
- Entwurf von Schnittstellen
- Auswahl geeigneter Programmiersprachen
- Spezifikationstechniken und -werkzeuge
- Qualitätssicherung und Validierung - Softwareanwendungen
🖥️ Benutzerschnittstellen, Accessibility & Usability
- Einführung in Benutzerschnittstellen
- Grundlagen des User Interface Designs
- UI-Gestaltungselemente und -Komponenten
- Usability und User Experience (UX)
- Accessibility und Inklusion
- Gestaltung für verschiedene Plattformen
- Best Practices und Trends
🌐 Webentwicklung
- Einführung in Webanwendungen
- Architektur von Webanwendungen
- Frontend-Entwicklung
- Backend-Entwicklung
- Webservices und APIs
- Sicherheit von Webanwendungen
- Performance und Skalierbarkeit
- DevOps und Continuous Delivery
🎭 Entwurfsmuster
- Einführung und Grundlagen
- SOLID-Prinzipien
- Model View Controller
- Singleton
- Fabrikmethode
- Beobachter-Muster (Observer)
🅱️/2️⃣ Sicherstellen der Qualität von Softwareanwendungen
🔀 Versionsverwaltung
- Einführung in die Versionsverwaltung
- Grundlegende Konzepte und Begriffe
- Arbeiten mit einem Versionsverwaltungssystem
- Branching und Merging
- Kollaboration und verteilte Workflows
- Fortgeschrittene Themen
- Tools und Ökosystem
- Best Practices und Troubleshooting
🚀 Build- und Release-Prozesse
- Einführung und Grundlagen
- Build-Prozesse
- Continuous Integration (CI)
- Release-Management
- Deployment und Bereitstellung
- Sicherheit und Compliance
- Monitoring und Fehlerbehebung
- Praxisbeispiele und Anwendungsfälle
🧪 Software-Tests
- Einführung in Software-Tests
- Teststufen und -arten
- Testverfahren und -techniken
- Testplanung und -management
- Testautomatisierung
- Testen spezieller Systeme
- Testmanagement und -prozesse
✅ Softwarequalität
- Einführung in die Softwarequalität
- Qualitätsmanagement im Software-Lebenszyklus
- Anforderungsmanagement und -analyse
- Entwurf und Architektur
- Implementierung und Coding
- Testing und Verifizierung
- Betrieb und Wartung
- Werkzeuge und Methoden
- Praxisbeispiele - Softwarequalität
📊 Tabellenkalkulation
- Einführung in die Tabellenkalkulation
- Datentypen und Formatierung
- Formeln und Funktionen
- Datenanalyse und -aufbereitung
- Makro-Programmierung und Automatisierung
- Integration und Schnittstellen
- Praxisbeispiele und Projekte
/2️⃣ Installieren und Konfigurieren von Netzwerken
🌍 HTTP
- Einführung und Überblick
- URL und Ressourcen
- Nachrichten und Methoden
- Zustandslosigkeit und Cookies
- Authentifizierung und Verschlüsselung
- Caching und Sicherheitsaspekte
🔌 TCP
- Einführung und Überblick
- Verbindungsaufbau und -abbau
- Segmentierung und Reassemblierung
- Zuverlässige Übertragung
- Fluss- und Überlastkontrolle
- Sicherheitsaspekte von TCP
📡 UDP
📝 Prüfungstipps
- Zeitmanagement: Die AP2 ist zeitlich begrenzt - übe unter Zeitdruck
- Praktische Anwendung: Verknüpfe theoretisches Wissen mit praktischen Beispielen
- Schwerpunkte: UML, Datenbanken, Softwareentwicklung und Qualitätssicherung sind besonders wichtig
- Code-Verständnis: Übe das Lesen und Analysieren von Code und Diagrammen
- Algorithmen: Verstehe die grundlegenden Sortier- und Suchalgorithmen
- Wiederholung: Gehe regelmäßig alle Themen durch, nicht nur kurz vor der Prüfung