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.
50credentials
1online degree
160courses

Explore the Software Design Course Catalog

  • 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

    Skills you'll gain: Embedded Software, Interactive Design, Human Computer Interaction, Embedded Systems, Prototyping, User Interface (UI) Design, User Interface and User Experience (UI/UX) Design, Software Design, Usability, Interaction Design, Real-Time Operating Systems, Hypertext Markup Language (HTML), Technical Design, Internet Of Things, User Experience Design, jQuery, Mobile Development, Telecommunications, Cross Platform Development, Artificial Intelligence and Machine Learning (AI/ML)

  • Instituto Tecnológico de Aeronáutica

    Skills you'll gain: Object Oriented Programming (OOP), Software Design Patterns, Object Oriented Design, Java, Software Design, Application Design, Test Driven Development (TDD)

  • Status: Free Trial

    Peking University

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

  • Status: Free Trial

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

  • 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

    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: 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: 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: Free Trial

    Peking University

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

  • Status: Free Trial

    Skills you'll gain: Data Structures, Generative AI, Test Driven Development (TDD), Integration Testing, Unit Testing, Python Programming, Object Oriented Programming (OOP), Cloud Applications, Serverless Computing, Cloud Computing, Microsoft Azure, Algorithms, Software Documentation, Maintainability, Code Review, Software Development, Software Design, Technical Documentation, Application Deployment

  • Status: Preview

    École Polytechnique Fédérale de Lausanne

    Skills you'll gain: Scalability, Scala Programming, Distributed Computing, Event-Driven Programming, System Design and Implementation, Microservices, Software Architecture, Software Design Patterns, Cloud Computing, Software Design, Middleware