Software Engineering: Modern principles, proven patterns and practical strategies for sustainable software quality and scalable architectures (CS&CE)

TitelZeitOrtDozent
Software Engineering: Modern principles, proven patterns and practical strategies for sustainable software quality and scalable architectures (CS+CE)17.11.2025 09:00 - 16:00 (Mo)onlineGunnar Bless
Software Engineering: Modern principles, proven patterns and practical strategies for sustainable software quality and scalable architectures (CS+CE)18.11.2025 09:00 - 16:00 (Di)onlineGunnar Bless
Keywords: 
Software Engineering, Software Design, Architecture, System Design, Scalability, Development Practices, Quality Assurance, Code Quality, Coding standards
Beschreibung Kursinhalt: 

The course teaches the central principles, patterns and methods for sustainable, scalable and high-quality software design and architecture in order to design, evaluate and continuously improve future-proof, high-performance and maintainable software systems

Lernziele: 

Software Design & Architecture 

•      Software Design Principles

o     SOLID principles and design patterns

o     Clean code practices and refactoring

o     Code smells and technical debt management

o     Design by contract and defensive programming

o     Separation of concerns and modularity

•      Software Architecture Patterns

o     Layered and hexagonal architecture o Microservices vs monolithic design

o     Event-driven and message-oriented architecture o Domain-driven design (DDD) principles

o     CQRS and event sourcing patterns

•      System Design & Scalability 

o     Scalability patterns and load balancing

o     Caching strategies and data partitioning

o     Database design and normalization

o     CAP theorem and distributed systems

o     Performance optimization techniques

•      API Design & Integration 

o     RESTful API design principles

o     GraphQL and API versioning strategies

o     Service contracts and API documentation

o     Integration patterns and middleware

o     Error handling and resilience patterns

Development Practices & Quality Assurance 

•      Testing Strategies 

o     Test-driven development (TDD) and BDD

o     Unit, integration, and end-to-end testing

o     Test automation and continuous testing

o     Mock objects and test doubles

•      Code Quality & Review 

o     Static analysis and code metrics

o     Peer review processes and tools

o     Coding standards and style guides

o     Documentation and knowledge sharing

 

•      Version Control & Collaboration

o     Git workflows and branching strategies

o     Code collaboration and conflict resolution

o     Release management and semantic versioning

o     Open source contribution practices

•      Performance & Optimization 

o     Profiling and performance monitoring

o     Memory management and optimization

o     Database query optimization

o     Caching and content delivery networks

o     Scalability testing and capacity planning 

Lehrmethoden: 

Practical work on the PC/ discussion of questions and tasks/ lecture

Der Kurs ist für Promovierende in folgender Phase geeignet: 

Beginning of/ Halfway through the doctorate 

Teilnahmevoraussetzungen: 

Programming experience with e.g. Python, C++ or Matlab. You will work with Python during the course

This course is intended as a subject-specific course only for doctoral candidates of CS&CE. Other doctoral candidates of the CIT can later enter it as a transferable skills course

Technische Voraussetzungen: 

Laptop/PC with web access, participants will receive information on the required software before the seminar

Kursvorbereitung: 

None necessary

Sonstige Informationen: 

Before the seminar, we conduct a short survey among the participants to clarify prior knowledge and expectations.

You need to take part in at least 80% of the course to have it approved for your qualification program.

Kategorie: 
Fachspezifische Veranstaltung
Art der Veranstaltung: 
Seminar/Workshop
Veranstalter: 
Graduate Center of Computation, Information and Technology
Verantwortung für Veranstaltung: 
Hauptverantwortung
Durchführung/Format: 
Digital/Online
Sprache: 
EN
Maximale Teilnehmendenzahl: 
12
Minimale Teilnehmendenzahl: 
5
Umfang in Stunden: 
12
Kosten: 
free of charge
Trainer: 
Gunnar Bless

Gunnar Bless, graduate physicist, has extensive experience as a trainer. For almost two decades, he has conducted exciting and captivating training courses in the fields of software engineering, data science and programming. He is a speaker at various professional conferences and is also active as a technical book author.