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.
51credentials
1online degree
154courses

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: 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: New
    Status: Free Trial

    Skills you'll gain: Spring Framework, Web Applications, Java Platform Enterprise Edition (J2EE), Java, Object Oriented Design, Back-End Web Development, Authentications, Application Development, Software Design, Database Design, Model View Controller, Databases

  • Status: Free Trial

    Skills you'll gain: Unit Testing, Data Structures, Event-Driven Programming, Interactive Data Visualization, Java, Java Programming, User Interface (UI), Object Oriented Programming (OOP), Debugging, Object Oriented Design, Computer Programming, Cryptography, Software Engineering, Performance Tuning, Encryption, Algorithms, Programming Principles, Data Analysis, Software Design, Problem Solving

  • Status: Free Trial

    Skills you'll gain: Bootstrap (Front-End Framework), Software Development Life Cycle, Cloud-Native Computing, Software Architecture, Browser Compatibility, React Redux, Cloud Applications, Responsive Web Design, NoSQL, Git (Version Control System), GitHub, Webpack, Application Development, MongoDB, Agile Methodology, Software Design, Hypertext Markup Language (HTML), HTML and CSS, User Experience Design, Engineering Software

  • Status: New
    Status: Free Trial

    Skills you'll gain: Event-Driven Programming, Computer Graphics, Application Development, Software Design, C++ (Programming Language), Microsoft Windows, Maintainability, Software Architecture, Application Lifecycle Management, System Configuration, Performance Tuning

  • Status: New
    Status: Free Trial

    Skills you'll gain: Fraud detection, Web Services, Simple Object Access Protocol (SOAP), Test Tools, Service Oriented Architecture, Process Design, API Design, Software Design, Workflow Management, System Testing, Extensible Markup Language (XML), Data Validation, Software Testing, Business Logic

  • 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

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

    Skills you'll gain: Software Design, Programming Principles

  • Status: Free Trial

    University of Michigan

    Skills you'll gain: Object Oriented Programming (OOP), Animation and Game Design, Interactive Data Visualization, Software Design, Technical Design, Data Structures, Visualization (Computer Graphics), Interactive Design, Programming Principles, Graphic and Visual Design, Python Programming, Generative AI, Simulations, Computer Graphics, Design, Computational Logic, Computer Programming, Creative Design, Data Import/Export, Computational Thinking

  • Status: Preview

    Skills you'll gain: Clinical Trials, Software Development Life Cycle, Medical Devices, Usability, Software Development, Medical Privacy, Human Computer Interaction, Regulatory Affairs, Verification And Validation, Regulatory Requirements, Quality Management Systems, Biomedical Engineering, Risk Management, Software Design, Health Technology, Software Testing, Entrepreneurship, Artificial Intelligence and Machine Learning (AI/ML), User Research, Probability & Statistics

  • Status: New
    Status: Free Trial

    Skills you'll gain: Software Architecture, Code Review, Unit Testing, Software Design, LLM Application, Application Design, Prompt Engineering, Python Programming, Version Control, Java Programming