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

    Birla Institute of Technology & Science, Pilani

    Skills you'll gain: Algorithms, Computational Thinking, Programming Principles, Data Storage Technologies, Problem Solving, Software Design, Data Manipulation, C and C++, Complex Problem Solving, Analysis

  • Status: Free Trial

    Skills you'll gain: Debugging, Programming Principles, Maintainability, Software Testing, Program Development, C (Programming Language), Algorithms, Pseudocode, Simulations, System Programming, Computer Programming, Data Structures, Software Development, Software Engineering, Command-Line Interface, Operating Systems, Development Environment, User Interface (UI), Problem Solving, Software Design

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

    Skills you'll gain: Figma (Design Software), Software Design Documents, Technical Documentation, User Interface and User Experience (UI/UX) Design, Software Design, Prototyping, Technical Communication, Style Guides, UI Components

  • Status: Free Trial

    Skills you'll gain: Object Oriented Design, Object Oriented Programming (OOP), Unified Modeling Language, JUnit, Software Testing, Software Engineering, Java, Java Programming, Unit Testing, Program Development, Software Design, Application Design, Test Driven Development (TDD)

  • Status: Free Trial

    Pontificia Universidad Católica del Perú

    Skills you'll gain: Software Development Life Cycle, Unified Modeling Language, Software Design, Software Engineering, Systems Development, Software Development, Waterfall Methodology, Requirements Analysis

  • Status: Free Trial

    University of Alberta

    Skills you'll gain: Software Architecture, Unified Modeling Language, Systems Architecture, Software Design, Software Visualization, Software Systems, Software Development, Software Documentation, Software Design Patterns, Enterprise Architecture, Software Technical Review, Maintainability, Application Deployment, Scalability

  • Status: New
    Status: Free Trial

    Skills you'll gain: Prompt Engineering, Anthropic Claude, Multimodal Prompts, Version Control, Generative AI Agents, Git (Version Control System), Generative AI, Software Quality Assurance, Software Development, Mockups, Test Automation, Software Documentation, Artificial Intelligence, Software Development Life Cycle, Software Architecture, Automation, Software Testing, Software Design, Software Development Methodologies

  • Status: Free Trial

    Skills you'll gain: Unreal Engine, User Interface (UI), User Interface (UI) Design, UI Components, Game Design, Video Game Development, Software Design, User Experience, Usability, Programming Principles, Mockups, Prototyping

  • Status: Free Trial

    Skills you'll gain: Object Oriented Design, JUnit, Object Oriented Programming (OOP), Software Design Patterns, Java, Unified Modeling Language, Software Design, Java Programming, Software Architecture, Model View Controller, Conceptual Design

What brings you to Coursera today?

Leading partners

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