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.

Microsoft
Skills you'll gain: Video Game Development, Game Design, Program Development, Web Development Tools, Software Development, Software Development Tools, Computer Programming Tools, Development Environment, Software Documentation, Data Validation, Javascript, Debugging, Integrated Development Environments, Maintainability, Programming Principles, Data Structures, Code Reusability, Software Design, Computer Programming, Object Oriented Programming (OOP)
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Object Oriented Programming (OOP), File I/O, Data Persistence, Object Oriented Design, Java, Java Programming, Code Reusability, Maintainability, Software Design, Application Development, Computer Programming, Data Import/Export, Data Management, Data Validation
Intermediate · Course · 1 - 4 Weeks

Universidade de São Paulo
Skills you'll gain: Software Design Patterns, Software Design, Software Architecture, Maintainability, Object Oriented Design, Object Oriented Programming (OOP), Code Reusability, Application Frameworks, Systems Architecture, Software Engineering, Programming Principles, Software Quality (SQA/SQC)
Advanced · 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

Birla Institute of Technology & Science, Pilani
Skills you'll gain: Algorithms, Data Store, Data Management, Computational Thinking, Memory Management, Data Access, C and C++, Software Design, Problem Solving, Complex Problem Solving
Build toward a degree
Mixed · Course · 1 - 3 Months

University of California San Diego
Skills you'll gain: Software Design, Systems Design, Software Design Documents, Software Documentation, System Design and Implementation, Internet Of Things, Technical Documentation, Technical Communication, Technical Writing, Mobile Development, Test Case, Development Testing, System Testing, Software Development, Embedded Software, Communication Systems, Embedded Systems, Systems Integration, Prototyping, System Implementation
Mixed · Course · 1 - 4 Weeks

University of California San Diego
Skills you'll gain: Debugging, Object Oriented Programming (OOP), Object Oriented Design, Java, Java Programming, Teaching, Programming Principles, Program Development, Pedagogy, Computer Programming, Software Design, Computational Thinking, Education Software and Technology, Cultural Responsiveness, Digital pedagogy, Test Case, Computational Logic, Algorithms, Data Structures
Beginner · Specialization · 3 - 6 Months

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

LearnQuest
Skills you'll gain: JUnit, Test Driven Development (TDD), Unit Testing, Software Testing, Test Case, Eclipse (Software), Test Script Development, Test Data, Development Testing, Test Automation, Test Execution Engine, Integrated Development Environments, Testability, Java, Test Tools, Program Development, Maintainability, Software Design
Intermediate · Specialization · 1 - 3 Months

Microsoft
Skills you'll gain: File I/O, Memory Management, C and C++, C++ (Programming Language), Code Reusability, Vibe coding, API Design, Software Architecture, Software Design, Functional Design, Maintainability, Data Import/Export, Data Structures, AI literacy, AI Integrations, Data Validation, Performance Tuning, Secure Coding, Build Tools, Package and Software Management
Beginner · Course · 1 - 3 Months

LearnQuest
Skills you'll gain: Software Design Patterns, Object Oriented Programming (OOP), Object Oriented Design, Programming Principles, Software Design, Algorithms, Software Architecture, Computer Programming, Python Programming, Model View Controller
Beginner · Course · 1 - 4 Weeks