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.
47credentials
151courses

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: Software Engineering, Software Development, Programming Principles, Software Design, Game Design, Event-Driven Programming, Computer Programming, Animation and Game Design, Debugging, Computational Thinking, Algorithms

  • Status: New
    Status: Preview

    Skills you'll gain: Real-Time Operating Systems, Embedded Software, Software Architecture, Embedded Systems, Systems Architecture, Software Design, Application Design, Software Design Patterns, Maintainability, Performance Tuning, System Programming, Safety Assurance, Interoperability, Software Testing, Scalability, Design Strategies

  • Status: New
    Status: Free Trial

    Skills you'll gain: Object Oriented Programming (OOP), Object Oriented Design, Java, Java Programming, File Management, Application Development, Maintainability, Software Design, Development Environment, Program Development, Data Storage Technologies, Application Design, Programming Principles, Computer Programming, Data Structures, Data Management, Integrated Development Environments, Debugging

  • Status: Free Trial

    Michigan State University

    Skills you'll gain: Unity Engine, Game Design, Video Game Development, Prototyping, 3D Modeling, Software Design Documents, Peer Review, Cross Platform Development, C# (Programming Language), User Interface (UI), 3D Assets, Software Design, Storytelling, Software Documentation, User Experience Design, Animation and Game Design, Conceptual Design, Computer Graphics, Ideation, Multimedia

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

    Skills you'll gain: Unity Engine, Animations, Visualization (Computer Graphics), 3D Assets, Software Design Patterns, Video Game Development, Object Oriented Programming (OOP), User Interface (UI), Application Performance Management, Game Design, Virtual Environment, Software Development Tools, Software Design, Computer Graphics, Performance Tuning, Scientific Visualization, Data Validation, Real Time Data, Scripting, C# (Programming Language)

  • Status: New

    Skills you'll gain: Software Architecture, Systems Design, Software Design, Solution Architecture, Service Oriented Architecture, Maintainability, Systems Analysis, Enterprise Architecture, Scalability, Requirements Analysis

  • Status: New
    Status: Free Trial

    University of Colorado Boulder

    Skills you'll gain: Object Oriented Design, Unified Modeling Language, JUnit, Object Oriented Programming (OOP), Test Driven Development (TDD), Software Design Patterns, Java, Unit Testing, Software Testing, Java Programming, Software Engineering, Application Design, User Interface and User Experience (UI/UX) Design, Software Design, Software Architecture, API Design, Model View Controller, Software Development, Systems Analysis, Databases

  • Status: Free Trial

    Skills you'll gain: Software Development Life Cycle, Linux Commands, Software Architecture, Bash (Scripting Language), Restful API, Shell Script, Git (Version Control System), GitHub, Flask (Web Framework), Software Design, Version Control, File Management, Web Design and Development, Application Deployment, Linux, Software Development Methodologies, Data Import/Export, Programming Principles, Web Scraping, Python Programming

  • Status: Free Trial

    Skills you'll gain: Software Development Life Cycle, Software Architecture, Agile Software Development, User Story, Sprint Retrospectives, Agile Methodology, DevOps, Kanban Principles, Software Design, Sprint Planning, Web Design and Development, Scrum (Software Development), Information Technology, Computer Hardware, Software Development Methodologies, Agile Project Management, Team Building, Risk Management, Leadership, Communication

  • Status: Free Trial

    University of Michigan

    Skills you'll gain: Unified Modeling Language, JSON, Object Oriented Programming (OOP), Software Design, Debugging, Object Oriented Design, Data Processing, Web Scraping, Unit Testing, Programming Principles, Python Programming, Data Import/Export, Restful API, Image Analysis, Data Manipulation, Jupyter, Computer Programming, Data Structures, Software Engineering, File Management

  • 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

What brings you to Coursera today?

Leading partners

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