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.

Birla Institute of Technology & Science, Pilani
Skills you'll gain: Object Oriented Design, Software Architecture, Software Design, Software Design Patterns, Software Development Life Cycle, Software Development, Software Engineering, Maintainability, Systems Architecture, Service Oriented Architecture, Technical Design, Web Services, Model View Controller, Event-Driven Programming
Intermediate · Course · 1 - 3 Months

The University of Edinburgh
Skills you'll gain: Software Engineering, Programming Principles, Animation and Game Design, Software Development, Software Design, Event-Driven Programming, Computer Programming, Computational Thinking, Debugging, Algorithms
Beginner · Course · 1 - 3 Months

Michigan State University
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), 3D Assets, Software Design, Storytelling, Software Documentation, User Experience Design, Animation and Game Design, Conceptual Design, Computer Graphics, Ideation, Multimedia
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: C and C++, C++ (Programming Language), Debugging, API Design, Program Development, Software Documentation, Pseudocode, Software Architecture, Software Design, Maintainability, Computational Thinking, Data Structures, Programming Principles, Computer Programming, Generative AI, Software Development, System Programming, Object Oriented Programming (OOP), Code Review, Integrated Development Environments
Beginner · Professional Certificate · 3 - 6 Months

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

Skills you'll gain: User Interface (UI), UI Components, Software Design, Maintainability, Application Development, Microsoft Windows, Object Oriented Programming (OOP), Python Programming, File Management, Data Validation
Mixed · Course · 1 - 4 Weeks

Skills you'll gain: UI Components, Systems Design, Software Design, User Interface and User Experience (UI/UX) Design, Design, Design Software, Scalability, Design and Product, Agile Methodology, Usability, Usability Testing, Prototyping, Design Research, Style Guides, Information Architecture, Key Performance Indicators (KPIs), UI/UX Research, Product Testing, System Programming, Prompt Patterns
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Unity Engine, Event-Driven Programming, Software Development Tools, Game Design, User Interface (UI), Scripting, Software Design, Package and Software Management, Object Oriented Design, C# (Programming Language), Version Control, File Management
Mixed · 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, Software Engineering, Java, Java Programming, Application Design, User Interface and User Experience (UI/UX) Design, Unit Testing, Software Design, Software Architecture, API Design, Model View Controller, Program Development, Software Development, Test Driven Development (TDD), Databases
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Software Development Life Cycle, Linux Commands, Software Architecture, Bash (Scripting Language), Restful API, Shell Script, Git (Version Control System), GitHub, Flask (Web Framework), Software Design, Version Control, File Management, Application Deployment, Linux, Software Development Methodologies, Software Design Patterns, Data Import/Export, Programming Principles, Web Scraping, Python Programming
Beginner · Specialization · 3 - 6 Months

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

Vanderbilt University
Skills you'll gain: Prompt Engineering, ChatGPT, Generative AI Agents, Prompt Patterns, Anthropic Claude, Generative AI, Multimodal Prompts, LLM Application, Productivity, OpenAI, AI Personalization, Agentic systems, Artificial Intelligence and Machine Learning (AI/ML), Software Engineering, Software Development Tools, Software Development, Software Architecture, Automation, Software Testing, Software Design
Beginner · Specialization · 3 - 6 Months