Software Design

Software Design is a process of defining the architecture, components, interfaces, and other characteristics of a software system. Coursera's Software Design catalogue helps you to understand and apply design principles to create an effective, maintainable, and scalable software system. You'll learn about various design patterns, interface designs, user experience considerations, system architectures, and managing design complexity. You'll also gain insights into how to effectively communicate and document design decisions, and the impacts of those decisions on software quality and performance. Whether you are a seasoned software engineer, a developer looking to advance your design skills, or someone transitioning into the field, mastering these design elements can help you create high-quality software products.
48credentials
148courses

Most popular

Trending now

New releases

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

Explore the Software Design Course Catalog

  • Status: Free Trial

    Skills you'll gain: Software Design Patterns, Software Design, Software Quality Assurance, Software Engineering, Application Security, Object Oriented Design, Software Architecture, Software Quality (SQA/SQC), Development Testing, Threat Modeling, Maintainability, Code Review, Software Testing, Continuous Integration, CI/CD, Software Technical Review, Software Documentation, Version Control

  • Skills you'll gain: Software Development Methodologies, Systems Development Life Cycle, Program Development, Software Engineering, Software Development, Requirements Analysis, Usability, Human Centered Design, User Research, Systems Development, Software Design, User Story, User Experience Design, LLM Application, UI/UX Research, Software Development Tools, User Centered Design, AI Product Strategy, Artificial Intelligence, Generative AI

  • Skills you'll gain: Unified Modeling Language, Software Design Patterns, C++ (Programming Language), Software Architecture, Object Oriented Design, Software Design, Object Oriented Programming (OOP), Maintainability, Programming Principles

  • Status: Preview

    University of Washington

    Skills you'll gain: Other Programming Languages, Software Design, Ruby (Programming Language), Programming Principles, Data Structures, Software Architecture, Computer Programming, Functional Design, Debugging

  • Status: New
    Status: Free Trial

    Skills you'll gain: Software Development Methodologies, Development Environment, Software Development, Application Programming Interface (API), Version Control, Software Design Patterns, JSON, Software Design, Network Engineering, Restful API, Virtualization and Virtual Machines, Web Applications, TCP/IP, YAML, Extensible Markup Language (XML), Authentications

  • Status: Free Trial

    Skills you'll gain: Systems Thinking, Software Visualization, Software Engineering, Object Oriented Programming (OOP), Application Design, Software Development Life Cycle, Software Design, Systems Development, Software Development, Business Architecture, Business Risk Management, User Centered Design, Process Design

  • Skills you'll gain: Software Design Patterns, Software Design, C++ (Programming Language), Software Architecture, Programming Principles, Object Oriented Programming (OOP), Maintainability, Prototyping, Database Application

  • Status: Free Trial

    Skills you'll gain: Service Level, Software Engineering, Software Architecture, Distributed Computing, Data Architecture, Microservices, Software Development, Transaction Processing, Software Design, Test Driven Development (TDD), Blockchain, Big Data, Database Systems, Data Structures, System Monitoring, Databases

  • Status: Preview

    Skills you'll gain: Internet Of Things, Wireless Networks, Software Design, Application Design, Emerging Technologies, System Design and Implementation, General Networking, Cloud Applications, Systems Architecture, Hardware Architecture, Data Security, User Centered Design, Prototyping, Information Privacy, Open Source Technology, Scalability

  • Status: Free Trial

    Skills you'll gain: Object Oriented Design, Object Oriented Programming (OOP), Software Design Patterns, Unified Modeling Language, Software Design, Java Programming, Software Architecture, Application Design, User Interface and User Experience (UI/UX) Design, API Design, Data Modeling, Artificial Intelligence

  • Status: Free Trial

    Skills you'll gain: Unified Modeling Language, Software Design, Image Analysis, Python Programming, Jupyter, Software Engineering, Application Programming Interface (API), Object Oriented Programming (OOP), Computer Vision, Integrated Development Environments, Computer Programming

  • Skills you'll gain: Systems Analysis, Communication Systems, Verification And Validation, Systems Design, Data Modeling, Programming Principles, Software Design, Software Architecture, Network Protocols, Algorithms

What brings you to Coursera today?

Leading partners

  • Packt
  • EDUCBA
  • University of Colorado Boulder
  • Duke University
  • IBM
  • LearnQuest
  • SkillUp
  • University of Colorado System