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, Davis

    Skills you'll gain: Threat Modeling, Open Web Application Security Project (OWASP), Secure Coding, Cryptography, Authentications, Exploit development, Encryption, Penetration Testing, Vulnerability Assessments, Data Security, Application Security, Exploitation techniques, Security Controls, Vulnerability Management, 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: Preview

    Skills you'll gain: Unreal Engine, Game Design, Video Game Development, Software Design, HTML and CSS, User Interface (UI), Animations, Debugging, Computing Platforms

  • Status: Preview

    École Polytechnique Fédérale de Lausanne

    Skills you'll gain: Software Design Patterns, Software Design, Object Oriented Programming (OOP), Object Oriented Design, Java, Program Development, Technical Design, Computer Programming, Simulations, Graphical Tools, Algorithms

  • Status: Preview

    Skills you'll gain: Software Design Patterns, Software Design, Software Architecture, Maintainability, Object Oriented Programming (OOP), Application Frameworks, Systems Architecture, Software Engineering, Programming Principles, Dependency Analysis, Software Quality (SQA/SQC)

  • Status: Free Trial

    Northeastern University

    Skills you'll gain: Systems Thinking, Software Visualization, Object Oriented Design, Case Studies, Data Modeling, Software Engineering, Object Oriented Programming (OOP), Software Design, Program Development, Systems Design, Business Modeling, Technical Design, Complex Problem Solving

  • Status: Free Trial

    Skills you'll gain: C# (Programming Language), Software Architecture, .NET Framework, Object Oriented Design, Distributed Computing, Scalability, Object Oriented Programming (OOP), Software Design, Microservices, Debugging, MongoDB, Data Access, Model View Controller, Performance Tuning, Computer Programming, Maintainability, NoSQL

  • Status: Free Trial

    University of Pennsylvania

    Skills you'll gain: Java Programming, Eclipse (Software), Java, Debugging, Integrated Development Environments, Object Oriented Programming (OOP), Data Structures, File Management, Development Environment, Software Design, Programming Principles, Problem Solving

  • Status: Free Trial

    Skills you'll gain: Unified Modeling Language, Object Oriented Programming (OOP), Object Oriented Design, Test Driven Development (TDD), Software Design Patterns, Software Design, Programming Principles, Computer Programming, Software Architecture, Software Development Methodologies, Distributed Computing

  • Coursera Project Network

    Skills you'll gain: Software Documentation, Application Programming Interface (API), Test Tools, Technical Documentation, Restful API, JSON, Web Services, YAML, Software Design

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

  • Status: Preview

    Nanjing University

    Skills you'll gain: Operating Systems, Computer Systems, File Systems, OS Process Management, System Software, Software Systems, Computer Science, Software Design, System Design and Implementation, Data Storage, Computer Hardware, Virtualization, Algorithms, Human Computer Interaction

What brings you to Coursera today?

Leading partners

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