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: Unified Modeling Language, Software Design Patterns, C++ (Programming Language), Software Architecture, Object Oriented Design, Software Design, Code Reusability, Object Oriented Programming (OOP), Maintainability, Programming Principles, Memory Management
Intermediate · Course · 1 - 3 Months
Skills you'll gain: Apache Maven, Maintainability, Java Programming, Gradle, Software Design, Software Design Patterns, Software Architecture, Build Tools, Object Oriented Design, Object Oriented Programming (OOP), Machine Learning Methods, Integration Testing, Dependency Analysis, User Interface (UI) Design, Design Strategies, Design Elements And Principles, Program Evaluation, Automation
Advanced · Course · 1 - 4 Weeks

Skills you'll gain: Event-Driven Programming, Payment Systems, User Interface (UI), UI Components, MySQL, Application Design, Database Application, Python Programming, Transaction Processing, Application Development, User Interface (UI) Design, Database Management, Software Design
Mixed · Course · 1 - 4 Weeks

Skills you'll gain: API Design, API Gateway, API Testing, Application Programming Interface (API), Software Documentation, Restful API, Software Design Documents, Server Side, Test Automation, Software Testing, Software Design, Back-End Web Development, Test Case, Collaboration, Debugging
Intermediate · Course · 1 - 4 Weeks

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

University of Colorado Boulder
Skills you'll gain: Object Oriented Design, Object Oriented Programming (OOP), Software Design Patterns, Unified Modeling Language, Software Design, Java, Java Programming, Software Architecture, User Interface and User Experience (UI/UX) Design, API Design, Software Development, AI Integrations
Build toward a degree
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Systems Analysis, Communication Systems, Verification And Validation, Computational Logic, Systems Design, Process Modeling, Data Modeling, Software Design, Theoretical Computer Science, Network Protocols
Advanced · Course · 1 - 4 Weeks

Skills you'll gain: Software Architecture, Computer Graphics, Software Design, Maintainability, Systems Architecture, Software Design Patterns, Code Reusability, Software Visualization, Systems Design, Scalability, System Design and Implementation, Computer Graphic Techniques, Performance Tuning
Beginner · Course · 1 - 4 Weeks

University of Michigan
Skills you'll gain: Unified Modeling Language, Software Design, Object Oriented Design, Diagram Design, Image Analysis, Python Programming, Jupyter, Software Engineering, Application Programming Interface (API), Computer Vision
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Game Design, Unity Engine, Animation and Game Design, 3D Assets, Video Game Development, Animations, User Interface (UI), UI Components, Software Design, C# (Programming Language), Scripting, Data Persistence, System Implementation
Mixed · Course · 1 - 4 Weeks

Skills you'll gain: Microservices, Redis, API Design, Docker (Software), Software Design, .NET Framework, Software Architecture, Software Design Patterns, Containerization, Application Programming Interface (API), Restful API, Integration Testing, Distributed Computing, Middleware, PostgreSQL, Data Validation
Intermediate · Course · 1 - 3 Months
École Polytechnique Fédérale de Lausanne
Skills you'll gain: Scala Programming, Application Design, Software Design, Software Design Patterns, Functional Design, Other Programming Languages, Event-Driven Programming, Functional Testing, Java, Programming Principles, Performance Tuning, Data Structures, Query Languages
Intermediate · Course · 1 - 3 Months