Design Patterns & System Design

collapse

Course Details

  • Location: Online
  • Duration: 9 weeks
  • Times: Evenings
  • Cost : $1,318

Next Start Date:

July 9, 2024

This course is part of a certificate program. You can also take it without enrolling in the program.

Get Details & Apply

About this Course


In software engineering, a software design pattern is a general, reusable solution to a commonly occurring problem. This course aims to arm students with the software design skills required to produce real-world, extensible, performant and scalable software systems.  

Starting with an introduction to code design patterns such as Factory, Singleton and Adapter, this course exposes students to the SOLID design principles used to build extensible designs efficiently. We’ll explore common system design components such as databases, caching and different kinds of architectural patterns, and then dive deeper into the techniques used to scale software systems like database sharding, distributed transactions, load balancing and asynchronous communication. By the end of the course, you’ll be familiar with the critical aspects of software architecture. 

See Requirements

What You'll Learn

  • Ways to apply software design principles and design patterns to build components of a software application
  • How to define system architecture and concepts
  • Techniques for answering and solving common system design interview problems
  • Experience with the latest specialized design paradigms
  • How and when to choose between relational and non-relational databases 

Get Hands-On Experience 

You'll design an individual software component and then build the architecture of a larger system that includes the interactions between multiple components.

digital badge example

EARN A DIGITAL BADGE

After successfully completing this course, you can claim a digital achievement badge. Learn about digital badges.

Program Overview

This course is part of the Certificate in Software Development & Design Essentials.

Learning Format

Online With Real-Time Meetings

Online With Real-Time Meetings

Combine the convenience of online learning with the immediacy of real-time interaction. You’ll stream courses online and interact with your instructors and fellow students via video conferencing or chat, both in real time. Learn More »

Course Sessions

Online With Real-Time Meetings

Online

Meet your instructor

Pawan Gupta

Software Development Manager, Amazon Ads

NONCREDIT COURSE

You'll earn 3 continuing education units (CEUs) for successfully completing this course. Learn more about noncredit options.

  Get our email newsletter with career tips, event invites and upcoming program info.       Sign Up Now