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.
47credentials
2online degrees
156courses

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.
Earn your Bachelor’s or Master’s degree online for a fraction of the cost of in-person learning.

Level
Required

Duration
Required

Subtitles
Required

Educator
Required

Explore the Software Design Course Catalog

  • Status: New
    Status: Free Trial

    Skills you'll gain: Microservices, Scalability, Software Architecture, CI/CD, Continuous Deployment, API Gateway, Systems Architecture, Containerization, Software Design, Serverless Computing, Application Design, Solution Architecture, Continuous Integration, Docker (Software), Software Design Patterns, Systems Design, Kubernetes, Service Oriented Architecture, Event-Driven Programming, Data Management

  • Status: New
    Status: Free Trial

    Skills you'll gain: Software Quality Assurance, Software Development Life Cycle, Quality Assurance, Software Documentation, Functional Testing, Software Testing, Acceptance Testing, User Acceptance Testing (UAT), Test Case, Maintainability, Verification And Validation, Unit Testing, Software Design, System Testing, Integration Testing, Waterfall Methodology, Agile Methodology, Regression Testing

  • Status: Free Trial

    Skills you'll gain: Prompt Engineering, Large Language Modeling, Database Design, LLM Application, Software Documentation, Software Design Patterns, Databases, Test Automation, Collaborative Software, Software Testing, Application Design, Technical Documentation, Generative AI, Database Management, Software Design, Code Review, Software Architecture, Software Engineering, Software Development, Machine Learning

  • Status: Free Trial

    Skills you'll gain: Software Development Life Cycle, User Story, Software Architecture, Agile Software Development, Sprint Retrospectives, Agile Methodology, DevOps, Kanban Principles, Software Design, Scrum (Software Development), Information Technology, Computer Hardware, Sprint Planning, Software Development Methodologies, Backlogs, Agile Project Management, Team Building, Risk Management, Leadership, Communication

  • Status: Free Trial

    University of Michigan

    Skills you'll gain: Unified Modeling Language, JSON, Object Oriented Programming (OOP), Software Design, Debugging, Object Oriented Design, Data Processing, Web Scraping, Unit Testing, Programming Principles, Python Programming, Data Import/Export, Restful API, Image Analysis, Data Manipulation, Jupyter, Computer Programming, Data Structures, Software Engineering, File Management

  • Skills you'll gain: Software Configuration Management, Embedded Software, Embedded Systems, Git (Version Control System), Version Control, Build Tools, Software Development Tools, C (Programming Language), Development Environment, Program Development, Software Design, Hardware Architecture, Debugging, Command-Line Interface

  • Status: New
    Status: Free Trial

    University of Colorado Boulder

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

  • Status: Free Trial

    University of Colorado System

    Skills you'll gain: Unified Modeling Language, Unit Testing, Software Design, Technical Design, Object Oriented Design, Software Engineering, Software Development Tools, JUnit, Systems Design, Data Ethics, Test Automation, Software Architecture, Software Development Methodologies, Dataflow

  • Status: Free Trial

    Skills you'll gain: Software Design, Software Development Life Cycle, Application Security, Technical Design, Software Architecture, Software Development Methodologies, Conceptual Design, Requirements Analysis

  • Status: Free Trial

    Skills you'll gain: Software Development Life Cycle, Linux Commands, Software Architecture, Bash (Scripting Language), Restful API, Shell Script, Git (Version Control System), GitHub, Flask (Web Framework), Software Design, Version Control, File Management, Application Deployment, Linux, Software Development Methodologies, Software Design Patterns, Data Import/Export, Programming Principles, Web Scraping, Python Programming

  • Status: New
    Status: Free Trial

    Skills you'll gain: API Design, Application Programming Interface (API), Postman API Platform, Restful API, Application Deployment, CI/CD, Application Lifecycle Management, Test Automation, Unit Testing, Software Documentation, Software Design, Microservices, Technical Documentation

  • Status: Free Trial

    University of Colorado System

    Skills you'll gain: Database Design, Software Design, User Interface and User Experience (UI/UX) Design, Usability Testing, Software Architecture, Software Design Patterns, Database Management, Systems Design, Application Security, Design Strategies, Operating Systems