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

    Skills you'll gain: Embedded Software, Real-Time Operating Systems, Software Development, Software Design, Software Architecture, Embedded Systems, Configuration Management, Systems Architecture, Application Development, System Configuration, Application Frameworks

  • Status: Free Trial

    Universidad Austral

    Skills you'll gain: Software Documentation, Object Oriented Design, Unified Modeling Language, Relational Databases, Object-Relational Mapping, Software Design, Test Driven Development (TDD), Database Management, Unit Testing, Object Oriented Programming (OOP), Database Design, SQL, Debugging, Data Structures, Python Programming, JSON, File Management, Computer Programming, Programming Principles, Software Installation

  • Status: New
    Status: Free Trial

    Skills you'll gain: Pandas (Python Package), NumPy, Data Manipulation, Data Wrangling, Package and Software Management, Data Analysis, Data Transformation, Unstructured Data, JSON, Object Oriented Programming (OOP), Data Science, Python Programming, Computer Programming, Programming Principles, Data Import/Export, Software Design, Data Validation, Mathematical Software, Computational Logic, Data Structures

  • Status: Free Trial

    University of Colorado Boulder

    Skills you'll gain: Real-Time Operating Systems, Embedded Systems, Embedded Software, Hardware Architecture, Electronic Systems, Performance Tuning, Systems Architecture, Software Architecture, Verification And Validation, System Programming, Debugging, Real Time Data, System Design and Implementation, Software Technical Review, Systems Engineering, Operating Systems, Software Design, System Software, Systems Design, Software Systems

  • Status: Free Trial

    University of California, Irvine

    Skills you'll gain: Test Planning, Embedded Software, Embedded Systems, Functional Requirement, Systems Design, System Requirements, System Design and Implementation, Software Design, Prototyping, Technical Design, Conceptual Design, Python Programming

  • Status: Preview

    École Polytechnique Fédérale de Lausanne

    Skills you'll gain: Object Oriented Programming (OOP), Java Programming, Java, Computer Programming, Software Design

  • Status: Free Trial

    University of California, Irvine

    Skills you'll gain: Go (Programming Language), Object Oriented Programming (OOP), Functional Design, Data Structures, Software Design, Debugging

  • Status: Preview

    Skills you'll gain: Model View Controller, Unified Modeling Language, Object Oriented Programming (OOP), Software Design Patterns, Software Design, Java Programming, Computer Programming, Debugging, Software Architecture, Programming Principles, Other Programming Languages, Prototyping

  • Status: Free Trial

    Skills you'll gain: Cross-Functional Team Leadership, Technical Product Management, Engineering Management, Product Management, Team Leadership, Artificial Intelligence and Machine Learning (AI/ML), User Experience Design, Design, Software Design, Interviewing Skills, Deep Learning, Technical Communication

  • Status: Free Trial

    Skills you'll gain: Software Documentation, Object Oriented Design, Unified Modeling Language, Software Design, Test Driven Development (TDD), Unit Testing, Object Oriented Programming (OOP), Programming Principles, Software Testing, Software Quality (SQA/SQC), Software Development, Computer Programming, Python Programming

  • Status: Free Trial

    Skills you'll gain: Android Development, Mobile Development, Software Design, User Interface (UI) Design, Java Programming, Data Sharing, Database Management, Service Management

What brings you to Coursera today?

Leading partners

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