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.
50credentials
1online degree
160courses

Explore the Software Design Course Catalog

  • Status: Free Trial

    LearnQuest

    Skills you'll gain: Java Programming, Spring Framework, Java, Eclipse (Software), Object Oriented Programming (OOP), Object Oriented Design, Integrated Development Environments, Development Environment, Java Platform Enterprise Edition (J2EE), Software Design, Software Installation, Computer Programming, Programming Principles, Program Development, Virtual Machines, Web Development, Debugging, Package and Software Management, Data Structures, File Management

  • Status: Free Trial

    Pontificia Universidad Católica del Perú

    Skills you'll gain: User Story, Human Computer Interaction, Software Development Life Cycle, Functional Requirement, Unified Modeling Language, User Experience Design, Requirements Analysis, Prototyping, Usability, User Experience, User Interface (UI) Design, User Requirements Documents, System Requirements, Interaction Design, User Centered Design, Human Factors, User Research, Software Design, Software Engineering, Systems Development

  • 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

  • Status: New

    Skills you'll gain: Software Design

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

    Vanderbilt University

    Skills you'll gain: Git (Version Control System), JUnit, Android Studio, Android Development, Unit Testing, Maintainability, Software Design Patterns, Test Automation, Object Oriented Programming (OOP), Integration Testing, Test Driven Development (TDD), Mobile Development, Software Testing, Testability, Software Engineering, System Testing, Java Programming, Java, Application Security, Software Design

  • Status: Preview

    Skills you'll gain: Algorithms, Technical Communication, Pseudocode, Computational Thinking, Solution Design, Programming Principles, Software Design, Theoretical Computer Science, Data Structures, Mathematical Modeling, Applied Mathematics, Computer Science

  • Status: Free Trial

    University of Alberta

    Skills you'll gain: Software Architecture, Unified Modeling Language, Systems Architecture, Software Design, Software Design Documents, Software Visualization, Solution Architecture, Software Development, Software Documentation, Software Design Patterns, Enterprise Architecture, Maintainability, Scalability, Databases

  • Status: Free Trial

    Skills you'll gain: Version Control, Debugging, Software Design Patterns, Object Oriented Design, Object Oriented Programming (OOP), Software Development, Git (Version Control System), Programming Principles, Software Design, Computer Programming, Software Engineering, Integrated Development Environments, Command-Line Interface

  • Status: Preview

    Skills you'll gain: Computer Architecture, Computer Engineering, Computer Hardware, Computational Logic, Computer Programming, System Design and Implementation, Software Design, Debugging, Computer Programming Tools, Verification And Validation, Data Storage

Most popular

Trending now

New releases

What brings you to Coursera today?

Leading partners

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