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.

LearnQuest
Skills you'll gain: Unified Modeling Language, Object Oriented Programming (OOP), Object Oriented Design, Test Driven Development (TDD), Software Design Patterns, Software Design, Programming Principles, Diagram Design, Software Visualization, Program Development, Computer Programming, Software Development Methodologies, Distributed Computing
Beginner · Course · 1 - 4 Weeks

Illinois Tech
Skills you'll gain: Unified Modeling Language, File I/O, Debugging, Object Oriented Programming (OOP), Object Oriented Design, Python Programming, Computer Programming, Programming Principles, System Programming, Pseudocode, Program Development, Event-Driven Programming, Software Design, User Interface (UI), Data Structures, Graphical Tools
Build toward a degree
Beginner · Course · 1 - 3 Months

University of Colorado Boulder
Skills you'll gain: Real-Time Operating Systems, Systems Architecture, Software Architecture, Software Design, System Design and Implementation, System Programming, Systems Analysis, Embedded Systems, Requirements Analysis, Unix, Operating Systems, Verification And Validation, Real Time Data, Performance Tuning, Performance Testing, System Monitoring, Computer Vision, Image Analysis
Advanced · Course · 1 - 3 Months

École Polytechnique Fédérale de Lausanne
Skills you'll gain: Scalability, Scala Programming, Distributed Computing, Dataflow, Event-Driven Programming, System Design and Implementation, Systems Architecture, Microservices, Software Architecture, Data Pipelines, Software Design Patterns, Cloud Computing, Software Design, Application Frameworks
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Computer Graphics, Software Architecture, Development Environment, Software Design, Maintainability, Software Visualization, Systems Architecture, Software Design Patterns, Code Reusability, Graphics Software, Visualization (Computer Graphics), Systems Design, Cross Platform Development, Computer Graphic Techniques, Image Quality, System Design and Implementation, Video Game Development, Dataflow, Performance Tuning, Scalability
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Restful API, Cloud API, Application Programming Interface (API), Postman API Platform, API Design, API Testing, Java Programming, Java, Mobile Development, Apache Maven, Application Development, Data Access, Web Development, Eclipse (Software), Software Design
Intermediate · Guided Project · Less Than 2 Hours

LearnQuest
Skills you'll gain: Simple Object Access Protocol (SOAP), Restful API, Web Services, Hypertext Markup Language (HTML), HTML and CSS, Java Platform Enterprise Edition (J2EE), Software Design, Java, Extensible Markup Language (XML), Application Programming Interface (API), API Design, Object Oriented Design, Software Design Patterns, Software Architecture, Web Design, Web Design and Development, Web Applications, Front-End Web Development, Web Development, Program Development
Beginner · Specialization · 1 - 3 Months

Board Infinity
Skills you'll gain: Spring Framework, Model View Controller, Java Platform Enterprise Edition (J2EE), Application Performance Management, Software Design Patterns, Java Programming, Java, Enterprise Architecture, Enterprise Application Management, Secure Coding, Software Design, System Monitoring, Security Controls, Software Architecture, Application Security, Application Frameworks, Web Applications, OS Process Management, Memory Management, Data Sharing
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Object Oriented Programming (OOP), Java, Java Programming, Object Oriented Design, Computer Programming, Programming Principles, Software Design, Code Reusability, Data Structures
Beginner · Course · 1 - 3 Months

Skills you'll gain: Blockchain, Front-End Web Development, Application Development, Web Development, Transaction Processing, Development Testing, Frontend Integration, Cryptography, FinTech, Emerging Technologies, Software Design, HTML and CSS, Software Architecture, Test Script Development, User Interface (UI) Design, Experience Design, Javascript, Application Deployment, Payment Systems, Data Management
Intermediate · Course · 1 - 4 Weeks

Packt
Skills you'll gain: Game Design, Video Game Development, Animation and Game Design, Software Design Documents, Software Design, Scripting, Scripting Languages, Program Development, 3D Modeling, Computer Graphics, Interactive Design, Programming Principles, User Interface (UI), Development Environment, Visual Design
Beginner · Course · 1 - 3 Months

Skills you'll gain: Verification And Validation, Embedded Software, Process Modeling, Systems Analysis, Distributed Computing, Theoretical Computer Science, Data Modeling, Software Design, Maintainability, Algorithms, Logical Reasoning
Intermediate · Course · 1 - 4 Weeks