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.

Pearson
Skills you'll gain: Systems Architecture, Software Architecture, Systems Design, Software Design, Verification And Validation, Maintainability, Systems Analysis
★ 4.2 (9) · Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Real-Time Operating Systems, Embedded Software, Software Architecture, Code Reusability, Embedded Systems, Memory Management, Software Design, Software Design Patterns, Performance Tuning, Scalability, Data Sharing
★ 3 (9) · Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Embedded Software, Embedded Systems, Pseudocode, Hardware Architecture, Computer Architecture, Software Design, Systems Design, Software Design Patterns, Systems Integration, Peripheral Devices
Beginner · Course · 1 - 4 Weeks

Coursera
Skills you'll gain: Embedded Software, Real-Time Operating Systems, Embedded Systems, Software Architecture, Code Reusability, Pseudocode, Memory Management, Hardware Architecture, Electronic Hardware, System Programming, Computer Architecture, Software Design, Cross Platform Development, Systems Design, Software Design Patterns, Internet Of Things, Systems Integration, Peripheral Devices, Performance Tuning, C (Programming Language)
★ 3.1 (15) · Intermediate · Specialization · 1 - 3 Months

Packt
Skills you'll gain: Ansible, Linux Administration, Operating System Administration, Data Storage, File Systems, Data Storage Technologies, Red Hat Enterprise Linux, Kubernetes, Package and Software Management, Oracle Cloud, Hardening, Oracle Cloud Applications, Linux Servers, Linux, Oracle Databases, DevOps, Cloud Security, Cloud Applications, Software Design, Management Consulting
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: File I/O, Web Scraping, Package and Software Management, Object Oriented Programming (OOP), Debugging, Object Oriented Design, Unit Testing, Development Environment, Test Driven Development (TDD), Maintainability, Integrated Development Environments, Software Design Patterns, Data Structures, Python Programming, Program Development, Programming Principles, Software Design, Test Tools, Virtual Environment, Computer Programming Tools
Beginner · 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, Simulations, Computer Programming, Data Structures, Software Development, Software Engineering, Command-Line Interface, Problem Solving, Software Design
★ 4.6 (7.5K) · Beginner · Specialization · 3 - 6 Months

Simplilearn
Skills you'll gain: Generative AI, Mockups, User Interface (UI), User Interface and User Experience (UI/UX) Design, AI powered creativity, AI Workflows, User Interface (UI) Design, Software Design, User Experience Design, Prototyping, User Centered Design, Software Architecture, AI Integrations, Software Engineering
Beginner · Course · 1 - 4 Weeks

University at Buffalo
Skills you'll gain: Blockchain, Test Driven Development (TDD), Cryptography, Development Testing, Application Development, Transaction Processing, Emerging Technologies, Application Design, Software Architecture, Network Protocols, Frontend Integration, Program Development, Application Deployment, Distributed Computing, Microsoft Azure, Development Environment, Software Design, Integrated Development Environments, Scalability, Algorithms
★ 4.6 (9.2K) · Intermediate · Specialization · 3 - 6 Months

Vanderbilt University
Skills you'll gain: Claude Code, Prompt Engineering, Agentic systems, ChatGPT, Retrieval-Augmented Generation, Generative AI Agents, Multimodal Prompts, Prompt Patterns, Generative AI, Agentic Workflows, LLM Application, AI Personalization, Software Development Tools, Artificial Intelligence and Machine Learning (AI/ML), Software Engineering, Software Development, Automation, Software Architecture, Software Testing, Software Design
★ 4.8 (9.4K) · Beginner · Specialization · 3 - 6 Months

University of Alberta
Skills you'll gain: Object Oriented Design, Unified Modeling Language, Software Design, Object Oriented Programming (OOP), Java, Java Programming, Maintainability, Code Reusability, Software Design Documents
★ 4.7 (2.4K) · Intermediate · Course · 1 - 4 Weeks
Multiple educators
Skills you'll gain: Unit Testing, Data Structures, Event-Driven Programming, File I/O, Interactive Data Visualization, Java, Java Programming, Object Oriented Design, Object Oriented Programming (OOP), User Interface (UI), Debugging, Software Testing, Computer Programming, Cryptography, Program Development, Software Engineering, Algorithms, Data Analysis, Software Design, Problem Solving
★ 4.6 (15K) · Beginner · Specialization · 3 - 6 Months