Software Engineering Essentials

Subtitles available
50 h
This content is rated 5 out of 5
  • From
More info
  • 10 Sequences
  • Intermediate Level
  • Subtitles in Spanish, French
  • Starts on November 14, 2020
  • Ends on February 14, 2021

Their employees are learning daily with Edflex

  • Safran
  • Air France
  • TotalEnergies
  • Generali
Learn more

Course details


The goal of the introduction is to make yourself familiar with the ideas we’ll explore in this course. Furthermore, we’ll conduct a small survey to get a sense for your existing knowledge.

Week 1: Project Organization and Management
In this week, you will learn the fundamentals of project organization and management, including agile methods.

Week 2: Software Configuration Management
We introduce the six main activates in software configuration management, namely: configuration item identification, promotion management, build- and release management, change management, branch management, and variant management.

Week 3: Object-Oriented Programming
Instruction of the four fundamental concepts of object-oriented programming: encapsulation, inheritance, polymorphism and abstraction.

Week 4: Requirements Analysis
Starting from a specific problem, we show you tools, techniques and modeling diagrams to transform the problem of your client into requirements towards the solution.

Week 5: System Design
Introduction of different activities during system design. We have a closer look at the topics design goals, subsystem decomposition and hardware/software mapping. We will also have a discussion on patterns and antipatterns (e.g. client-dispatcher-server, layer architecture, golden hammer, corncob).

Week 6: Object Design
During the phase of object design, you will prepare everything for your implementation. We will make use of inheritance and design patterns to achieve reusability (e.g. strategy and bridge pattern).

Week 7: Testing
Testing is fundamental knowledge of every software engineering. We will show you different types of testing (unit, system, integration & acceptance testing), give you hands-on examples and have a look at testing patterns, such as the mock object patterns and the concept of dependency injection.

Week 8: Build and Release Management
In this week, you will learn how developers package their code into builds and release the software to users and customers. We will explain the basic idea of continuous integration and continuous delivery.

Each week includes several problems that you should solve, including multiple choice quizzes, drag-and-drop exercises, as well as peer review problems you should assign to your fellow learners. Additionally, you will have to write source code in Java to given problems, for which you will receive immediate feedback to iteratively improve your solution.


Participating students must have basic knowledge in an object-oriented programming language, preferably Java.


Bernd Bruegge
Professor of Computer Science
Technische Universität München

Stephan Krusche
Scientific Researcher, Instructor
Technische Universität München

Andreas Seitz
Research Assistant, Instructor
Technische Universität München

Jan Knobloch
Researcher, Instructor
Technische Universität München


Technische Universität München


Harvard University, the Massachusetts Institute of Technology, and the University of California, Berkeley, are just some of the schools that you have at your fingertips with EdX. Through massive open online courses (MOOCs) from the world's best universities, you can develop your knowledge in literature, math, history, food and nutrition, and more. These online classes are taught by highly-regarded experts in the field. If you take a class on computer science through Harvard, you may be taught by David J. Malan, a senior lecturer on computer science at Harvard University for the School of Engineering and Applied Sciences. But there's not just one professor - you have access to the entire teaching staff, allowing you to receive feedback on assignments straight from the experts. Pursue a Verified Certificate to document your achievements and use your coursework for job and school applications, promotions, and more. EdX also works with top universities to conduct research, allowing them to learn more about learning. Using their findings, edX is able to provide students with the best and most effective courses, constantly enhancing the student experience.

This content is rated 5 out of 5
(no review)

What did you think of this course?

Complete this resource to write a review