Online Courses Software Engineering

Software has become a central differentiator for almost all products, whether they are used industrially or by consumers, and can revolutionize entire industries. Choosing the right software architecture can determine the competitiveness of a company for years to come. Specialists who master software engineering are urgently needed. They have to master a wide range of skills, especially interdisciplinary cooperation with other areas of expertise. They must understand the requirements of customers and users, design architectures, and roadmaps that will meet future demands. Software engineering has developed architectural styles and design patterns that a software engineer must know, and this knowledge is increasingly vital for a company to survive. Our online courses on software engineering introduce the most important architecture styles, software design patterns, and testing patterns. We guide you through basics, typical problems, and discuss reusable solutions.

The curriculum is continuously being expanded and is developed in particular with Prof. Brügge, Chair for Applied Software Engineering at the TU Munich.

Prof. Dr. Bernd Brügge

Bernd Brügge is computer science professor with a chair for Applied Software Engineering at the Technische Universität München and adjunct professor at Carnegie Mellon University. His research interests include software architectures for dynamic systems, agile software development processes, and software engineering education. He received a PhD in computer science from Carnegie Mellon University.

Dr. Lukas Alperowitz

Postdoctoral Researcher, Technische Universität München

  • Patterns in Software Engineering

    • EN
    • 2 Chapters
    • approx. 1.5h

    Pattern-based development is one of the fundamental skills a software developer should have. A lot of people can code but having patterns in mind and being able to understand when these patterns are used will allow you to become a talented software engineer. With pattern-based development, what you produce can be used and reused, extended, and scaled well into the future because other developers can understand it. In Patterns in Software Engineering, you will learn a common dictionary for crafting software components. Applying patterns is beneficial for everyone who works with your code. This course was produced with experts from TU Munich.

    To Course
  • Dependency Injection

    • EN
    • 1 Chapter
    • approx. 2h

    Before you can become an expert of pattern-based software, you need to know the most important patterns by heart. Dependency injection is an important pattern to make code ready for change. In Dependency Injection, you will get to know how dependency injection is used and implemented with two coding Challenges to consolidate your knowledge. This course was produced with experts from TU Munich.

    To Course

Natascha Wechselberger

As a newly qualified physicist, Natascha came on board in 2017 and since then she has been creating content in machine learning, blockchain, and software engineering. Her passion for models and complex systems and her penchant for practical relevance aroused her interest in applied software engineering.

Free learning content

Here you can discover some of our learning content and get to know our courses.

Discover now