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.

University of California San Diego
Skills you'll gain: Object Oriented Design, Java Programming, Java, Object Oriented Programming (OOP), Programming Principles, Software Design, Education Software and Technology, Computer Programming, Program Development, Debugging, Data Structures, Algorithms
Beginner · Course · 1 - 3 Months

Duke University
Skills you'll gain: Python Programming, Simulations, Debugging, Statistical Methods, Pandas (Python Package), Program Development, Test Case, Data Science, Development Testing, Software Design, Computational Thinking, Sampling (Statistics), Data Manipulation, Programming Principles, Systems Integration, Software Development
Beginner · Course · 1 - 4 Weeks

University of Michigan
Skills you'll gain: Object Oriented Programming (OOP), Object Oriented Design, Software Design, Program Development, Data Structures, Visualization (Computer Graphics), Graphic and Visual Design, Systems Design, Computer Graphics, Creative Design, Python Programming, Linear Algebra
Intermediate · Course · 1 - 3 Months

LearnQuest
Skills you'll gain: Simple Object Access Protocol (SOAP), Restful API, Web Services, Hypertext Markup Language (HTML), HTML and CSS, Java Platform Enterprise Edition (J2EE), Software Design, Java, Extensible Markup Language (XML), Application Programming Interface (API), API Design, Object Oriented Design, Software Design Patterns, Software Architecture, Web Design, Web Design and Development, Web Applications, Front-End Web Development, Web Development, Program Development
Beginner · Specialization · 1 - 3 Months

LearnQuest
Skills you'll gain: Test Driven Development (TDD), Unit Testing, Development Testing, Software Testing, Java, Test Case, Maintainability, Software Design
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: C# (Programming Language), Object Oriented Programming (OOP), Software Design Patterns, Software Architecture, Object Oriented Design, Software Design, Secure Coding, Computer Programming, System Design and Implementation, Data Integrity, Code Reusability, Maintainability, Scalability, Programming Principles, Software Documentation, AI Integrations
Beginner · Course · 1 - 3 Months

Skills you'll gain: Microservices, Docker (Software), Containerization, API Gateway, Redis, API Design, Microsoft Development Tools, Software Design, ASP.NET, .NET Framework, Software Architecture, Microsoft Visual Studio, Software Design Patterns, Cloud-Native Computing, Application Programming Interface (API), Restful API, Frontend Integration, Systems Architecture, C# (Programming Language), Web Development
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: User Interface (UI), User Interface (UI) Design, User Interface and User Experience (UI/UX) Design, Design Thinking, UI Components, Software Design, Code Reusability, Usability, Event-Driven Programming, Maintainability, Integrated Development Environments, Application Design, Payment Systems, Interactive Design, MySQL, Jupyter, Database Application, Development Environment, Property Management Systems, Python Programming
Beginner · Specialization · 1 - 3 Months

Board Infinity
Skills you'll gain: AI Workflows, Agentic Workflows, LangGraph, AI Orchestration, Agentic systems, Generative AI Agents, LangChain, LLM Application, AI Integrations, Software Architecture, Systems Architecture, Software Design, Data Validation, Data Persistence, Context Management, Scalability, Systems Integration, Memory Management
Intermediate · Course · 1 - 4 Weeks
University of Glasgow
Skills you'll gain: Software Development Life Cycle, Systems Development Life Cycle, Program Development, Plot (Graphics), Data Presentation, Event-Driven Programming, Web Design and Development, Web Development Tools, Data Literacy, Animation and Game Design, Software Development, Hypertext Markup Language (HTML), Applied Machine Learning, Javascript, Interactive Design, Visualization (Computer Graphics), Graphics Software, Software Design, Computer Graphics, Code Reusability
Beginner · Specialization · 3 - 6 Months

University of California San Diego
Skills you'll gain: Embedded Software, Internet Of Things, Unit Testing, Software Design, System Testing, Software Design Documents, Software Development, Technical Communication, Software Documentation, Mobile Development Tools, Technical Design, Systems Design, System Design and Implementation, Ideation, Embedded Systems, Innovation, Communication Systems, System Implementation, Systems Integration
Mixed · Course · 1 - 4 Weeks

Skills you'll gain: Object Oriented Programming (OOP), Java, Java Programming, Object Oriented Design, Computer Programming, Programming Principles, Software Design, Computational Logic, Data Structures
Beginner · Course · 1 - 3 Months