Search courses 👉
Professional Training

Software Engineering Essentials

edX, Online
Length
10 weeks
Next course start
Start anytime See details
Course delivery
Self-Paced Online
Length
10 weeks
Next course start
Start anytime See details
Course delivery
Self-Paced Online
Visit this course's homepage on the provider's site to learn more or book!

Course description

Software Engineering Essentials

The world of software engineering requires high flexibility, an influx of new ideas, and the courage to challenge traditional approaches. As a software engineer, you need to know the methods, workflows and tools to handle continuously growing complexity and shortened development cycles. You must be able to work in teams to build high-quality software.

In this course, we will introduce the basic concepts of object-oriented software engineering. You will learn and apply UML modeling, patterns and project management techniques that are used when developing complex software systems.

This course is interactive. You will watch videos in which we explain critical theory. You will participate in online exercises to practice your knowledge including quizzes, UML modeling with peer reviews, and programming exercises with immediate feedback.

Upcoming start dates

1 start date available

Start anytime

  • Self-Paced Online
  • Online
  • English

Suitability - Who should attend?

Prerequisites:

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

Outcome / Qualification etc.

What you'll learn

  • Object-Oriented Programming
  • Agile Methods and Prototyping
  • Software Configuration Management
  • Unified Modeling Language (UML)
  • Project Management and Organization
  • Patterns for different phases of a software project

Training Course Content

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.

Course delivery details

This course is offered through Technische Universität München, a partner institute of EdX.

5–7 hours per week

Expenses

  • Verified Track -$49
  • Audit Track - Free
Ads