Software design courses can help you learn programming principles, design patterns, user interface design, and system architecture. You can build skills in code refactoring, version control, and creating scalable applications. Many courses introduce tools like Git for version control, Figma for UI/UX design, and various integrated development environments (IDEs) to streamline the coding process. By engaging with these topics and tools, you can enhance your ability to create efficient, user-friendly software solutions.

Skills you'll gain: Figma (Design Software), Web Content Accessibility Guidelines, Design Reviews, Software Design, Collaborative Software, AI powered creativity, User Interface and User Experience (UI/UX) Design, User Interface (UI), UI Components, Systems Design, Stakeholder Communications, Scalability, Style Guides, Interactive Design, Version Control, AI Workflows, Prototyping, Product Design, Cross-Functional Collaboration, UI/UX Research
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Software Development Life Cycle, Cloud-Native Computing, Software Architecture, Hibernate (Java), Database Design, Docker (Software), Containerization, Git (Version Control System), GitHub, Object Oriented Programming (OOP), Javascript, CI/CD, Restful API, Data Ethics, Java Programming, Model Deployment, Version Control, Database Management, Software Development, Software Design
Beginner · Professional Certificate · 3 - 6 Months

University of Minnesota
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, Kaizen Methodology, Software Development Life Cycle, Agile Product Development, Application Security, Scrum (Software Development), Object Oriented Design, Software Architecture, Software Quality (SQA/SQC), Requirements Analysis
Intermediate · Specialization · 3 - 6 Months

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Object Oriented Programming (OOP), Object Oriented Design, Programming Principles, Software Design Patterns, Computer Programming, Algorithms, C (Programming Language), Software Design, Program Development, Graph Theory, Code Reusability, Computational Logic, Artificial Intelligence, Data Structures, Memory Management, File I/O, Simulations
Beginner · Specialization · 3 - 6 Months
Duke University
Skills you'll gain: File I/O, UI Components, Object Oriented Design, Java Programming, Software Design, User Interface (UI) Design, Debugging, Web Design and Development, Software Engineering, Code Reusability, Hypertext Markup Language (HTML), Computer Programming, Program Development, Event-Driven Programming, Bioinformatics, Encryption, Javascript, Algorithms, Data Analysis, Cascading Style Sheets (CSS)
Beginner · Specialization · 3 - 6 Months

Pearson
Skills you'll gain: Systems Architecture, Software Architecture, Systems Design, Software Design, Solution Architecture, Functional Design, Service Oriented Architecture, Verification And Validation, Maintainability, Systems Analysis
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Data Ethics, Generative AI Agents, Generative AI, Software Design Documents, Software Design, AI Integrations, Software Architecture, Agentic Workflows, Continuous Integration, Software Development, Prompt Patterns, LLM Application, Application Security, Software Engineering, Code Review, Debugging, DevSecOps
Intermediate · Course · 1 - 3 Months

Coursera
Skills you'll gain: Embedded Software, Real-Time Operating Systems, Embedded Systems, Software Architecture, Code Reusability, Pseudocode, Microarchitecture, Memory Management, Systems Architecture, Hardware Architecture, Computer Hardware, Electronic Hardware, System Programming, Computer Architecture, Software Design, Cross Platform Development, Software Design Patterns, Systems Design, Internet Of Things, Hardware Troubleshooting
Intermediate · Specialization · 1 - 3 Months

Vanderbilt University
Skills you'll gain: Claude Code, Anthropic Claude, Multimodal Prompts, Prompt Engineering, Prompt Patterns, Generative AI Agents, AI Orchestration, Context Engineering, Code Reusability, AI Workflows, Software Development, Generative AI, Software Quality Assurance, Software Development Life Cycle, Automation, Artificial Intelligence, Software Architecture, Software Testing, Software Design, Software Development Methodologies
Beginner · Course · 1 - 3 Months

University of Colorado Boulder
Skills you'll gain: Object Oriented Design, JUnit, Object Oriented Programming (OOP), Unified Modeling Language, Software Design Patterns, Software Testing, Java, Software Engineering, Java Programming, User Interface and User Experience (UI/UX) Design, Unit Testing, Software Design, Software Architecture, API Design, Model View Controller, Software Development, Test Driven Development (TDD), Programming Principles, Conceptual Design, Databases
Intermediate · Specialization · 3 - 6 Months

Duke University
Skills you'll gain: Debugging, File I/O, Memory Management, Programming Principles, Maintainability, Software Testing, Program Development, C (Programming Language), Algorithms, Test Planning, Simulations, Test Case, System Programming, Computer Programming, Data Structures, Software Development, C and C++, Software Engineering, Problem Solving, Software Design
Beginner · Specialization · 3 - 6 Months

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
Intermediate · Course · 1 - 4 Weeks