• 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

    • 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), 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: 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, 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
      ·
      156 reviews

      Intermediate · Course · 1 - 3 Months

    • Status: Free Trial
      Free Trial
      U

      University of Minnesota

      Software Testing and Automation

      Skills you'll gain: Open Web Application Security Project (OWASP), Cucumber (Software), Software Testing, Selenium (Software), Gherkin (Scripting Language), JUnit, Verification And Validation, Test Automation, Unit Testing, Security Testing, Regression Testing, Test Case, Testability, Behavior-Driven Development, Code Coverage, Performance Testing, Development Testing, Test Planning, Acceptance Testing, Test Tools

      4.3
      Rating, 4.3 out of 5 stars
      ·
      949 reviews

      Intermediate · Specialization · 3 - 6 Months

    • Status: Free Trial
      Free Trial
      U

      University of Alberta

      Object-Oriented Design

      Skills you'll gain: Object Oriented Design, Unified Modeling Language, Software Design, Object Oriented Programming (OOP), Java, Maintainability, Software Architecture, Android Development, Technical Design, Conceptual Design

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

      Intermediate · 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, Software Engineering, Computer Programming, Software Design, Predictive Modeling, Algorithms, Data Structures, Performance Testing, Debugging, Application Programming Interface (API)

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

      Beginner · Course · 1 - 3 Months

    • Status: Free Trial
      Free Trial
      A

      Amazon

      Introduction to Software Development

      Skills you'll gain: Software Development Life Cycle, Object Oriented Programming (OOP), Java Programming, Java, Program Development, Software Development, Development Environment, Integrated Development Environments, Software Engineering, Programming Principles

      4.7
      Rating, 4.7 out of 5 stars
      ·
      198 reviews

      Beginner · Course · 1 - 4 Weeks

    • Status: Free Trial
      Free Trial
      U

      University of Alberta

      Software Architecture

      Skills you'll gain: Software Architecture, Unified Modeling Language, Systems Architecture, Software Design, Software Design Documents, Software Visualization, Solution Architecture, Software Systems, Software Development, Software Documentation, Software Design Patterns, Enterprise Architecture, Maintainability, Scalability

      4.5
      Rating, 4.5 out of 5 stars
      ·
      923 reviews

      Intermediate · Course · 1 - 4 Weeks

    • B

      Ball State University

      Cybersecurity and Secure Software Design

      Skills you'll gain: Cryptography, Application Security, Encryption, Authentications, Cybersecurity, Data Encryption Standard, Advanced Encryption Standard (AES), Email Security, Network Security, Information Systems Security, Key Management, Application Development, Public Key Infrastructure, Data Integrity

      Build toward a degree

      Intermediate · Course · 1 - 3 Months

    • Status: Free Trial
      Free Trial
      I

      IBM

      IBM DevOps and Software Engineering

      Skills you'll gain: CI/CD, Istio, Open Web Application Security Project (OWASP), Continuous Integration, Software Development Life Cycle, Software Architecture, Linux Commands, Agile Software Development, Kubernetes, Unit Testing, Cloud Computing Architecture, Application Deployment, Test Driven Development (TDD), Gherkin (Scripting Language), Jenkins, Bash (Scripting Language), DevOps, Git (Version Control System), Jupyter, Grafana

      Build toward a degree

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

      Beginner · Professional Certificate · 3 - 6 Months

    • Status: Free Trial
      Free Trial
      E

      Epic Games

      Epic Games Game Design

      Skills you'll gain: Unreal Engine, Game Design, Video Game Development, Animation and Game Design, Ideation, 3D Modeling, Prototyping, Visualization (Computer Graphics), Software Documentation, Software Design Documents, User Experience Design, Computer Graphics, Usability, Interactive Design, Virtual Environment, User Interface (UI) Design, Version Control, Conceptual Design, Web Content Accessibility Guidelines, UI Components

      4.2
      Rating, 4.2 out of 5 stars
      ·
      356 reviews

      Beginner · Professional Certificate · 3 - 6 Months

    • Status: Free Trial
      Free Trial
      I

      IBM

      IBM Generative AI Engineering

      Skills you'll gain: Prompt Engineering, Data Wrangling, Large Language Modeling, Unit Testing, Supervised Learning, Feature Engineering, Generative AI, Keras (Neural Network Library), Deep Learning, Artificial Intelligence, ChatGPT, Natural Language Processing, Data Cleansing, Jupyter, Data Analysis, Unsupervised Learning, Data Manipulation, PyTorch (Machine Learning Library), Data Import/Export, Exploratory Data Analysis

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

      Beginner · Professional Certificate · 3 - 6 Months

    • Status: Free Trial
      Free Trial
      M

      Michigan State University

      Game Design and Development with Unity

      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), Software Design, Animation and Game Design, User Experience, Storytelling, Software Documentation, User Experience Design, Augmented and Virtual Reality (AR/VR), Microsoft Visual Studio, UI Components, Conceptual Design

      4.7
      Rating, 4.7 out of 5 stars
      ·
      616 reviews

      Beginner · Specialization · 3 - 6 Months

    Software Design learners also search

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

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

    • Software Product Management: University of Alberta
    • Software Engineering: Software Design and Project Management: The Hong Kong University of Science and Technology
    • Software Testing and Automation: University of Minnesota
    • Object-Oriented Design: University of Alberta
    • Java Programming: Principles of Software Design: Duke University
    • Introduction to Software Development: Amazon
    • Software Architecture: University of Alberta
    • Cybersecurity and Secure Software Design: Ball State University
    • IBM DevOps and Software Engineering: IBM
    • Epic Games Game Design: Epic Games

    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