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: 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

Skills you'll gain: Unity Engine, 3D Assets, Event-Driven Programming, Software Development Tools, Video Game Development, Code Reusability, User Interface (UI), User Interface (UI) Design, Scripting, Software Design, Object Oriented Design, Visualization (Computer Graphics), C# (Programming Language), Version Control
Mixed · 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, Algorithms
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Microservices, Cloud Deployment, Cloud Infrastructure, Application Deployment, API Design, Google App Engine, Kubernetes, CI/CD, Google Cloud Platform, Site Reliability Engineering, Cloud Computing Architecture, Infrastructure Architecture, Restful API, Cloud Computing, Cloud Security, Network Architecture, Software Design, Devops Tools, DevOps, Systems Design
Advanced · Course · 1 - 3 Months

Skills you'll gain: Systems Development Life Cycle, Software Development Life Cycle, z/OS, COBOL (Programming Language), Unit Testing, Systems Analysis, Systems Development, Pseudocode, Program Development, Software Development Methodologies, Agile Methodology, Software Development, Software Design, Agile Software Development, Systems Architecture, Mainframe Computing, Scrum (Software Development), Test Planning, Mainframe Technologies, Software Testing
Beginner · Course · 1 - 3 Months

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, PostgreSQL, Data Validation
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Cloud Infrastructure, Cloud Deployment, Kubernetes, Application Deployment, Site Reliability Engineering, Google App Engine, Google Cloud Platform, Microservices, Network Architecture, CI/CD, Service Level, Cloud Computing Architecture, Systems Design, Cloud Management, Cloud Security, Restful API, API Design, Network Planning And Design, Software Design, DevOps
Intermediate · Course · 1 - 3 Months

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

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

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

University of Colorado Boulder
Skills you'll gain: Object Oriented Design, JUnit, Object Oriented Programming (OOP), Software Design Patterns, Software Engineering, Java, Unified Modeling Language, Software Design, Java Programming, Software Architecture, Model View Controller, Programming Principles, Conceptual Design
Build toward a degree
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Software Design Patterns, Software Design, C and C++, C++ (Programming Language), Object Oriented Design, Software Architecture, Code Reusability, Programming Principles, Object Oriented Programming (OOP), Prototyping, Memory Management, Performance Tuning
Intermediate · Course · 1 - 3 Months