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 Colorado System
Skills you'll gain: Database Design, Software Design, Usability Testing, User Interface and User Experience (UI/UX) Design, Software Architecture, Software Design Patterns, Database Management, Systems Design, Application Security, Design Strategies, Operating Systems
Intermediate · Course · 1 - 3 Months

Pontificia Universidad Católica del Perú
Skills you'll gain: Software Development Life Cycle, Unified Modeling Language, Software Design, Software Engineering, Systems Development, Software Development, Waterfall Methodology, Requirements Analysis
Beginner · Course · 1 - 4 Weeks

The Hong Kong University of Science and Technology
Skills you'll gain: Requirements Analysis, Unified Modeling Language, Object Oriented Design, Functional Requirement, Data Modeling, Object Oriented Programming (OOP), Systems Development Life Cycle, System Requirements, Software Development, Software Engineering, Software Systems, Project Planning, Project Management
Intermediate · Course · 1 - 3 Months

Microsoft
Skills you'll gain: Prototyping, Usability Testing, Wireframing, Interaction Design, User Experience Design, Figma (Design Software), Usability, User Interface (UI) Design, Mockups, UI/UX Research, Design Thinking, User Research, Style Guides
Mixed · Course · 1 - 4 Weeks

University of Colorado System
Skills you'll gain: Software Design, Software Development Life Cycle, Application Security, Technical Design, Software Architecture, Software Development Methodologies, Conceptual Design, Requirements Analysis
Mixed · Course · 1 - 3 Months

University of Colorado Boulder
Skills you'll gain: Object Oriented Design, Unified Modeling Language, Object Oriented Programming (OOP), Test Driven Development (TDD), JUnit, Java, Unit Testing, Software Testing, Software Engineering, Software Design Patterns, Java Programming, Software Design, Systems Analysis, Conceptual Design
Build toward a degree
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Jest (JavaScript Testing Framework), CI/CD, Model View Controller, User Acceptance Testing (UAT), Continuous Integration, Cucumber (Software), Postman API Platform, Ansible, Software Testing, OAuth, Web Development Tools, Behavior-Driven Development, Application Performance Management, Prometheus (Software), Authentications, Test Driven Development (TDD), Package and Software Management, Cloud API, Javascript, Software Engineering
Beginner · Specialization · 3 - 6 Months

University of Minnesota
Skills you'll gain: UI/UX Research, User Research, Design Research, User Interface (UI), User Interface (UI) Design, Usability Testing, Prototyping, Usability, User Experience, User Centered Design, Graphic and Visual Design, Ideation, Web Content Accessibility Guidelines, Design, Peer Review, User Experience Design, Human Computer Interaction, Interaction Design, Qualitative Research, Mockups
Intermediate · Specialization · 3 - 6 Months

University of Colorado Boulder
Skills you'll gain: Embedded Software, Embedded Systems, Debugging, Data Structures, System Programming, Microarchitecture, C (Programming Language), Hardware Architecture, Computer Architecture, Integrated Development Environments, Software Design, Maintainability, System Configuration, Development Environment, Peripheral Devices
Intermediate · Course · 1 - 4 Weeks

University of Colorado System
Skills you'll gain: Application Security, Vulnerability Assessments, Software Design, Threat Modeling, Open Web Application Security Project (OWASP), Secure Coding, Software Design Patterns, Software Architecture, Cryptography, Blockchain, Public Key Cryptography Standards (PKCS)
Intermediate · Course · 1 - 3 Months

University of Colorado Boulder
Skills you'll gain: Object Oriented Design, JUnit, Object Oriented Programming (OOP), Software Design Patterns, Java, Unified Modeling Language, Software Design, Java Programming, Software Architecture, Model View Controller, Conceptual Design
Build toward a degree
Intermediate · Course · 1 - 3 Months

Scrimba
Skills you'll gain: Responsive Web Design, User Interface (UI) Design, User Interface (UI), HTML and CSS, Web Design, Figma (Design Software), Typography, Front-End Web Development, Web Design and Development, Maintainability, Mockups, Web Content Accessibility Guidelines, Cascading Style Sheets (CSS), Web Development, Usability, Prototyping, Browser Compatibility, User Experience Design, Web Development Tools, Software Engineering
Intermediate · Specialization · 3 - 6 Months