• For Individuals
  • For Businesses
  • For Universities
  • For Governments
Coursera
  • Online Degrees
  • Careers
  • Log In
  • Join for Free
    Coursera
    • Browse
    • Software Design

    Software Design Courses Online

    Learn software design for developing robust applications. Understand design patterns, object-oriented principles, and user-centered design.

    Skip to search results

    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.
    Earn your Bachelor’s or Master’s degree online for a fraction of the cost of in-person learning.
    Complete graduate-level learning without committing to a full degree program.
    Earn a university-issued career credential in a flexible, interactive format.
    Graduate level learning within reach.

    Level
    Required
     *

    Duration
    Required
     *

    Skills
    Required
     *

    Subtitles
    Required
     *

    Educator
    Required
     *

    Explore the Software Design Course Catalog

    • U

      University of Alberta

      Software Design and Architecture

      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, Solution Architecture, Software Systems, Object Oriented Programming (OOP), Java

      4.6
      Rating, 4.6 out of 5 stars
      ·
      3.9K reviews

      Beginner · Specialization · 3 - 6 Months

    • I

      IBM

      Introduction to Software Engineering

      Skills you'll gain: Software Development Life Cycle, Software Architecture, Software Design, Scrum (Software Development), Software Engineering, Agile Methodology, Software Development Methodologies, Unified Modeling Language, Programming Principles, Application Development, Web Development, Python Programming

      4.7
      Rating, 4.7 out of 5 stars
      ·
      3.3K reviews

      Beginner · Course · 1 - 3 Months

    • Status: AI skills
      AI skills
      I

      IBM

      IBM Full Stack Software Developer

      Skills you'll gain: Prompt Engineering, Istio, HTML and CSS, Node.JS, Software Development Life Cycle, Software Architecture, Kubernetes, Unit Testing, Object-Relational Mapping, Cloud Computing Architecture, Server Side, Application Deployment, React Redux, Cloud Services, Cloud-Native Computing, Git (Version Control System), Full-Stack Web Development, Cloud Computing, Jupyter, Interviewing Skills

      Build toward a degree

      4.6
      Rating, 4.6 out of 5 stars
      ·
      55K reviews

      Beginner · Professional Certificate · 3 - 6 Months

    • U

      University of Alberta

      Design Patterns

      Skills you'll gain: Model View Controller, Software Design Patterns, Software Design, Unified Modeling Language, Object Oriented Design, Code Review, Software Architecture, Programming Principles, Maintainability, Software Technical Review, Java, Object Oriented Programming (OOP), Android Development

      4.7
      Rating, 4.7 out of 5 stars
      ·
      1.4K reviews

      Intermediate · Course · 1 - 4 Weeks

    • T

      The Hong Kong University of Science and Technology

      Software Engineering

      Skills you'll gain: Software Design Patterns, Requirements Analysis, Software Architecture, Acceptance Testing, Software Development Methodologies, Unified Modeling Language, Software Development Life Cycle, Configuration Management, Software Quality Assurance, Debugging, Software Design, Process Driven Development, Software Engineering, Quality Assurance, Software Testing, Object Oriented Design, Functional Requirement, Systems Analysis, Data Modeling, Object Oriented Programming (OOP)

      4.6
      Rating, 4.6 out of 5 stars
      ·
      507 reviews

      Intermediate · Specialization · 3 - 6 Months

    • Status: AI skills
      AI skills
      M

      Microsoft

      Microsoft UX Design

      Skills you'll gain: Storyboarding, User Research, Information Architecture, User Experience Design, Design Thinking, Prototyping, Usability Testing, User Experience, Persona (User Experience), Wireframing, Design Research, User Interface and User Experience (UI/UX) Design, Interaction Design, Web Content Accessibility Guidelines, Human Centered Design, Figma (Design Software), Usability, User Interface (UI) Design, User Centered Design, Design

      4.6
      Rating, 4.6 out of 5 stars
      ·
      395 reviews

      Beginner · Professional Certificate · 3 - 6 Months

    What brings you to Coursera today?

    • U

      University of Colorado System

      Secure Software Design

      Skills you'll gain: Database Design, Software Design, Application Security, Vulnerability Assessments, Unified Modeling Language, Unit Testing, Threat Modeling, Usability Testing, User Interface and User Experience (UI/UX) Design, Vulnerability Management, Technical Design, Security Engineering, Software Architecture, Secure Coding, Software Design Patterns, Database Management, Software Engineering, Software Visualization, Software Development Life Cycle, Systems Design

      4.6
      Rating, 4.6 out of 5 stars
      ·
      435 reviews

      Beginner · Specialization · 3 - 6 Months

    • U

      University of Minnesota

      Software Development Lifecycle

      Skills you'll gain: User Story, Agile Software Development, Software Design Patterns, Design Thinking, Software Development Methodologies, Software Design, Agile Methodology, Agile Project Management, Engineering Software, Process Mapping, Software Engineering, Kanban Principles, Software Development Life Cycle, Software Quality Assurance, Program Development, Application Security, Scrum (Software Development), Requirements Analysis, Lean Methodologies, Lean Manufacturing

      4.7
      Rating, 4.7 out of 5 stars
      ·
      9.7K reviews

      Intermediate · Specialization · 3 - 6 Months

    • D

      Duke University

      Java Programming and Software Engineering Fundamentals

      Skills you'll gain: Object Oriented Programming (OOP), Java, Hypertext Markup Language (HTML), Software Design, Software Design Patterns, Data Structures, HTML and CSS, Debugging, Software Engineering, Cascading Style Sheets (CSS), Web Development, Computer Programming, Programming Principles, Javascript, Encryption, Algorithms, AI Personalization, Web Design, Data Processing, Statistical Analysis

      4.6
      Rating, 4.6 out of 5 stars
      ·
      22K reviews

      Beginner · Specialization · 3 - 6 Months

    • T

      The Hong Kong University of Science and Technology

      Software Engineering: Software Design and Project Management

      Skills you'll gain: Software Design Patterns, Software Architecture, Software Development Life Cycle, Software Quality Assurance, Software Design, Process Driven Development, Software Engineering, Quality Assurance, Systems Analysis, Object Oriented Design, Systems Design, Unified Modeling Language

      4.6
      Rating, 4.6 out of 5 stars
      ·
      155 reviews

      Intermediate · Course · 1 - 3 Months

    • U

      University of Alberta

      Software Product Management

      Skills you'll gain: Requirements Analysis, Agile Software Development, Agile Methodology, Kanban Principles, Project Planning, Requirements Elicitation, Sprint Retrospectives, Requirements Management, Functional Requirement, Business Requirements, Sprint Planning, Software Development Methodologies, Software Development Life Cycle, Scrum (Software Development), Software Technical Review, Code Review, Software Development, Product Requirements, Risk Management Framework, User Story

      4.7
      Rating, 4.7 out of 5 stars
      ·
      12K reviews

      Beginner · Specialization · 3 - 6 Months

    • Status: AI skills
      AI skills
      A

      Amazon

      Amazon Junior Software Developer

      Skills you'll gain: Git (Version Control System), Software Development Methodologies, JUnit, Requirements Analysis, Version Control, Application Development, Software Development Life Cycle, SQL, Full-Stack Web Development, Test Driven Development (TDD), Systems Development, Software Development, Restful API, Object Oriented Programming (OOP), Object Oriented Design, Database Management, MySQL, Digital Transformation, Relational Databases, Generative AI

      4.6
      Rating, 4.6 out of 5 stars
      ·
      270 reviews

      Beginner · Professional Certificate · 3 - 6 Months

    Software Design learners also search

    Software
    Software Development
    Software Engineering
    C
    Software Project Management
    Software Engineering Projects
    Development
    C Programming
    1234…725

    In summary, here are 10 of our most popular software design courses

    • Software Design and Architecture: University of Alberta
    • Introduction to Software Engineering: IBM
    • IBM Full Stack Software Developer: IBM
    • Design Patterns: University of Alberta
    • Software Engineering: The Hong Kong University of Science and Technology
    • Microsoft UX Design: Microsoft
    • Secure Software Design: University of Colorado System
    • Software Development Lifecycle: University of Minnesota
    • Java Programming and Software Engineering Fundamentals: Duke University
    • Software Engineering: Software Design and Project Management: The Hong Kong University of Science and Technology

    Skills you can learn in Software Development

    Programming Language (34)
    Google (25)
    Computer Program (21)
    Software Testing (21)
    Web (19)
    Google Cloud Platform (18)
    Application Programming Interfaces (17)
    Data Structure (16)
    Problem Solving (14)
    Object-oriented Programming (13)
    Kubernetes (10)
    List & Label (10)

    Frequently Asked Questions about Software Design

    Software design is the process of creating a plan to guide the development of a software solution based on an assessment of user requirements determined through research and testing. It is a very important phase of the software development lifecycle, as software design provides the foundation for subsequent coding and implementation by programmers and software engineers.

    The software design process may encompass many aspects including planning for software architecture, design of user interfaces and other visual elements, and the selection of software design patterns and other components. Application security is another critical consideration for software design, and implementing secure practices as early as possible in the software development lifecycle can help ensure that the final product provides adequate protections for business and customer data.‎

    An understanding of software design principles can be a terrific asset for a career in software development, as it provides an overarching view of the entire software development lifecycle. In some ways, you can think of the software designer as the architect whose vision directs the work of a team of engineers and construction workers. According to Glassdoor, software designers in the U.S. earn an average annual salary of $92,046 - significantly more than software programmers, whose average salary according to Glassdoor is $76,526.‎

    Certainly. Taking online courses on Coursera has become an incredibly popular way for students from around the world to learn about a wide range of computer science topics, including software design. Top-ranked schools like the University of Alberta, the University of Colorado, and the University of Minnesota offer individual courses as well as Specializations spanning multiple courses covering software design and related topics such as application security and software design patterns. And, since you can view lessons and complete coursework on a flexible schedule, you can build these valuable, job-ready skills regardless of whether you’re a student or a mid-career professional looking to upgrade your skill set.‎

    The skills and experience you might want to acquire before starting to learn software design would include practical knowledge and work experience in all kinds of software development work, from websites to apps to network maintenance and more. You may already have skills or experience in designing, developing, and installing software for enterprise information systems via an internship or job role.‎

    Some of the common career paths for someone in software design might include starting out in junior roles in web design and development, and possibly moving into creative director roles for gaming systems (if on the creative side), or software analysis manager, if more geared to the operational side of the business. Software design workers could also possibly branch off into deeply analytical roles like computer science engineer, or information research scientist, depending on the company and industry.‎

    The kind of people best suited for roles in software design are computer science enthusiasts, who love programming and are excited about creating new software possibilities. These people are often creative, focused, and cerebral individuals who know programming languages such as Java, SQL, and Python. These languages are important to know as a software designer’s work may include developing software projects and programs for external clients or internal company usage. They might also write code, create charts and diagrams to represent the software, and may even supervise a team of programmers.‎

    Learning software design may be right for you if you love design challenges, love working with new software tools, and are interested in building a lucrative career in software design. You may be able to earn a good income in software design, as jobs for software developers are expected to rise by over 20% in the next decade, according to projections from the U.S. Bureau of Labor Statistics. If you find passion in work that involves designing computer systems, projecting network capabilities, and determining performance interfaces, then learning software design may be a good step in the right direction.‎

    Online Software Design courses offer a convenient and flexible way to enhance your knowledge or learn new Software Design skills. Choose from a wide range of Software Design courses offered by top universities and industry leaders tailored to various skill levels.‎

    When looking to enhance your workforce's skills in Software Design, it's crucial to select a course that aligns with their current abilities and learning objectives. Our Skills Dashboard is an invaluable tool for identifying skill gaps and choosing the most appropriate course for effective upskilling. For a comprehensive understanding of how our courses can benefit your employees, explore the enterprise solutions we offer. Discover more about our tailored programs at Coursera for Business here.‎

    This FAQ content has been made available for informational purposes only. Learners are advised to conduct additional research to ensure that courses and other credentials pursued meet their personal, professional, and financial goals.

    Other topics to explore

    Arts and Humanities
    338 courses
    Business
    1095 courses
    Computer Science
    668 courses
    Data Science
    425 courses
    Information Technology
    145 courses
    Health
    471 courses
    Math and Logic
    70 courses
    Personal Development
    137 courses
    Physical Science and Engineering
    413 courses
    Social Sciences
    401 courses
    Language Learning
    150 courses

    Coursera Footer

    Technical Skills

    • ChatGPT
    • Coding
    • Computer Science
    • Cybersecurity
    • DevOps
    • Ethical Hacking
    • Generative AI
    • Java Programming
    • Python
    • Web Development

    Analytical Skills

    • Artificial Intelligence
    • Big Data
    • Business Analysis
    • Data Analytics
    • Data Science
    • Financial Modeling
    • Machine Learning
    • Microsoft Excel
    • Microsoft Power BI
    • SQL

    Business Skills

    • Accounting
    • Digital Marketing
    • E-commerce
    • Finance
    • Google
    • Graphic Design
    • IBM
    • Marketing
    • Project Management
    • Social Media Marketing

    Career Resources

    • Essential IT Certifications
    • High-Income Skills to Learn
    • How to Get a PMP Certification
    • How to Learn Artificial Intelligence
    • Popular Cybersecurity Certifications
    • Popular Data Analytics Certifications
    • What Does a Data Analyst Do?
    • Career Development Resources
    • Career Aptitude Test
    • Share your Coursera Learning Story

    Coursera

    • About
    • What We Offer
    • Leadership
    • Careers
    • Catalog
    • Coursera Plus
    • Professional Certificates
    • MasterTrack® Certificates
    • Degrees
    • For Enterprise
    • For Government
    • For Campus
    • Become a Partner
    • Social Impact
    • Free Courses
    • ECTS Credit Recommendations

    Community

    • Learners
    • Partners
    • Beta Testers
    • Blog
    • The Coursera Podcast
    • Tech Blog
    • Teaching Center

    More

    • Press
    • Investors
    • Terms
    • Privacy
    • Help
    • Accessibility
    • Contact
    • Articles
    • Directory
    • Affiliates
    • Modern Slavery Statement
    • Manage Cookie Preferences
    Learn Anywhere
    Download on the App Store
    Get it on Google Play
    Logo of Certified B Corporation
    © 2025 Coursera Inc. All rights reserved.
    • Coursera Facebook
    • Coursera Linkedin
    • Coursera Twitter
    • Coursera YouTube
    • Coursera Instagram
    • Coursera TikTok