Universitäre Qualifikation
Die größte Fakultät für Informatik der Welt"
Präsentation
Nehmen Sie an einem akademisch anspruchsvollen Universitätsprogramm teil, in dem Sie lernen, neue Trends in der Softwareentwicklung mit KI-Technologien umzusetzen“
Die Softwareentwicklung ist ein strategischer Schwerpunkt für die digitale Transformation in allen Produktionsbereichen, vom Gesundheitswesen über das Bildungswesen bis hin zum Handel. In diesem Zusammenhang macht die Schaffung effizienter, skalierbarer und sicherer digitaler Lösungen den Unterschied in der Wettbewerbsfähigkeit von Unternehmen und Institutionen aus. In diesem Zusammenhang ist es weltweit zu einer Priorität geworden, über Spezialisten zu verfügen, die in der Lage sind, komplexe technologische Systeme zu entwerfen, aufzubauen und zu warten, was die Nachfrage nach hochqualifizierten Fachkräften in diesem Bereich ankurbelt.
Aus diesem Grund führt TECH einen innovativen Weiterbildenden Masterstudiengang in Softwareentwicklung ein. Dieses Programm vermittelt Schlüsselkompetenzen in den Bereichen Programmierung, Systemarchitektur, agile Methoden und neue Technologien, wobei stets ein praktischer und aktueller Ansatz verfolgt wird. Durch einen rigorosen, auf die Lösung realer Probleme ausgerichteten Lehrplan wird eine ganzheitliche Sichtweise der Softwareentwicklung gefördert. Diese Fortbildung verbessert nicht nur die beruflichen Chancen, sondern erleichtert auch den Zugang zu technischen Führungspositionen, Beratung und der Entwicklung innovativer Lösungen mit Auswirkungen auf verschiedene Branchen.
Hervorzuheben ist, dass das Online-Format des Programms es ermöglicht, ohne geografische Barrieren oder zeitliche Einschränkungen voranzukommen. Darüber hinaus bietet die virtuelle Plattform kontinuierlichen Zugang zu hochwertigen Inhalten, interaktiven Ressourcen und angewandten Übungen und fördert so ein flexibles, autonomes und an jedes Tempo angepasstes Lernen. Diese Modalität erleichtert die Vereinbarkeit mit anderen Aktivitäten und fördert gleichzeitig eine Bildungserfahrung, die auf die aktuellen Dynamiken des technologischen und beruflichen Umfelds abgestimmt ist. Darüber hinaus wird das Programm von einem renommierten internationalen Gastdirektor begleitet, der 10 anspruchsvolle Masterclasses anbieten wird.
Ein renommierter internationaler Gastdirektor wird zehn exklusive Masterclasses zu den neueste Trends in der Softwareentwicklung anbieten“
Dieser Weiterbildender Masterstudiengang in Softwareentwicklung enthält das vollständigste und aktuellste Programm auf dem Markt. Seine herausragendsten Merkmale sind:
- Die Entwicklung von Fallstudien, die von Experten für Softwareentwicklung vorgestellt werden
- Der anschauliche, schematische und äußerst praxisnahe Inhalt vermittelt alle für die berufliche Praxis unverzichtbaren wissenschaftlichen und praktischen Informationen
- Praktische Übungen, bei denen der Selbstbewertungsprozess zur Verbesserung des Lernens genutzt werden kann
- Sein besonderer Schwerpunkt liegt auf innovativen Methoden
- Theoretische Lektionen, Fragen an den Experten, Diskussionsforen zu kontroversen Themen und individuelle Reflexionsarbeit
- Die Verfügbarkeit des Zugangs zu Inhalten von jedem festen oder tragbaren Gerät mit Internetanschluss
Sie werden verteilte und vernetzte Anwendungen entwickeln, die den Herausforderungen der digitalen Transformation in Bezug auf Konnektivität, Sicherheit und Leistung gerecht werden“
Zu den Dozenten gehören Fachleute aus dem Bereich der Softwareentwicklung, die ihre Erfahrungen in dieses Programm einbringen, sowie anerkannte Spezialisten von führenden Gesellschaften und renommierten Universitäten.
Die multimedialen Inhalte, die mit der neuesten Bildungstechnologie entwickelt wurden, ermöglichen der Fachkraft ein situiertes und kontextbezogenes Lernen, d. h. eine simulierte Umgebung, die eine immersive Fortbildung bietet, die auf die Ausführung von realen Situationen ausgerichtet ist.
Das Konzept dieses Programms konzentriert sich auf problemorientiertes Lernen, bei dem der Student versuchen muss, die verschiedenen Situationen aus der beruflichen Praxis zu lösen, die während des gesamten Studiengangs gestellt werden. Dabei wird die Fachkraft durch ein innovatives interaktives Videosystem unterstützt, das von anerkannten Experten entwickelt wurde.
Sie werden relationale Datenbanken in komplexe Architekturen integrieren und so die Verwaltung großer Datenmengen optimieren"
Mithilfe des von TECHverwendeten Relearning-Systems werden Sie den Zeitaufwand für das Lernen und Auswendiglernen reduzieren"
Lehrplan
Dieser Lehrplan umfasst Inhalte, die auf die aktuellen Anforderungen des Technologiesektors abgestimmt sind und verbindet fortgeschrittene Theorie mit praktischer Anwendung. Darüber hinaus umfasst er Ansätze zu Cybersicherheit, plattformübergreifender Entwicklung und serviceorientierter Architektur und vermittelt so einen umfassenden und modernen Überblick über die IT-Umgebung. Auf diese Weise wird eine fundierte und aktuelle akademische Fortbildung geboten, die darauf ausgerichtet ist, den Herausforderungen der digitalen Transformation mit technischer Kompetenz und innovativem Denken zu begegnen.
Sie werden die wesentlichen Grundlagen der Softwareentwicklung beherrschen, um solide, effiziente und an die Anforderungen des beruflichen Umfelds angepasste technologische Lösungen zu entwickeln“
Modul 1. Grundlagen der Programmierung
1.1. Einführung in die Programmierung
1.1.1. Grundlegende Struktur eines Computers
1.1.2. Software
1.1.3. Programmiersprachen
1.1.4. Lebenszyklus einer Softwareanwendung
1.2. Entwurf von Algorithmen
1.2.1. Lösung von Problemen
1.2.2. Deskriptive Techniken
1.2.3. Elemente und Struktur eines Algorithmus
1.3. Elemente eines Programms
1.3.1. Ursprung und Merkmale der Sprache C++
1.3.2. Die Entwicklungsumgebung
1.3.3. Konzept des Programms
1.3.4. Arten von grundlegenden Daten
1.3.5. Operatoren
1.3.6. Ausdrücke
1.3.7. Anweisungen
1.3.8. Dateneingabe und -ausgabe
1.4. Kontrollstrukturen
1.4.1. Anweisungen
1.4.2. Verzweigungen
1.4.3. Schleifen
1.5. Abstraktion und Modularität: Funktionen
1.5.1. Modularer Aufbau
1.5.2. Konzept der Funktion und des Nutzens
1.5.3. Definition einer Funktion
1.5.4. Ausführungsablauf beim Aufruf einer Funktion
1.5.5. Prototyp einer Funktion
1.5.6. Rückgabe der Ergebnisse
1.5.7. Aufrufen einer Funktion: Parameter
1.5.8. Übergabe von Parametern per Referenz und per Wert
1.5.9. Gültigkeitsbereich
1.6. Statische Datenstrukturen
1.6.1. Arrays
1.6.2. Matrizen. Polyeder
1.6.3. Suche und Sortierung
1.6.4. Zeichenketten. E/A-Funktionen für Zeichenketten
1.6.5. Strukturen. Verbindungen
1.6.6. Neue Datentypen
1.7. Dynamische Datenstrukturen: Zeiger
1.7.1. Konzept. Definition von Zeiger
1.7.2. Operatoren und Operationen mit Zeigern
1.7.3. Arrays von Zeigern
1.7.4. Zeiger und Arrays
1.7.5. Zeiger auf Zeichenketten
1.7.6. Zeiger auf Strukturen
1.7.7. Mehrfache Indirektion
1.7.8. Zeiger auf Funktionen
1.7.9. Übergabe von Funktionen, Strukturen und Arrays als Funktionsparameter
1.8. Dateien
1.8.1. Grundlegende Konzepte
1.8.2. Dateioperationen
1.8.3. Datentypen
1.8.4. Organisation von Dateien
1.8.5. Einführung in C++-Dateien
1.8.6. Handhabung von Dateien
1.9. Rekursion
1.9.1. Definition von Rekursion
1.9.2. Arten der Rekursion
1.9.3. Vor- und Nachteile
1.9.4. Überlegungen
1.9.5. Umwandlung von Rekursion in Iteration
1.9.6. Der Rekursionsstapel
1.10. Test und Dokumentation
1.10.1. Programmtests
1.10.2. White-Box-Tests
1.10.3. Black-Box-Tests
1.10.4. Werkzeuge zur Testdurchführung
1.10.5. Programmdokumentation
Modul 2. Datenstruktur
2.1. Einführung in die Programmierung in C++
2.1.1. Klassen, Konstruktoren, Methoden und Attribute
2.1.2. Variablen
2.1.3. Bedingte Ausdrücke und Schleifen
2.1.4. Objekte
2.2. Abstrakte Datentypen (ADT)
2.2.1. Datentypen
2.2.2. Grundlegende Strukturen und ADTs
2.2.3. Vektoren und Arrays
2.3. Lineare Datenstrukturen
2.3.1. Definition der ADT-Liste
2.3.2. Verknüpfte und doppelt verknüpfte Listen
2.3.3. Geordnete Listen
2.3.4. Listen in C++
2.3.5. ADT-Stapel
2.3.6. ADT-Warteschlange
2.3.7. Stapel und Warteschlange in C++
2.4. Hierarchische Datenstrukturen
2.4.1. ADT-Baum
2.4.2. Traversierungen
2.4.3. n-äre Bäume
2.4.4. Binärbäume
2.4.5. Binäre Suchbäume
2.5. Hierarchische Datenstrukturen: komplexe Bäume
2.5.1. Perfekt balancierte oder minimal hohe Bäume
2.5.2. Mehrwegbäume
2.5.3. Literaturverzeichnis
2.6. Heaps und Prioritätswarteschlange
2.6.1. ADT-Heaps
2.6.2. ADT-Prioritätswarteschlange
2.7. Hash-Tabellen
2.7.1. ADT-Hash-Tabellen
2.7.2. Hash-Funktionen
2.7.3. Hash-Funktion in Hash-Tabellen
2.7.4. Redispersion
2.7.5. Offene Hash-Tabellen
2.8. Graphen
2.8.1. ADT-Graph
2.8.2. Arten von Graphen
2.8.3. Grafische Darstellung und Grundoperationen
2.8.4. Entwurf von Graphen
2.9. Algorithmen und weiterführende Konzepte zu Graphen
2.9.1. Graph-Probleme
2.9.2. Wege-Algorithmen
2.9.3. Such- oder Traversierungsalgorithmen
2.9.4. Andere Algorithmen
2.10. Andere Datenstrukturen
2.10.1. Mengen
2.10.2. Parallele Arrays
2.10.3. Symboltabellen
2.10.4. Tries
Modul 3. Algorithmen und Komplexität
3.1. Einführung in Entwurfsstrategien für Algorithmen
3.1.1. Rekursion
3.1.2. Teile-und-herrsche (Divide and Conquer)
3.1.3. Andere Strategien
3.2. Effizienz und Analyse von Algorithmen
3.2.1. Effizienzmaße
3.2.2. Messung der Eingabegröße
3.2.3. Messung der Laufzeit
3.2.4. Schlimmster, bester und durchschnittlicher Fall
3.2.5. Asymptotische Notation
3.2.6. Kriterien für die mathematische Analyse von nichtrekursiven Algorithmen
3.2.7. Mathematische Analyse von rekursiven Algorithmen
3.2.8. Empirische Analyse von Algorithmen
3.3. Sortieralgorithmen
3.3.1. Konzept der Sortierung
3.3.2. Sortieren durch Aufsteigen
3.3.3. Sortieren durch Auswählen
3.3.4. Sortieren durch Einfügen
3.3.5. Sortieren durch zusammenführen (Merge Sort)
3.3.6. Schnelle Sortierung (Quick Sort)
3.4. Algorithmen mit Bäumen
3.4.1. Konzept des Baums
3.4.2. Binärbäume
3.4.3. Baumtraversierungen
3.4.4. Darstellung von Ausdrücken
3.4.5. Binäre Suchbäume
3.4.6. Balancierte Binärbäume
3.5. Algorithmen mit Heaps
3.5.1. Heaps
3.5.2. Der HeapSort-Algorithmus
3.5.3. Prioritätswarteschlangen
3.6. Algorithmen mit Graphen
3.6.1. Darstellung
3.6.2. Breitensuche
3.6.3. Tiefensuche
3.6.4. Topologische Sortierung
3.7. Greedy-Algorithmen
3.7.1. Die Greedy-Strategie
3.7.2. Elemente der Greedy-Strategie
3.7.3. Münzwechselproblem
3.7.4. Problem des Handlungsreisenden
3.7.5. Rucksackproblem
3.8. Suche nach kürzesten Wegen
3.8.1. Das Problem des kürzesten Weges
3.8.2. Negative Kanten und Zyklen
3.8.3. Dijkstra-Algorithmus
3.9. Greedy-Algorithmen auf Graphen
3.9.1. Minimaler Spannbaum
3.9.2. Prim-Algorithmus
3.9.3. Kruskal-Algorithmus
3.9.4. Komplexitätsanalyse
3.10. Backtracking
3.10.1. Das Backtracking
3.10.2. Alternative Techniken
Modul 4. Datenbanken
4.1. Anwendungen und Zwecke von Datenbanksystemen
4.1.1. Anwendungen der verschiedenen Datenbanksysteme
4.1.2. Zweck der verschiedenen Datenbanksysteme
4.1.3. Datenübersicht
4.2. Datenbank und Architektur
4.2.1. Relationale Datenbanken
4.2.2. Das Design von Datenbanken
4.2.3. Objektbasierte und semistrukturierte Datenbanken
4.2.4. Datenspeicherung und Abfragen
4.2.5. Transaktionsmanagement
4.2.6. Data Mining und Datenanalyse
4.2.7. Datenbankarchitektur
4.3. Das relationale Modell: Struktur, Operationen und erweiterte relationale Algebra
4.3.1. Die Struktur von relationalen Datenbanken
4.3.2. Grundlegende Operationen in der relationalen Algebra
4.3.3. Andere Operationen der relationalen Algebra
4.3.4. Erweiterte Operationen der relationalen Algebra
4.3.5. Nullwerte
4.3.6. Modifizierung der Datenbank
4.4. SQL (I)
4.4.1. Was ist SQL?
4.4.2. Definition der Daten
4.4.3. Grundlegende Struktur der SQL-Abfragen
4.4.4. Mengenoperationen
4.4.5. Aggregatfunktionen
4.4.6. Nullwerte
4.5. SQL (II)
4.5.1. Verschachtelte Unterabfragen
4.5.2. Komplexe Abfragen
4.5.3. Ansichten
4.5.4. Cursor
4.5.5. Komplexe Abfragen
4.5.6. Trigger
4.6. Datenbankdesign und das ER-Modell
4.6.1. Überblick über den Entwurfsprozess
4.6.2. Das Entity-Relationship-Modell
4.6.3. Einschränkungen
4.7. Entity-Relationship-Diagramme
4.7.1. Entity-Relationship-Diagramme
4.7.2. Aspekte der Gestaltung von Entity-Beziehungen
4.7.3. Gruppen von schwachen Entitäten
4.8. Das erweiterte Entity-Relationship-Modell
4.8.1. Merkmale des erweiterten ER-Modells
4.8.2. Entwurf einer Datenbank
4.8.3. Reduktion auf relationale Schemata
4.9. Entwurf relationaler Datenbanken
4.9.1. Merkmale eines guten relationalen Designs
4.9.2. Atomare Domänen und die erste Normalform (1NF)
4.9.3. Zerlegung durch funktionale Abhängigkeiten
4.9.4. Theorie der funktionalen Abhängigkeiten
4.9.5. Zerlegungsalgorithmen
4.9.6. Zerlegung durch mehrwertige Abhängigkeiten
4.9.7. Weitere Normalformen
4.9.8. Entwurfsprozess für Datenbanken
4.10. NoSQL-Datenbanken
4.10.1. Was sind NoSQL-Datenbanken?
4.10.2. Analyse der verschiedenen NoSQL-Optionen und ihrer Eigenschaften
4.10.3. MongoDB
Modul 5. Fortgeschrittene Datenbanken
5.1. Einführung in die verschiedenen Datenbanksysteme
5.1.1. Historischer Überblick
5.1.2. Hierarchische Datenbanken
5.1.3. Netzwerkdatenbanken
5.1.4. Relationale Datenbanken
5.1.5. Nichtrelationale Datenbanken
5.2. XML und Datenbanken für das Web
5.2.1. Validierung von XML-Dokumenten
5.2.2. Transformationen von XML-Dokumenten
5.2.3. Speicherung von XML-Daten
5.2.4. Relationale XML-Datenbanken
5.2.5. SQL/XML
5.2.6. Native XML-Datenbanken
5.3. Parallele Datenbanken
5.3.1. Parallele Systeme
5.3.2. Parallele Datenbankarchitekturen
5.3.3. Parallelität bei Abfragen
5.3.4. Parallelität zwischen den Abfragen
5.3.5. Entwurf paralleler Systeme
5.3.6. Parallele Verarbeitung in SQL
5.4. Verteilte Datenbanken
5.4.1. Verteilte Systeme
5.4.2. Verteilte Speicherung
5.4.3. Verfügbarkeit
5.4.4. Verteilte Abfrageverarbeitung
5.4.5. Anbieter verteilter Datenbanken
5.5. Indexierung und Assoziierung
5.5.1. Geordnete Indizes
5.5.2. Dichte und verstreute Indizes
5.5.3. Mehrstufige Indizes
5.5.4. Aktualisierung des Indexes
5.5.5. Statische Assoziation
5.5.6. Wie verwendet man Indizes in Datenbanken?
5.6. Einführung in die Transaktionsverarbeitung
5.6.1. Zustände einer Transaktion
5.6.2. Implementierung von Atomizität und Dauerhaftigkeit
5.6.3. Sequenzialität
5.6.4. Wiederherstellbarkeit
5.6.5. Implementierung der Isolation
5.7. Wiederherstellungssysteme
5.7.1. Klassifizierung von Fehlern
5.7.2. Speicherstrukturen
5.7.3. Wiederherstellung und Atomizität
5.7.4. Wiederherstellung auf Basis historischer Aufzeichnungen
5.7.5. Parallele Transaktionen und Wiederherstellung
5.7.6. Hohe Verfügbarkeit in Datenbanken
5.8. Ausführung und Bearbeitung von Abfragen
5.8.1. Kosten einer Abfrage
5.8.2. Auswahloperation
5.8.3. Sortierung
5.8.4. Einführung in die Abfrageoptimierung
5.8.5. Leistungsüberwachung
5.9. Nichtrelationale Datenbanken
5.9.1. Dokumentorientierte Datenbanken
5.9.2. Graphorientierte Datenbanken
5.9.3. Key-Value-Datenbanken
5.10. Data Warehouse, OLAP und Data Mining
5.10.1. Komponenten von Data Warehouses
5.10.2. Architektur eines Data Warehouse
5.10.3. OLAP
5.10.4. Data-Mining-Funktionen
5.10.5. Andere Arten von Mining
Modul 6. Fortgeschrittener Algorithmusentwurf
6.1. Analyse von rekursiven und Divide-and-Conquer-Algorithmen
6.1.1. Aufstellen und Lösen von homogenen und nicht-homogenen Rekursionsgleichungen
6.1.2. Allgemeine Beschreibung der Divide-and-Conquer-Strategie
6.2. Amortisierte Analyse
6.2.1. Aggregierte Analyse
6.2.2. Die Buchhaltungsmethode
6.2.3. Die Potentialmethode
6.3. Dynamische Programmierung und Algorithmen für NP-Probleme
6.3.1. Merkmale der dynamischen Programmierung
6.3.2. Umkehr: Backtracking
6.3.3. Verzweigung und Beschneidung
6.4. Kombinatorische Optimierung
6.4.1. Problemdarstellung
6.4.2. 1D-Optimierung
6.5. Randomisierte Algorithmen
6.5.1. Beispiele für randomisierte Algorithmen
6.5.2. Das Buffonsche Theorem
6.5.3. Monte-Carlo-Algorithmus
6.5.4. Las-Vegas-Algorithmus
6.6. Lokale Suche und Kandidatensuche
6.6.1. Gradient Ascent
6.6.2. Hill Climbing
6.6.3. Simulated Annealing
6.6.4. Tabu Search
6.6.5. Kandidatensuche
6.7. Formale Verifizierung von Programmen
6.7.1. Spezifikation von funktionalen Abstraktionen
6.7.2. Die Sprache der Prädikatenlogik erster Stufe
6.7.3. Hoare's formales System
6.8. Verifizierung von iterativen Programmen
6.8.1. Regeln des formalen Hoare-Systems
6.8.2. Konzept der invarianten Iterationen
6.9. Numerische Methoden
6.9.1. Die Methode der Halbierung
6.9.2. Die Newton-Raphson-Methode
6.9.3. Die Sekantenmethode
6.10. Parallele Algorithmen
6.10.1. Parallele binäre Operationen
6.10.2. Parallele Operationen mit Diagrammen
6.10.3. Parallelität in Teilen und Erobern
6.10.4. Parallelität in der dynamischen Programmierung
Modul 7. Mensch-Computer-Interaktion
7.1. Einführung in die Mensch-Computer Interaktion
7.1.1. Was ist die Mensch-Computer Interaktion?
7.1.2. Beziehung der Mensch-Computer-Interaktion zu anderen Disziplinen
7.1.3. Die Benutzeroberfläche
7.1.4. Benutzerfreundlichkeit und Zugänglichkeit
7.1.5. Benutzererfahrung und benutzerzentriertes Design
7.2. Der Computer und die Interaktion: Benutzeroberfläche und Interaktionsparadigmen
7.2.1. Interaktion
7.2.2. Interaktionsparadigmen und Interaktionsstile
7.2.3. Entwicklung von Benutzeroberflächen
7.2.4. Klassische Benutzeroberflächen: WIMP/GUI, Befehle, Stimme, virtuelle Realität
7.2.5. Innovative Benutzeroberflächen: mobil, tragbar, kollaborativ, BCI
7.3. Der menschliche Faktor: psychologische und kognitive Aspekte
7.3.1. Die Bedeutung des menschlichen Faktors in der Interaktion
7.3.2. Menschliche Informationsverarbeitung
7.3.3. Die Eingabe und Ausgabe von Informationen: visuell, auditiv und taktil
7.3.4. Wahrnehmung und Aufmerksamkeit
7.3.5. Wissen und mentale Modelle: Darstellung, Organisation und Erwerb
7.4. Der menschliche Faktor: sensorische und physische Einschränkungen
7.4.1. Funktionale Vielfalt, Behinderung und Beeinträchtigung
7.4.2. Visuelle Vielfalt
7.4.3. Akustische Vielfalt
7.4.4. Kognitive Vielfalt
7.4.5. Motorische Vielfalt
7.4.6. Der Fall der digitalen Einwanderer
7.5. Der Designprozess (I): Anforderungsanalyse für die Gestaltung der Benutzeroberfläche
7.5.1. Benutzerzentriertes Design
7.5.2. Was ist eine Anforderungsanalyse?
7.5.3. Sammeln von Informationen
7.5.4. Analyse und Interpretation der Informationen
7.5.5. Analyse der Benutzerfreundlichkeit und Zugänglichkeit
7.6. Der Designprozess (II): Prototyping und Aufgabenanalyse
7.6.1. Konzeptioneller Entwurf
7.6.2. Prototypenerstellung
7.6.3. Hierarchische Aufgabenanalyse
7.7. Der Designprozess (III): Bewertung
7.7.1. Bewertung im Designprozess: Ziele und Methoden
7.7.2. Bewertungsmethoden ohne Benutzer
7.7.3. Bewertungsmethoden mit Benutzern
7.7.4. Bewertungsstandards und -normen
7.8. Barrierefreiheit: Definition und Leitlinien
7.8.1. Barrierefreiheit und universelles Design
7.8.2. WAI-Initiative und WCAG-Richtlinien
7.8.3. WCAG-Richtlinien 2.0 und 2.1
7.9. Barrierefreiheit: Bewertung und funktionale Vielfalt
7.9.1. Tools zur Bewertung der Barrierefreiheit im Web
7.9.2. Barrierefreiheit und funktionale Vielfalt
7.10. Der Computer und die Interaktion: Peripheriegeräte und Zubehör
7.10.1. Herkömmliche und Peripheriegeräte
7.10.2. Alternative und Peripheriegeräte
7.10.3. Handys und Tablets
7.10.4. Funktionale Vielfalt, Interaktion und Peripheriegeräte
Modul 8. Fortgeschrittene Programmierung
8.1. Einführung in die objektorientierte Programmierung
8.1.1. Einführung in die objektorientierte Programmierung
8.1.2. Klassendesign
8.1.3. Einführung in UML für die Modellierung von Problemen
8.2. Beziehungen zwischen Klassen
8.2.1. Abstraktion und Vererbung
8.2.2. Fortgeschrittene Konzepte der Vererbung
8.2.3. Polymorphismen
8.2.4. Zusammensetzung und Aggregation
8.3. Einführung in Entwurfsmuster für objektorientierte Probleme
8.3.1. Was sind Entwurfsmuster
8.3.2. Factory-Muster
8.3.3. Singleton-Muster
8.3.4. Observer-Muster
8.3.5. Composite-Muster
8.4. Ausnahmen
8.4.1. Was sind Ausnahmen?
8.4.2. Abfangen und Behandlung von Ausnahmen
8.4.3. Auslösen von Ausnahmen
8.4.4. Erstellung von Ausnahmen
8.5. Benutzeroberflächen
8.5.1. Einführung in Qt
8.5.2. Positionierung
8.5.3. Was sind Ereignisse?
8.5.4. Ereignisse: Definition und Erfassung
8.5.5. Entwicklung von Benutzeroberflächen
8.6. Einführung in die nebenläufige Programmierung
8.6.1. Einführung in die nebenläufige Programmierung
8.6.2. Das Konzept von Prozessen und Threads
8.6.3. Interaktion zwischen Prozessen oder Threads
8.6.4. Threads in C++
8.6.5. Vor- und Nachteile der nebenläufigen Programmierung
8.7. Thread-Verwaltung und Synchronisation
8.7.1. Lebenszyklus eines Threads
8.7.2. Die Klasse Thread
8.7.3. Thread-Planung
8.7.4. Thread-Gruppen
8.7.5. Daemon-Threads
8.7.6. Synchronisation
8.7.7. Sperrmechanismen
8.7.8. Kommunikationsmechanismen
8.7.9. Monitore
8.8. Häufige Probleme in der nebenläufigen Programmierung
8.8.1. Das Erzeuger-Verbraucher-Problem
8.8.2. Das Leser-Schreiber-Problem
8.8.3. Das Problem der speisenden Philosophen
8.9. Softwaredokumentation und -tests
8.9.1. Warum ist es wichtig, Software zu dokumentieren?
8.9.2. Entwurfsdokumentation
8.9.3. Verwendung von Tools zur Dokumentation
8.10. Softwaretests
8.10.1. Einführung in Softwaretests
8.10.2. Arten von Tests
8.10.3. Unit-Test
8.10.4. Integrationstests
8.10.5. Validierungstest
8.10.6. Systemprüfung
Modul 9. Entwicklung von Netzwerkanwendungen
9.1. Auszeichnungssprachen – HTML5
9.1.1. Grundlegende Konzepte der HTML
9.1.2. Neue HTML 5-Elemente
9.1.3. Formulare: neue Steuerelemente
9.2. Einführung in CSS-Stylesheets
9.2.1. Erste Schritte mit CSS
9.2.2. Einführung in CSS3
9.3. Browser-Skriptsprache: JavaScript
9.3.1. Grundkonzepte von JavaScript
9.3.2. DOM
9.3.3. Ereignisse
9.3.4. jQuery
9.3.5. Ajax
9.4. Konzept der komponentenorientierten Programmierung
9.4.1. Kontext
9.4.2. Komponenten und Schnittstellen
9.4.3. Zustände einer Komponente
9.5. Architektur von Komponenten
9.5.1. Zeitgenössische Architekturen
9.5.2. Integration und Bereitstellung von Komponenten
9.6. Frontend-Framework: Bootstrap
9.6.1. Rasterbasiertes Design
9.6.2. Formulare
9.6.3. Komponenten
9.7. Model-View-Controller
9.7.1. Methoden der Webentwicklung
9.7.2. Entwurfsmuster: MVC
9.8. Grid-Informationstechnologien
9.8.1. Erhöhung der Rechenressourcen
9.8.2. Konzept der Grid-Technologie
9.9. Serviceorientierte Architektur
9.9.1. SOA und Webdienste
9.9.2. Topologie eines Webdienstes
9.9.3. Plattformen für Webdienste
9.10. HTTP-Protokoll
9.10.1. Nachrichten
9.10.2. Persistente Sitzungen
9.10.3. Kryptographisches System
9.10.4. Funktionsweise des HTTPS-Protokolls
Modul 10. Softwaretechnik
10.1. Einführung in die Softwaretechnik und -modellierung
10.1.1. Die Natur der Software
10.1.2. Die einzigartige Natur der WebApps
10.1.3. Softwaretechnik
10.1.4. Der Softwareentwicklungsprozess
10.1.5. Die Praxis der Softwareentwicklung
10.1.6. Mythen über Software
10.1.7. Wie alles beginnt
10.1.8. Objektorientierte Konzepte
10.1.9. Einführung in UML
10.2. Der Softwareentwicklungsprozess
10.2.1. Ein generisches Prozessmodell
10.2.2. Vorgegebene Prozessmodelle
10.2.3. Spezialisierte Prozessmodelle
10.2.4. Der vereinheitlichte Prozess
10.2.5. Persönliche und Teamprozessmodelle
10.2.6. Was ist Agilität?
10.2.7. Was ist ein agiler Prozess?
10.2.8. Scrum
10.2.9. Werkzeuge für agile Prozesse
10.3. Grundsätze für die Praxis der Softwareentwicklung
10.3.1. Prinzipien zur Prozessführung
10.3.2. Prinzipien als Leitfaden für die Praxis
10.3.3. Kommunikationsprinzipien
10.3.4. Planungsprinzipien
10.3.5. Modellierungsprinzipien
10.3.6. Konstruktionsprinzipien
10.3.7. Prinzipien der Bereitstellung
10.4. Verständnis der Anforderungen
10.4.1. Anforderungsmanagement
10.4.2. Schaffung der Grundlagen
10.4.3. Bedarfsermittlung
10.4.4. Entwicklung von Anwendungsfällen
10.4.5. Ausarbeitung des Anforderungsmodells
10.4.6. Aushandeln von Anforderungen
10.4.7. Validierung der Anforderungen
10.5. Anforderungsmodellierung: Szenarien, Information und Analyseklassen
10.5.1. Analyse der Anforderungen
10.5.2. Szenarienbasierte Modellierung
10.5.3. UML-Modelle, die den Anwendungsfall liefern
10.5.4. Konzepte der Datenmodellierung
10.5.5. Klassenbasierte Modellierung
10.5.6. Klassendiagramme
10.6. Anforderungsmodellierung: Fluss, Verhalten und Muster
10.6.1. Strategieorientierte Anforderungen
10.6.2. Flussorientierte Modellierung
10.6.3. Zustandsdiagramme
10.6.4. Erstellung eines Verhaltensmodells
10.6.5. Sequenzdiagramme
10.6.6. Kommunikationsdiagramme
10.6.7. Muster zur Anforderungsmodellierung
10.7. Designkonzepte
10.7.1. Design im Kontext der Softwaretechnik
10.7.2. Der Designprozess
10.7.3. Designkonzepte
10.7.4. Konzepte des objektorientierten Designs
10.7.5. Das Designmodell
10.8. Design der Architektur
10.8.1. Softwarearchitektur
10.8.2. Architektonische Gattungen
10.8.3. Architekturstile
10.8.4. Architektonisches Design
10.8.5. Entwicklung von alternativen Designs für die Architektur
10.8.6. Abbildung der Architektur mit Hilfe von Datenflüssen
10.9. Komponentendesign und musterbasiertes Design
10.9.1. Was ist eine Komponente?
10.9.2. Klassenbasiertes Komponentendesign
10.9.3. Umsetzung des Komponentendesigns
10.9.4. Traditionelles Komponentendesign
10.9.5. Komponentenbasierte Entwicklung
10.9.6. Entwurfsmuster
10.9.7. Musterbasiertea Softwaredesign
10.9.8. Architekturmuster
10.9.9. Entwurfsmuster auf Komponentenebene
10.9.10. Entwurfsmuster für Benutzeroberflächen
10.10. Softwarequalität und Projektmanagement
10.10.1. Softwarequalität
10.10.2. Das Dilemma der Softwarequalität
10.10.3. Erreichen von Softwarequalität
10.10.4. Qualitätssicherung der Software
10.10.5. Das administrative Spektrum
10.10.6. Das Personal
10.10.7. Das Produkt
10.10.8. Der Prozess
10.10.9. Das Projekt
10.10.10. Grundsätze und Praktiken
Sie werden Kriterien hinsichtlich Qualität, Leistung und Nachhaltigkeit während des gesamten Lebenszyklus der Software anwenden“
Weiterbildender Masterstudiengang in Softwareentwicklung
Die IT-Branche hat sich in den letzten Jahren stark gewandelt. In der Tat ist eines der Elemente, die sie charakterisieren, ihre ständige Weiterentwicklung durch die Einbindung neuer Technologien und Software der neuesten Generation. Daher ist es wichtig, dass die Fachkräfte, die in diesem Bereich arbeiten wollen, über aktuelle Kenntnisse in der Verwaltung der angebotenen Tools verfügen. Aus diesem Grund hat die TECH Technologische Universität diesen Weiterbildender Masterstudiengang in Softwareentwicklung entwickelt, ein Aufbaustudiengang, mit dem Sie Ihre akademischen Ziele erreichen und Ihre berufliche Karriere vorantreiben können.
Absolvieren Sie einen Masterstudiengang in Softwareentwicklung
Das Hauptziel dieses TECH-Studiengangs besteht darin, die besten Kenntnisse und Inhalte zu vermitteln, damit die Absolventen die Herausforderungen des heutigen Arbeitslebens meistern können. Auf diese Weise wollen wir die Studenten in diesem Studiengang durch einen Lehrplan auf hohem Niveau wissenschaftlich und technologisch fortbilden. In diesem Sinne lernen Sie die Grundstruktur des Computers und der Software kennen, Sie werden die Programmiersprache verstehen und interpretieren, Sie werden die Funktionsweise, die wichtigsten Strategien und die Entwicklung des Algorithmus verstehen, um nur einige Beispiele zu nennen. Durch eine Fortbildung in diesem Fach werden Sie in der Lage sein, die Verfahren in diesem Bereich zu beherrschen und zu dessen Entwicklung in Bereichen wie Kreativität, Innovation und technologischer Effizienz beizutragen.
Spezialisieren Sie sich an der größten digitalen Universität der Welt
An der TECH Technologischen Universität verfügen wir über die aktuellsten und vollständigsten Inhalte auf dem Bildungsmarkt, die darauf ausgerichtet sind, ein höheres Wissensniveau in der Softwareentwicklung zu erreichen. In Anbetracht der Tatsache, dass eine spezialisierte Ausbildung für Fachleute in der heutigen Zeit eine Notwendigkeit ist, bemühen wir uns, unseren Studenten eine umfassende und qualitativ hochwertige Fortbildung zu bieten. Mit unseren Ausbildungsmethoden hat jeder Student Zugang zu Techniken, Strategien, Programmen und Ressourcen, die ihm bei seiner Arbeit helfen. Dies ist eine neue, umfassende und effektive Möglichkeit für alle, die sich für den IT-Sektor interessieren.