CAS Engineering Software Applications
Die zunehmende Komplexität moderner Software und der Bedarf an schnellen und flexiblen Entwicklungsprozessen erfordern von Software Engineers umfassende Kenntnisse – sowohl im Frontend- als auch im Backend-Bereich. Der CAS Engineering Software Applications vermittelt vertiefte Kompetenzen im Full-Stack Software Engineering und damit auch Sicherheit und Souveränität in der Entwicklung moderner Anwendungen.
Moderne Softwareanwendungen werden immer komplexer, müssen skalierbar, wartbar und effizient sein. Gleichzeitig steigen die Anforderungen an Entwicklungsteams, robuste und performante Systeme zu liefern.
Der Zertifikatskurs (CAS) Engineering Software Applications vermittelt Ihnen die notwendigen Kenntnisse, um diese Herausforderungen zu meistern. Der CAS beleuchtet sowohl Backend- als auch Frontend-Technologien sowie verteilte Systeme, Softwarearchitektur und agile Methoden. Sie lernen, professionelle Softwarelösungen mit modernen Technologien wie .NET, Java, Express.js und PostgreSQL zu entwickeln und zu betreiben. Damit werden Sie befähigt, Full-Stack-Anwendungen effizient zu entwerfen, umzusetzen und in dynamischen Entwicklungsumgebungen erfolgreich zu arbeiten.
Auf einen Blick
Abschluss
Certificate of Advanced Studies CAS in Engineering Software Applications (15 ECTS-Punkte)
Schwerpunkte
- Software Design, Principles and Patterns
- Applikationsarchitekturen
- Verteilte Systeme
- Parallele Programmierung
- Datenbank Grundlagen
- Full-Stack Web-Engineering
- Software-Projektmanagement und agile Methoden
Nutzen
In diesem Kurs vertiefen Sie Ihre Fähigkeiten im Full-Stack Software Engineering. Sie erlernen bewährte Architekturmuster, effiziente Programmiermethoden und den professionellen Umgang mit verteilten Systemen. Beruflich eröffnet der CAS neue Perspektiven für den Aufstieg in leitende Entwicklungs- oder Architekturrollen, da die vermittelten Kenntnisse eine Schlüsselqualifikation für anspruchsvolle Softwareprojekte darstellen.
Dauer
22 Präsenztage, berufsbegleitend während 8 Monaten
Die Anzahl der Präsenztage variiert je nach Lehr- und Lernform. Es gilt der aktuelle Terminplan.
Kosten
CHF 9800.– inkl. Unterlagen, Leistungsnachweisen und Zertifikat (Preisänderungen vorbehalten)
Bis zwei Monate vor Anmeldeschluss bzw. vier Monate vor Kursstart wird ein Rabatt von CHF 500 gewährt.
Zulassung
Anerkannter Tertiärabschluss, mehrjährige qualifizierte Berufserfahrung, Tätigkeit in einem entsprechenden Arbeitsfeld
Um mit einer guten Grundlage in diesen CAS einzusteigen, empfehlen wir Ihnen, zuerst den CAS Software Engineering Essentials zu absolvieren.
Hinweis
Dieser CAS kann als in sich geschlossene Weiterbildung oder als Teil des MAS Software Engineering absolviert werden.
Studieninhalte
Dieser Kurs umfasst folgende Inhalte:
Software Design, Principles and Patterns
- Design-Prinzipien und Praktiken für objektorientierte Software-Systeme
- Zuweisung von Verantwortlichkeiten nach GRASP
- Domain-Driven Design (DDD)
- Software Design Patterns
- Code Smells/Refactoring
- Test Driven Development (TDD)
Application Architecture
- Grundprinzipien guter Applikationsarchitekturen
- Rolle des Architekten
- Architekturtypen: Schichten, Pipes und Filters, Interaktive und Verteilte Systeme
- Sichten auf Architekturen
- Architektur-Patterns
Distributed Systems
- Definition von Verteilten Systemen
- Service-Design (Herangehensweise, Grund-Architektur und Design)
- Synchrone Kommunikation (RPC, REST, gRPC, etc.)
- Asynchrone Kommunikation (Messaging, JMS, Kafka, MQTT und weitere)
- Schnittstellen-Design
- Erweiterte Konzepte verteilter Systeme
Parallele Programmierung
- Multi-Thread-Programmierung
- Monitor-Synchronisation und andere Synchronisationsprimitiven
- Nebenläufigkeitsfehler erkennen und vermeiden
- Effiziente Parallelisierung mit Thread Pools
- Asynchrone Programmierung im Allgemeinen und im GUI
- Java Memory Model und atomare Instruktionen
.NET-Technologien
- .NET-Grundlagen: Architektur, Laufzeitumgebung CLR, MSIL, Assemblies, Typensystem CTS
- C#-Grundlagen: Namespaces, zentrale Klassen (Objekt, Array, String), Enums
- Klassen und Structs: Methoden, Properties, Indexers, Konstruktoren, Operatoren
- Vererbung: Methoden und Vererbung, Abstrakte Klassen, Interfaces
- Delegates & Events: Multicast-Delegates, Hands-on Beispiele, Events, Anonyme Methoden
- Generics: Type Constraints, Nullable Types, Generische Delegates
- Language Integrated Queries LINQ: Lambda-Ausdrücke, Extension Methods, Initializers, Anonymous Types, Query Expressions
- Protocol Buffers, gRPC mit .NET und C#
Datenbank-Grundlagen
- Einführung: Aufbau eines DBMS
- Datenmodellierung
- SQL als Datendefinitionssprache
- SQL als Datenmanipulationssprache
- Transaktionen
- Implementierung und Abfragen einer Datenbank mit PostgreSQL
Full-Stack Web-Engineering
- Grundlagen für Server-Applikationen mit Express.js (Node.js, NPM)
- Server Side Rendering
- Client-Server-Kommunikation mit AJAX
- Entwickeln und anbinden von API-Schnittstellen (RESTful HTTP)
Software-Projektmanagement und agile Methoden
- Grundlagen Projektmanagement (Software-Vorgehensmodelle, Risiko-Management, etc.)
- Grundlagen von Teamarbeit
- Stärken und Schwächen agiler Vorgehensweisen
- Scrum als agile Methoden verstehen und anwenden
- Weitere Prozesse und Frameworks, wie Kanban, DevOps, SAFe, LeSS, Nexus
Zielgruppe und Zulassung
Zielgruppe
Dieser CAS richtet sich an Software-Entwicklerinnen und -Entwickler, die ihr Wissen im Full-Stack Software Engineering vertiefen möchten. Angesprochen sind Fachkräfte mit Entwicklungserfahrung, die ihre Kompetenzen in Bereichen wie Softwaredesign (Prinzipien und Patterns), paralleler Programmierung, Softwarearchitektur, verteilten System und agilen Methoden erweitern möchten.
Zulassung
Zugelassen sind Personen
- mit einem anerkannten Tertiärabschluss (Universität, Fachhochschule, Höhere Fachschule sowie Technikerschule oder Höhere Fachprüfung);
- mit qualifizierter Berufserfahrung;
- mit einer Tätigkeit in einem Arbeitsfeld, in dem sie das Gelernte umsetzen können (Prinzip Transferorientierung).
Bewerberinnen und Bewerber, die über vergleichbare Abschlüsse und entsprechende Berufserfahrung verfügen, können auf Basis einer individuellen Prüfung des Dossiers aufgenommen werden.
Abschlusskompetenzen
Nach Abschluss dieses Kurses
- verfügen Sie über vertiefte Kenntnisse im Bereich des Full-Stack Software Engineerings;
- können Sie komplexe Softwareprojekte effizient umsetzen;
- sind Sie qualifiziert für fortgeschrittene Rollen wie Full-Stack Developer, Software Architect, Technical Lead oder DevOps Engineer;
- besitzen Sie eine solide Basis für weiterführende Spezialisierungen in Cloud Computing, Microservices, Big Data oder KI-gestützter Softwareentwicklung.
Kursleitung
Stefan Kapferer
IFS Institut für Software Dozent für Software Engineering, Studienleiter MAS Software Engineering
+41 58 257 16 87 stefan.kapferer@ost.ch

Prof. Dr. Farhad D. Mehta
IFS Institut für Software Professor in Computer Science for Programming Languages and Software Engineering
+41 58 257 46 16 farhad.mehta@ost.ch

Studienkoordination
Olivia Rüedi
WBO Weiterbildungsorganisation TL Administration / Stv. Leiterin WBO OST
+41 58 257 12 01 olivia.rueedi@ost.ch
