• For Individuals
  • For Businesses
  • For Universities
  • For Governments
Coursera
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

  • Status: Free Trial
    Free Trial
    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 Visualization, Code Review, Software Systems, Object Oriented Programming (OOP), Software Development, Java, Software Documentation

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

    Beginner · Specialization · 3 - 6 Months

  • Status: Free Trial
    Free Trial
    I

    IBM

    Introduction to Software Engineering

    Skills you'll gain: Software Development Life Cycle, Software Architecture, Software Design, Scrum (Software Development), Software Engineering, Software Design Patterns, Agile Methodology, Programming Principles, Application Development, Software Development Tools, Web Development, Software Testing, Back-End Web Development, Front-End Web Development, Python Programming

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

    Beginner · Course · 1 - 3 Months

  • Status: Free Trial
    Free Trial
    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, Open Web Application Security Project (OWASP), Technical Design, Software Architecture, Secure Coding, Object Oriented Design, Software Design Patterns, Database Management, Security Software, Systems Design, Software Engineering, Software Development Life Cycle

    4.6
    Rating, 4.6 out of 5 stars
    ·
    436 reviews

    Beginner · Specialization · 3 - 6 Months

  • Status: Free Trial
    Free Trial
    T

    The Hong Kong University of Science and Technology

    Software Engineering: Software Design and Project Management

    Skills you'll gain: Software Design Patterns, Systems Development Life Cycle, 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, Program Development, Project Management, Project Planning, Unified Modeling Language

    4.6
    Rating, 4.6 out of 5 stars
    ·
    181 reviews

    Intermediate · Course · 1 - 3 Months

  • Status: Free Trial
    Free Trial
    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), Product Requirements, Software Technical Review, Backlogs, Risk Management Framework, Product Management, Project Management

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

    Beginner · Specialization · 3 - 6 Months

  • Status: Free Trial
    Free Trial
    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, Process Mapping, Software Engineering, Kanban Principles, Software Development Life Cycle, Software Quality Assurance, Application Security, Scrum (Software Development), Object Oriented Design, Software Architecture, User Experience Design, Software Quality (SQA/SQC), Requirements Analysis

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

    Intermediate · Specialization · 3 - 6 Months

What brings you to Coursera today?

  • Status: Free Trial
    Free Trial
    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, Java, Application Design

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

    Intermediate · Course · 1 - 4 Weeks

  • Status: Free Trial
    Free Trial
    T

    The Hong Kong University of Science and Technology

    Software Engineering

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

    4.6
    Rating, 4.6 out of 5 stars
    ·
    553 reviews

    Intermediate · Specialization · 3 - 6 Months

  • Status: New
    New
    Status: Free Trial
    Free Trial
    S

    Simplilearn

    Generative AI Course in Software Design

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

    Beginner · Course · 1 - 4 Weeks

  • Status: Free Trial
    Free Trial
    D

    Duke University

    Java Programming: Principles of Software Design

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

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

    Beginner · Course · 1 - 3 Months

  • Status: Free Trial
    Free Trial
    I

    IBM

    Designing User Interfaces and Experiences (UI/UX)

    Skills you'll gain: User Experience Design, Responsive Web Design, Web Design and Development, Prototyping, Graphic and Visual Design, User Interface and User Experience (UI/UX) Design, Figma (Design Software), Web Design, User Interface (UI), Wireframing, Typography, Web Applications, Mobile Development, Design Thinking

    4.5
    Rating, 4.5 out of 5 stars
    ·
    281 reviews

    Beginner · Course · 1 - 4 Weeks

  • Status: Free Trial
    Free Trial
    D

    DeepLearning.AI

    AI-Powered Software and System Design

    Skills you'll gain: Database Design, Software Design Patterns, Databases, Application Design, Database Management, Software Design, Software Architecture, System Design and Implementation, Large Language Modeling, Artificial Intelligence, Security Testing, Secure Coding, Application Programming Interface (API), Performance Tuning

    4.7
    Rating, 4.7 out of 5 stars
    ·
    156 reviews

    Beginner · Course · 1 - 4 Weeks

Software Design learners also search

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

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

  • Software Design and Architecture: University of Alberta
  • Introduction to Software Engineering: IBM
  • Secure Software Design: University of Colorado System
  • Software Engineering: Software Design and Project Management: The Hong Kong University of Science and Technology
  • Software Product Management: University of Alberta
  • Software Development Lifecycle: University of Minnesota
  • Design Patterns: University of Alberta
  • Software Engineering: The Hong Kong University of Science and Technology
  • Generative AI Course in Software Design: Simplilearn
  • Java Programming: Principles of Software Design: Duke University

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

Skills

  • Artificial Intelligence (AI)
  • Cybersecurity
  • Data Analytics
  • Digital Marketing
  • English Speaking
  • Generative AI (GenAI)
  • Microsoft Excel
  • Microsoft Power BI
  • Project Management
  • Python

Certificates & Programs

  • Google Cybersecurity Certificate
  • Google Data Analytics Certificate
  • Google IT Support Certificate
  • Google Project Management Certificate
  • Google UX Design Certificate
  • IBM Data Analyst Certificate
  • IBM Data Science Certificate
  • Machine Learning Certificate
  • Microsoft Power BI Data Analyst Certificate
  • UI / UX Design Certificate

Industries & Careers

  • Business
  • Computer Science
  • Data Science
  • Education & Teaching
  • Engineering
  • Finance
  • Healthcare
  • Human Resources (HR)
  • Information Technology (IT)
  • Marketing

Career Resources

  • Career Aptitude Test
  • Examples of Strengths and Weaknesses for Job Interviews
  • High-Income Skills to Learn
  • How Does Cryptocurrency Work?
  • How to Highlight Duplicates in Google Sheets
  • How to Learn Artificial Intelligence
  • Popular Cybersecurity Certifications
  • Preparing for the PMP Certification
  • Signs You Will Get the Job After an Interview
  • What Is Artificial Intelligence?

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
  • Share your Coursera learning story

Community

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

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