Search⌘ K

Prerequisites, the Approach, and Learning Outcomes

Explore the essential prerequisites and course approach for mastering software design and architectural patterns in C++. Learn what skills you need before starting, understand how practical coding examples and diagrams aid learning, and discover the key outcomes you will achieve, such as applying design principles and improving maintainability, reusability, and scalability in your software projects.

Prerequisites

Welcome aboard! Before starting this course on design and architectural patterns, you need to have an understanding of these programming concepts:

  • Advanced C++
  • Object-oriented programming

Our approach

We’re using a practical approach in this course. We include a coding example with every pattern. In the design patterns, we explain scenarios without the design pattern applied and discuss the issue in the design. Then, we show how a specific design will solve the issue. Finally, we’ve added diagrams to help illustrate the different concepts.

Along with the lessons, we have assessments in the form of quizzes and challenges so you can test your understanding.

Course learning outcomes

Let’s take a look at the outcomes of this course. Upon the completion of this course, you should:

  • Understand design principles and their usage in different scenarios.
  • Understand how the idioms and architectural/concurrency patterns can increase maintainability, reusability, and scalability.