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

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

  • Status: Free Trial

    Peking University

    Skills you'll gain: Data Structures, Algorithms, C++ (Programming Language), Object Oriented Programming (OOP), C (Programming Language), Computational Thinking, Graph Theory, Programming Principles, Theoretical Computer Science, Program Development, Computer Programming, Data Storage, Application Development, Computer Science, Computer Architecture, Software Design, Database Systems, Maintainability, Computer Hardware, Software Engineering

  • Status: Preview

    École Polytechnique Fédérale de Lausanne

    Skills you'll gain: Scala Programming, Scalability, Distributed Computing, Event-Driven Programming, Microservices, Software Architecture, Software Design, Middleware, Cloud Computing, Data Structures

  • Status: Free Trial

    University of California, Davis

    Skills you'll gain: Threat Modeling, Open Web Application Security Project (OWASP), Secure Coding, Cryptography, Exploit development, Authentications, Encryption, Penetration Testing, Vulnerability Assessments, Data Security, Application Security, Security Controls, Vulnerability Management, Security Testing, Software Design, C and C++, Verification And Validation, Java, Programming Principles, Cybersecurity

  • Status: Free Trial

    University of Michigan

    Skills you'll gain: C (Programming Language), C++ (Programming Language), Object Oriented Programming (OOP), Data Structures, Programming Principles, Algorithms, Computer Programming, Software Design, Application Security, Other Programming Languages, Python Programming, System Programming, Computer Architecture, Java, Performance Tuning, Unix, Computer Science, Debugging

  • Status: Free Trial

    University of Colorado System

    Skills you'll gain: Unity Engine, Video Game Development, C# (Programming Language), Game Design, Object Oriented Programming (OOP), Application Design, Computational Thinking, Software Design, Programming Principles, Application Development

  • Status: Free Trial

    University of California, Davis

    Skills you'll gain: Secure Coding, Application Security, Software Design, Programming Principles, Debugging, Vulnerability Assessments, C (Programming Language), Software Development Methodologies

  • 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

  • Status: Free Trial

    Peking University

    Skills you'll gain: C++ (Programming Language), Object Oriented Programming (OOP), Programming Principles, C (Programming Language), Algorithms, Maintainability, Data Structures, Software Design, Scalability

  • Status: Free Trial

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

  • Status: Free Trial

    Northeastern University

    Skills you'll gain: Systems Thinking, Software Visualization, Object Oriented Design, Software Engineering, Object Oriented Programming (OOP), Application Design, Web Applications, Software Development Life Cycle, Case Studies, Data Modeling, Systems Development, Software Development, Business Architecture, Business Risk Management, Python Programming, User Centered Design, Software Design, Application Development, Computer Programming, Development Environment

  • Status: Free Trial

    University of California San Diego

    Skills you'll gain: Graph Theory, Data Structures, Java Programming, Java, Object Oriented Design, Software Design, Algorithms, Object Oriented Programming (OOP), Network Routing, Computational Thinking, Application Development, Debugging

What brings you to Coursera today?

Leading partners

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