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

TitleTimeRoomTeacher
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 (Mon)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 (Tue)onlineGunnar Bless
Keywords: 
Software Engineering, Software Design, Architecture, System Design, Scalability, Development Practices, Quality Assurance, Code Quality, Coding standards
Course Description: 

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

Course aims: 

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 

Teaching methods: 

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

This course fits doctoral candidates in the following phase: 

Beginning of/ Halfway through the doctorate 

Participation requirements: 

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

Technical requirements: 

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

Course preparation: 

None necessary

Additional information: 

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.

Category: 
Fachspezifische Veranstaltung
Event type: 
Seminar/Workshop
Organizer: 
Graduate Center of Computation, Information and Technology
Responsibility for event: 
Hauptverantwortung
Format: 
Digital/Online
Course Language: 
EN
Course Capacity (Max): 
12
Course capacity (Min): 
5
Duration in hours: 
12
Financial contribution: 
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.