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: API Design, API Gateway, Application Programming Interface (API), Software Documentation, Restful API, Server Side, Test Automation, Development Testing, Software Testing, Interactive Design, Software Design, Back-End Web Development, Test Case, Full-Stack Web Development, Collaboration, Debugging, Version Control
Intermediate · Course · 1 - 4 Weeks

Duke University
Skills you'll gain: Debugging, Java, Algorithms, Java Programming, Statistical Analysis, Software Design, Computer Programming, Data Import/Export, Integrated Development Environments, Data Manipulation, Object Oriented Programming (OOP), Data Analysis, Software Testing, Problem Solving
Beginner · Course · 1 - 3 Months

Skills you'll gain: Game Design, Unity Engine, 3D Assets, Virtual Environment, Video Game Development, Animations, User Interface (UI), Software Design, C# (Programming Language), Scripting, Debugging
Mixed · Course · 1 - 4 Weeks

Skills you'll gain: Software Development Methodologies, Development Environment, Software Development, Application Programming Interface (API), Version Control, Software Design Patterns, JSON, Software Design, Network Engineering, Restful API, Virtualization and Virtual Machines, Web Applications, TCP/IP, YAML, Extensible Markup Language (XML), Authentications
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Maintainability, Code Review, Software Architecture, Software Design, Object Oriented Design, Debugging, Testability, Programming Principles, Scalability
Intermediate · Course · 3 - 6 Months

Board Infinity
Skills you'll gain: Software Quality Assurance, Software Development Life Cycle, Quality Assurance, Software Documentation, Functional Testing, Software Testing, Acceptance Testing, User Acceptance Testing (UAT), Test Case, Maintainability, Verification And Validation, Unit Testing, Software Design, System Testing, Integration Testing, Waterfall Methodology, Agile Methodology, Regression Testing
Beginner · Course · 1 - 4 Weeks

Epic Games
Skills you'll gain: Unreal Engine, User Interface (UI), User Interface (UI) Design, UI Components, Game Design, Video Game Development, Software Design, User Experience, Usability, Programming Principles, Mockups, Prototyping
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Version Control, Debugging, Software Design Patterns, Object Oriented Design, Object Oriented Programming (OOP), Software Development, Git (Version Control System), Programming Principles, Software Design, Computer Programming, Software Engineering, Integrated Development Environments, Command-Line Interface
Beginner · Course · 1 - 4 Weeks

University of Minnesota
Skills you'll gain: Software Design Patterns, Software Design, Software Quality Assurance, Software Engineering, Application Security, Object Oriented Design, Software Architecture, Software Quality (SQA/SQC), Development Testing, Threat Modeling, Maintainability, Code Review, Software Testing, Continuous Integration, CI/CD, Software Technical Review, Software Documentation, Version Control
Intermediate · Course · 1 - 3 Months

Skills you'll gain: IntelliJ IDEA, Object Oriented Design, Debugging, Software Design, User Interface (UI), Integrated Development Environments, Java, Design Thinking, Program Development, Data Validation, Software Development, Application Development
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Unified Modeling Language, Software Design Patterns, C++ (Programming Language), Software Architecture, Object Oriented Design, Software Design, Object Oriented Programming (OOP), Maintainability, Programming Principles
Intermediate · Course · 1 - 3 Months

University of Minnesota
Skills you'll gain: Software Development Methodologies, Agile Methodology, Software Engineering, Software Development Life Cycle, Requirements Analysis, Application Deployment, Agile Software Development, Systems Development, Software Architecture, Verification And Validation, Process Driven Development, Waterfall Methodology, System Requirements, Software Testing, Scrum (Software Development), Release Management, User Requirements Documents, Development Testing, Software Design, Maintainability
Beginner · Course · 1 - 4 Weeks