Diese Weiterbildung vermittelt die notwendigen Kenntnisse und Fähigkeiten, um C++-Projekte mit dem Qt-Framework zu entwickeln und die Rolle eines C++ Architekten oder Solutions Architect zu übernehmen. Die Weiterbildung bietet einen Einblick in die Erstellung von Anwendungen mit Qt sowie die Gestaltung komplexer Softwarearchitekturen. Teilnehmer lernen, robuste und skalierbare Lösungen mit C++ und Qt zu entwerfen, dabei Best Practices der Softwarearchitektur anzuwenden und moderne Entwicklungswerkzeuge zu nutzen.
Weiterbildungsinhalte:
Einführung in die Qt-Programmierung
- Grundlagen des Qt-Frameworks: Aufbau und Anwendungsmöglichkeiten
- Einrichtung der Entwicklungsumgebung für C++ und Qt (Qt Creator, Visual Studio)
- Erstellung von GUI-Anwendungen mit Qt Widgets und Qt Quick
- Verwendung von Signals und Slots für die ereignisgesteuerte Programmierung
Objektorientierte Programmierung (OOP) mit C++ und Qt
- Erweiterte Konzepte der OOP in C++: Klassen, Vererbung, Polymorphismus
- Anwendung von Design Patterns mit Qt in der Softwareentwicklung
- Verwendung von Qt-Klassen zur Verwaltung von Daten und Ressourcen
- Modularisierung und Wiederverwendbarkeit von Code in großen Projekten
Entwicklung von Benutzeroberflächen mit Qt
- Erstellung plattformunabhängiger GUI-Anwendungen mit Qt Widgets
- Verwendung von Layouts, Containern und Widgets zur Gestaltung von Benutzeroberflächen
- Erstellung von benutzerdefinierten Widgets und Steuerungselementen
- Grafische Elemente und Animationen mit Qt Quick und QML
Datenverwaltung und -verarbeitung mit Qt
- Verwendung von Qt-Datenmodellen und ListViews zur Anzeige von Daten
- Anbindung von Qt-Anwendungen an Datenbanken (SQL, SQLite)
- Verwendung von JSON, XML und anderen Datenformaten für den Datenaustausch
- Speicherung und Verarbeitung von Daten in Echtzeitanwendungen
Netzwerkprogrammierung mit Qt
- Einführung in die Netzwerkprogrammierung mit Qt: Sockets, HTTP und TCP/IP
- Entwicklung von Client-Server-Anwendungen mit Qt Network
- Verwaltung von Netzwerkverbindungen und Kommunikation in verteilten Systemen
- Verwendung von Qt für die Integration von Webservices und APIs
Fortgeschrittene C++-Architektur und Designprinzipien
- Einführung in Softwarearchitekturkonzepte: Schichtenarchitektur, Microservices
- Entwurf skalierbarer und wartbarer Softwarearchitekturen mit C++
- Verwendung von SOLID-Prinzipien und anderen Best Practices in der Architektur
- Modellierung und Dokumentation von Softwarearchitekturen
Multithreading und Parallelverarbeitung mit Qt
- Grundlagen des Multithreading mit Qt: QThread, QMutex und QFuture
- Verwaltung von parallelen Aufgaben und Threads in C++-Anwendungen
- Synchronisation und Thread-Sicherheit in großen Projekten
- Leistungsoptimierung durch Parallelverarbeitung und asynchrone Programmierung
Projektmanagement und Versionierung
- Verwaltung großer C++-Projekte mit Qt und Git
- Agiles Projektmanagement mit Jira und anderen Tools
- Automatisiertes Testen und Continuous Integration (CI) in Qt-Projekten
- Dokumentation und Versionskontrolle von Softwarearchitekturen
Entwicklung mobiler und plattformübergreifender Anwendungen
- Verwendung von Qt für plattformübergreifende Anwendungen (Windows, Linux, macOS, Android, iOS)
- Optimierung von Anwendungen für verschiedene Betriebssysteme und Geräte
- Einbindung von nativen Funktionen und Schnittstellen in Qt-Projekte
- Veröffentlichung von plattformübergreifenden Anwendungen
Best Practices für C++-Architektur und Lösungen
- Clean Code-Prinzipien und Refactoring für nachhaltige Softwareentwicklung
- Optimierung von Speicherverwaltung und Leistung in großen C++-Projekten
- Fehlerbehandlung und Debugging in komplexen Anwendungen
- Integration von Drittanbieter-Tools und Bibliotheken in Qt-Projekte
Zertifizierungen
Die Weiterbildung umfasst die Teilnahme an der Java Certified Foundations Associate Prüfung sowie an der Oracle Certified Associate Prüfung.
Voraussetzungen für die Java & C++ Programmierung Weiterbildung
- grundlegendes Interesse sowohl am IT-Bereich als auch an Programmierung
- abgeschlossene Berufsausbildung, ein Studium oder eine Anpassungsqualifizierung im IT-Bereich; alternativ auch ein bestandener Eignungstest
- Deutschkenntnisse auf dem Niveau B1