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 Alberta
Skills you'll gain: Software Architecture, Unified Modeling Language, Systems Architecture, Software Design, Software Design Documents, Software Visualization, Product Family Engineering, Software Development, Software Documentation, Diagram Design, Software Technical Review, Application Deployment, Data Storage
Intermediate · Course · 1 - 4 Weeks

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, Software Quality Assurance, Agile Product Development, Application Security, Security Architecture Review, Scrum (Software Development), Object Oriented Design, Software Architecture
Intermediate · Specialization · 3 - 6 Months

University of Colorado System
Skills you'll gain: Requirements Elicitation, Software Design Documents, Requirements Analysis, Mockups, Security Requirements Analysis, Interviewing Skills, User Requirements Documents, Systems Development Life Cycle, Data Flow Diagrams (DFDs), Storyboarding, Functional Requirement, Goal Setting, Software Development Methodologies, Software Documentation, Diagram Design, Agile Methodology, Product Requirements, Unified Modeling Language, Risk Management Framework, Risking
Beginner · Specialization · 3 - 6 Months

Amazon
Skills you'll gain: Git (Version Control System), Software Development Methodologies, Requirements Analysis, Version Control, Systems Development Life Cycle, Application Development, Software Development Life Cycle, Software Development, Agile Software Development, Unified Modeling Language, Software Testing, JUnit, Agile Methodology, Programming Principles, Java Programming, Spring Framework, Maintainability, Debugging, Java, Software Design Patterns
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, Computer 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), Conceptual Design, Databases
Intermediate · Specialization · 3 - 6 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

Board Infinity
Skills you'll gain: Test Case, Test Script Development, Test Planning, Test Automation, Test Engineering, Continuous Integration, Test Tools, CI/CD, Software Quality Assurance, Continuous Delivery, Quality Assurance, Software Quality (SQA/SQC), Software Engineering Tools
Beginner · Course · 1 - 4 Weeks

University of Colorado Boulder
Skills you'll gain: User Research, User Experience Design, User Experience, User Interface and User Experience (UI/UX) Design, Usability, Verification And Validation, UI/UX Research, UI/UX Strategy, Internet Of Things, API Design, User Interface (UI), Embedded Software, Amazon Web Services, Interactive Design, Cloud Computing Architecture, Human Computer Interaction, Embedded Systems, Application Programming Interface (API), Prototyping, Software Development
Build toward a degree
Intermediate · Specialization · 3 - 6 Months
University of California San Diego
Skills you'll gain: Interaction Design, Usability, Human Centered Design, Mockups, Storyboarding, Design Strategies, Design Thinking, User Centered Design, Prototyping, Usability Testing, Design Research, User Research, UI/UX Research, Qualitative Research, Creativity, Interviewing Skills
Mixed · Course · 1 - 4 Weeks

Skills you'll gain: LLM Application, Kubernetes, Systems Architecture, Large Language Modeling, Data Pipelines, Software Architecture, Software Design, Model Deployment, Application Deployment, Microservices, Apache Airflow, Containerization, Infrastructure Architecture, Cloud-Native Computing, Scalability, AWS CloudFormation, Managed Services, Azure DevOps, Open Source Technology, Diagram Design
Intermediate · Course · 1 - 3 Months
University of Alberta
Skills you'll gain: Requirements Analysis, Requirements Elicitation, Functional Requirement, Backlogs, User Requirements Documents, Change Control, User Story, System Requirements, Acceptance Testing, Agile Methodology, Agile Software Development
Mixed · Course · 1 - 4 Weeks

University of Michigan
Skills you'll gain: Object Oriented Programming (OOP), Object Oriented Design, Animations, Software Design, Data Structures, Visualization (Computer Graphics), Interactive Design, Programming Principles, Computer Graphic Techniques, Python Programming, Graphic and Visual Design, Event-Driven Programming, Digital Design, Simulations, Computer Graphics, Design, Graphical Tools, Game Design, Computational Logic, Computational Thinking
Beginner · Specialization · 3 - 6 Months