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.

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.
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.
Earn your Bachelor’s or Master’s degree online for a fraction of the cost of in-person learning.

Level
Required

Duration
Required

Subtitles
Required

Educator
Required

Results for "Software Design"

  • University of Alberta

    Skills you'll gain: Software Architecture, Model View Controller, Unified Modeling Language, Object Oriented Design, Service Oriented Architecture, API Design, Systems Architecture, Web Services, Software Design Patterns, Software Design, Simple Object Access Protocol (SOAP), Microservices, Restful API, Software Design Documents, Software Visualization, Code Review, Product Family Engineering, Object Oriented Programming (OOP), Software Development, Java

  • University of Colorado System

    Skills you'll gain: Database Design, Software Design, Application Security, User Experience Design, Vulnerability Assessments, Database Theory, Unified Modeling Language, Unit Testing, Usability, UI/UX Research, Threat Modeling, Usability Testing, User Interface and User Experience (UI/UX) Design, Vulnerability Management, Data Flow Diagrams (DFDs), Relational Databases, Software Visualization, Security Software, Systems Development Life Cycle, Software Development Life Cycle

  • Skills you'll gain: Software Design, Systems Development Life Cycle, Software Development Life Cycle, Application Security, Technical Design, Security Engineering, Software Development Methodologies, Conceptual Design, Waterfall Methodology, Requirements Analysis, Agile Methodology

  • The Hong Kong University of Science and Technology

    Skills you'll gain: Software Design Patterns, Software Architecture, Software Development Life Cycle, Software Quality Assurance, Software Quality (SQA/SQC), Software Design, Software Engineering, Quality Assurance, Systems Analysis, Object Oriented Design, Systems Design, Project Management, Project Planning, Systems Architecture, Unified Modeling Language, Diagram Design

  • Birla Institute of Technology & Science, Pilani

    Skills you'll gain: Object Oriented Design, Software Architecture, Software Design, Software Design Patterns, Object Oriented Programming (OOP), Software Development Life Cycle, Software Development, Software Engineering, Maintainability, System Design and Implementation, Service Oriented Architecture, Technical Design, Web Services, Model View Controller, Event-Driven Programming, Distributed Computing

  • Skills you'll gain: Embedded Software, Embedded Systems, Pseudocode, Microarchitecture, Hardware Architecture, Computer Architecture, Software Systems, Software Design, System Programming, Systems Design, Software Design Patterns, Systems Integration, Programming Principles, Event-Driven Programming, System Configuration, Real Time Data, Peripheral Devices, Memory Management

  • Skills you'll gain: Real-Time Operating Systems, Embedded Software, Software Architecture, Code Reusability, Embedded Systems, Memory Management, Systems Architecture, Software Design, Software Design Patterns, Performance Tuning, Secure Coding, Scalability, Data Sharing

  • Skills you'll gain: Generative AI, Design Software, Mockups, User Interface (UI), User Interface and User Experience (UI/UX) Design, AI Workflows, Software Design, User Interface (UI) Design, User Experience Design, Prompt Engineering, Artificial Intelligence, Prototyping, User Centered Design, Software Architecture, AI Integrations, Software Engineering

  • University of Colorado System

    Skills you'll gain: Application Security, Vulnerability Assessments, Software Design, Threat Modeling, Vulnerability Management, Security Engineering, Secure Coding, Software Design Patterns, Software Architecture, Software Visualization, Exploitation techniques, Cryptography, Cryptographic Protocols, Blockchain, Public Key Cryptography Standards (PKCS), Data Validation

  • University of Colorado System

    Skills you'll gain: Unified Modeling Language, Unit Testing, Software Design, Data Flow Diagrams (DFDs), Software Engineering Tools, Software Development Tools, JUnit, Development Testing, Data Ethics, Test Automation, Software Development Methodologies, Dataflow

  • University of Colorado System

    Skills you'll gain: Database Design, Software Design, User Experience Design, Database Theory, Usability, UI/UX Research, Usability Testing, User Interface and User Experience (UI/UX) Design, Relational Databases, Software Visualization, Software Architecture, Software Design Patterns, User Interface (UI) Design, Application Security, Design Strategies, Security Software, Servers, Operating Systems

  • Skills you'll gain: Object Oriented Programming (OOP), Java, Object Oriented Design, Java Programming, Software Engineering, Programming Principles, Computer Programming, Software Development Tools, Software Design, Predictive Modeling, Algorithms, Data Structures, Markov Model, Performance Tuning, Performance Testing, File I/O, Debugging, Application Programming Interface (API)