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: 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

  • Skills you'll gain: Jenkins, Selenium (Software), Apache Maven, CI/CD, Object Oriented Programming (OOP), JUnit, Java, Software Design Patterns, Test Automation, Software Testing, Maintainability, Test Tools, Test Case, Browser Compatibility, Software Design

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

  • 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 Design, Computational Logic, Algorithms, Computer Programming

  • Status: Free Trial

    University of Colorado System

    Skills you'll gain: Unity Engine, Debugging, Object Oriented Programming (OOP), Video Game Development, C# (Programming Language), Game Design, Software Design Patterns, Computer Programming, Data Management, Event-Driven Programming, Data Structures, Application Design, Computational Thinking, Data Storage, Application Development, Software Design, Programming Principles, Program Development, UI Components, Scripting

  • Status: Preview

    Skills you'll gain: Computer Science, Computer Engineering, Computer Architecture, Computer Programming, System Programming, Virtual Machines, Operating Systems, Software Architecture, Algorithms, Software Design, Program Development, Object Oriented Programming (OOP), Data Structures, Computer Graphics

  • Status: Free Trial

    University of California, Santa Cruz

    Skills you'll gain: C++ (Programming Language), Go (Programming Language), Data Structures, C and C++, Object Oriented Programming (OOP), Software Design Patterns, Debugging, Computer Programming, Unit Testing, Algorithms, C (Programming Language), Programming Principles, Integrated Development Environments, Graph Theory, Computer Science, File Systems, Artificial Intelligence, Integration Testing, Software Design, Game Design

  • Status: Free Trial

    University of California, Irvine

    Skills you'll gain: Go (Programming Language), Object Oriented Programming (OOP), Algorithms, JSON, Programming Principles, OS Process Management, Functional Design, Data Structures, System Programming, Development Environment, Software Design, Remote Access Systems, Operating Systems, File Management, Program Development, Software Development Tools, Debugging, Computer Architecture

  • Status: Preview

    Skills you'll gain: Object Oriented Design, Systems Analysis, Object Oriented Programming (OOP), Unified Modeling Language, Systems Design, Software Development Methodologies, Software Engineering, Software Design, Software Development, Software Architecture, Requirements Analysis, Systems Development Life Cycle, Human Computer Interaction

  • Status: Free Trial

    Skills you'll gain: Software Design, Java, Java Programming, Object Oriented Programming (OOP), Data Processing, Data Analysis, Data Structures, Algorithms, Hypertext Markup Language (HTML)

  • Status: New
    Status: Free Trial

    Skills you'll gain: Object Oriented Programming (OOP), Java, Java Programming, Maintainability, Software Design, Data Storage Technologies, Program Development, Application Development, Data Structures, File Management

What brings you to Coursera today?

Leading partners

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