Software Design Patterns

Software Design Patterns are reusable solutions to recurring problems that software engineers encounter during software development. Coursera's Software Design Patterns catalogue teaches you the fundamental patterns in software engineering to optimize code readability, scalability, and maintainability. You will learn to identify and implement various types of design patterns such as Creational, Structural, and Behavioural, and understand how to leverage them in building robust software architectures. Gain an in-depth understanding of concepts like encapsulation, inheritance, polymorphism, and others to improve your software design skills and enhance your problem-solving capability in the software industry.

Filter by

Subject
Required

Language
Required

The language used throughout the course, in both instruction and assessments.

Learning Product
Required

Build job-relevant skills in under 2 hours with hands-on tutorials.
Learn from top instructors with graded assignments, videos, and discussion forums.
Learn a new tool or skill in an interactive, hands-on environment.
Get in-depth knowledge of a subject by completing a series of courses and projects.
Earn career credentials from industry leaders that demonstrate your expertise.
Earn career credentials while taking courses that count towards your Master’s degree.

Level
Required

Duration
Required

Subtitles
Required

Educator
Required

Hands-on Learning
Required

Tools
Required

Results for "Software Design Patterns"

  • University of Alberta

    Skills you'll gain: Software Architecture, Model View Controller, Unified Modeling Language, Object Oriented Design, Service Oriented Architecture, API Design, Systems Architecture, Web Services, Software Design Patterns, Software Design, Simple Object Access Protocol (SOAP), Microservices, Restful API, Software Design Documents, Software Visualization, Code Review, Product Family Engineering, Object Oriented Programming (OOP), Software Development, Java

  • University of Alberta

    Skills you'll gain: Model View Controller, Software Design Patterns, Software Design, Unified Modeling Language, Object Oriented Design, Code Review, Software Architecture, Programming Principles, Maintainability, Software Technical Review, Java Programming, System Design and Implementation, Java, Diagram Design, Object Oriented Programming (OOP), Code Reusability, Application Design

  • Skills you'll gain: Agentic Workflows, AI Orchestration, Model Context Protocol, Generative AI Agents, Agentic systems, Context Engineering, Prompt Engineering, LLM Application, LangChain, ChatGPT, Tool Calling, AI Integrations, Retrieval-Augmented Generation, Context Management, Software Architecture, Deep Learning, Interoperability, Software Design Patterns

  • DeepLearning.AI

    Skills you'll gain: Agentic Workflows, Model Context Protocol, Agentic systems, LLM Application, AI Workflows, AI Orchestration, Generative AI Agents, Tool Calling, Large Language Modeling, Prompt Engineering, Verification And Validation, Model Evaluation, Automation, Debugging, Python Programming, Software Design Patterns

  • Skills you'll gain: AI Workflows, AI Orchestration, Agentic systems, Agentic Workflows, Generative AI Agents, Artificial Intelligence and Machine Learning (AI/ML), Enterprise Architecture, Software Architecture, Systems Architecture, AI Security, Software Design Patterns, Artificial Intelligence, Retrieval-Augmented Generation, LangChain, Context Management, Authentications, Authorization (Computing), Prompt Engineering Tools

  • University of Minnesota

    Skills you'll gain: User Story, Agile Software Development, Software Design Patterns, Design Thinking, Software Development Methodologies, Software Design, Agile Methodology, Agile Project Management, Process Mapping, Software Engineering, Kanban Principles, Kaizen Methodology, Software Development Life Cycle, Agile Product Development, Application Security, Scrum (Software Development), Object Oriented Design, Software Architecture, Software Quality (SQA/SQC), Requirements Analysis

  • Skills you'll gain: Software Architecture, Software Design Patterns, Software Design, Systems Architecture, Microservices, Maintainability, Object Oriented Design, System Design and Implementation, Performance Tuning, Model View Controller, Application Design, Programming Principles, Scalability, Python Programming, Code Reusability, Object Oriented Programming (OOP)

  • The Hong Kong University of Science and Technology

    Skills you'll gain: Software Design Patterns, Requirements Analysis, White-Box Testing, Software Architecture, Acceptance Testing, Software Development Methodologies, Unified Modeling Language, Software Development Life Cycle, Configuration Management, Software Quality Assurance, Debugging, Software Quality (SQA/SQC), Software Engineering, Software Testing, Object Oriented Design, Functional Requirement, Data Modeling, Systems Design, Project Management, Project Planning

  • Skills you'll gain: Scalability, Software Design Patterns, Node.JS, Distributed Computing, Dataflow, Data Pipelines, Event-Driven Programming, Object Oriented Design, Software Design, Software Architecture, Performance Tuning, Live Streaming, Real Time Data, Systems Architecture, File I/O, Javascript, Object Oriented Programming (OOP), Systems Design, Application Performance Management, Maintainability

  • University of Colorado Boulder

    Skills you'll gain: Object Oriented Design, JUnit, Object Oriented Programming (OOP), Unified Modeling Language, Software Design Patterns, Software Testing, Java, Software Engineering, Java Programming, User Interface and User Experience (UI/UX) Design, Unit Testing, Software Design, Software Architecture, API Design, Model View Controller, Software Development, Test Driven Development (TDD), Programming Principles, Conceptual Design, Databases

  • Birla Institute of Technology & Science, Pilani

    Skills you'll gain: Object Oriented Design, Software Architecture, Software Design, Software Design Patterns, Object Oriented Programming (OOP), Software Development Life Cycle, Software Development, Software Engineering, Maintainability, Systems Architecture, Program Development, Service Oriented Architecture, Technical Design, Web Services, Model View Controller, Event-Driven Programming, User Interface (UI), Distributed Computing

  • Skills you'll gain: Cloud Computing Architecture, Cloud Infrastructure, Scalability, Cloud Computing, Software Architecture, Cloud Services, Cloud Deployment, Infrastructure As A Service (IaaS), Load Balancing, Serverless Computing, Software Design Patterns, Microservices, Event-Driven Programming