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, User Experience Design, Database Theory, Usability, UI/UX Research, Usability Testing, User Interface and User Experience (UI/UX) Design, Relational Databases, Software Visualization, Software Architecture, Software Design Patterns, User Interface (UI) Design, Application Security, Design Strategies, Security Software, Servers, Operating Systems
Intermediate · Course · 1 - 3 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

SkillUp
Skills you'll gain: Systems Design, Business Process Modeling, Data Flow Diagrams (DFDs), Systems Analysis, Data Modeling, Process Modeling, Business Systems Analysis, Digital Transformation, Enterprise Modeling, Risk Management, Business Systems, Systems Architecture, Business Analysis, Information Technology, Process Flow Diagrams, Prototyping, Computer Science, Agile Methodology, Product Lifecycle Management, Business Communication
Intermediate · Course · 1 - 4 Weeks

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, 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), Programming Principles, Conceptual Design, Databases
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: User Centered Design, User Experience Design, Responsive Web Design, User Interface (UI) Design, Prototyping, Front-End Web Development, Graphic and Visual Design, User Interface and User Experience (UI/UX) Design, Figma (Design Software), Design Elements And Principles, Web Design, Wireframing, Typography, Application Design, Digital Design, UI Components, Web Applications, Mobile Development, Design Thinking
Beginner · Course · 1 - 4 Weeks

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
Intermediate · Course · 1 - 4 Weeks

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

Skills you'll gain: Secure Coding, Application Security, Security Testing, Software Development Methodologies, Configuration Management, Software Development, Software Configuration Management, Systems Development Life Cycle, Software Development Life Cycle, Package and Software Management, Software Testing, Security Engineering, API Testing, Application Programming Interface (API), Cloud Security, Process Driven Development, Risk Management Framework
Intermediate · Course · 1 - 4 Weeks

University of Michigan
Skills you'll gain: Object Oriented Programming (OOP), Object Oriented Design, Animations, Interactive Data Visualization, Software Design, Data Structures, Visualization (Computer Graphics), Interactive Design, Programming Principles, Graphic and Visual Design, Python Programming, Event-Driven Programming, Digital Design, Simulations, Computer Graphics, Design, Graphical Tools, Game Design, Computational Logic, Creative Design
Beginner · Specialization · 3 - 6 Months
University of Alberta
Skills you'll gain: Requirements Analysis, Requirements Elicitation, Functional Requirement, Backlogs, User Requirements Documents, Change Control, User Story, System Requirements, Software Design, Acceptance Testing, Agile Methodology, Agile Software Development
Mixed · Course · 1 - 4 Weeks

Ball State University
Skills you'll gain: Cryptography, Application Security, Encryption, Authentications, Cybersecurity, Cryptographic Protocols, Data Encryption Standard, Advanced Encryption Standard (AES), Email Security, Network Security, Information Systems Security, Secure Coding, Key Management, Application Development, Public Key Infrastructure, Network Protocols, Algorithms, Data Integrity
Build toward a degree
Intermediate · Course · 1 - 3 Months

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, Functional Specification, Diagram Design, Software Development, Software Engineering, Software Systems, Verification And Validation, Software Documentation, Model Evaluation, Project Planning, Project Management
Intermediate · Course · 1 - 3 Months