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.

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 Alberta
Skills you'll gain: Object Oriented Design, Unified Modeling Language, Software Design, Object Oriented Programming (OOP), Java, Java Programming, Maintainability, Code Reusability, Software Design Documents, Application Design, Conceptual Design, Diagram Design, Design Elements And Principles
Intermediate · Course · 1 - 4 Weeks

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

Pontificia Universidad Católica del Perú
Skills you'll gain: User Story, Human Computer Interaction, Software Development Life Cycle, Functional Requirement, Unified Modeling Language, User Experience Design, User Interface (UI), Software Development Methodologies, Requirements Analysis, Prototyping, User Experience, User Interface (UI) Design, User Requirements Documents, User Interface and User Experience (UI/UX) Design, System Requirements, Interaction Design, Functional Specification, Requirements Elicitation, Software Development, Process Driven Development
Beginner · Specialization · 3 - 6 Months

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, Computer Graphic Techniques, Python Programming, Event-Driven Programming, Digital Design, Simulations, Computer Graphics, Design, Game Design, Computational Logic, Computational Thinking
Beginner · Specialization · 3 - 6 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

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

The Hong Kong University of Science and Technology
Skills you'll gain: White-Box Testing, Acceptance Testing, Software Development Methodologies, Configuration Management, Debugging, Systems Development Life Cycle, Software Development Life Cycle, Software Testing, Software Development, Software Engineering, Unified Modeling Language, Software Quality Assurance, Software Configuration Management, User Acceptance Testing (UAT), System Design and Implementation, Change Control, Test Case, Requirements Analysis, Waterfall Methodology, Project Management
Intermediate · Course · 1 - 3 Months

University of Michigan
Skills you'll gain: Data Structures, Design Software, 3D Modeling, Computational Logic, Computer Graphics, Visualization (Computer Graphics), Design, Programming Principles, Generative Model Architectures, Python Programming, Animations, Scripting, Computer Programming, Scripting Languages
Beginner · Course · 1 - 3 Months

University of Colorado Boulder
Skills you'll gain: Design Elements And Principles, Graphic Design, Graphic and Visual Design Software, Graphic and Visual Design, Visual Storytelling, Design Software, Design, Storytelling, Layout Design, Adobe InDesign, Color Theory, Adobe Photoshop
Beginner · Course · 1 - 4 Weeks
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

Clemson University
Skills you'll gain: Data Structures, Algorithms, Theoretical Computer Science, Computer Programming, Computer Science, Probability, Design Strategies, Analysis
Build toward a degree
Intermediate · Course · 1 - 3 Months