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.

Universidad Nacional Autónoma de México
Skills you'll gain: Android Studio, Android (Operating System), Android Development, Mockups, Mobile Development, Mobile Development Tools, Software Design, Software Design Patterns, User Interface (UI) Design, Application Design, Prototyping, UI Components, Development Environment, GitHub, Configuration Management
Mixed · Course · 1 - 3 Months

Duke University
Skills you'll gain: Software Design, Code Reusability, Program Development, Java, Java Programming, AI Personalization, Object Oriented Programming (OOP), Data Preprocessing, Data Structures, Algorithms, File I/O, Hypertext Markup Language (HTML)
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Digital Transformation, Cloud Computing Architecture, Systems Design, Business Transformation, SAP S/4HANA, Cloud Computing, Systems Architecture, System Design and Implementation, Security Management, Software Architecture, Cyber Attacks, Software Design, Security Strategy, SAP Applications, Cyber Governance, Cybersecurity, Cloud Platforms, ABAP RESTful Programming Model (RAP), Case Studies, Business Analysis
Beginner · Course · 1 - 3 Months

Heriot-Watt University
Skills you'll gain: Database Systems, Database Management, Database Software, Artificial Intelligence, Graph Theory, Software Engineering, Database Development, Java Programming, Requirements Analysis, Artificial Intelligence and Machine Learning (AI/ML), Database Architecture and Administration, Statistical Methods, NoSQL, Computational Logic, Software Design, Data Structures, Algorithms, Administration, Computer Science, Performance Measurement
Earn a degree
Degree · 1 - 4 Years

EDUCBA
Skills you'll gain: Embedded Software, Real-Time Operating Systems, Software Development, Software Design, Software Architecture, Embedded Systems, Software Systems, Middleware, Systems Architecture, Extensible Markup Language (XML), System Configuration, Application Frameworks, Interoperability, Event-Driven Programming, Communication Systems
Beginner · Course · 1 - 4 Weeks

University of Michigan
Skills you'll gain: Memory Management, C (Programming Language), C++ (Programming Language), Object Oriented Programming (OOP), Object Oriented Design, C and C++, Programming Principles, Data Structures, Secure Coding, Algorithms, Software Design, Application Security, Other Programming Languages, System Programming, Python Programming, Computer Architecture, Computer Programming, Java, Performance Tuning, Numerical Analysis
Intermediate · Specialization · 3 - 6 Months

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Object Oriented Design, Software Design Patterns, Object Oriented Programming (OOP), Software Design, Programming Principles, C (Programming Language), Algorithms, Memory Management, Graph Theory, Artificial Intelligence, Data Structures, Simulations
Intermediate · Course · 1 - 3 Months

Coursera
Skills you'll gain: Figma (Design Software), UI Components, Style Guides, Web Components, Software Design, Design Elements And Principles, Application Design, Web Design, Application Development, Software Engineering
Intermediate · Guided Project · Less Than 2 Hours

Amazon
Skills you'll gain: File I/O, Object Oriented Programming (OOP), Object Oriented Design, Code Reusability, Java Programming, Java, Software Design, File Management, Data Persistence
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: File I/O, Memory Management, Debugging, C++ (Programming Language), C and C++, Software Documentation, Development Testing, Code Reusability, Vibe coding, Programming Principles, API Design, Program Development, Pseudocode, Software Architecture, Software Design, Functional Design, Performance Tuning, Application Design, Technical Documentation, Generative AI
Beginner · Professional Certificate · 3 - 6 Months

University of Alberta
Skills you'll gain: Service Oriented Architecture, API Design, Web Services, Simple Object Access Protocol (SOAP), Microservices, Restful API, Software Architecture, Application Programming Interface (API), Web Applications, Software Design, JSON, Android Development
Intermediate · Course · 1 - 4 Weeks

University of Colorado Boulder
Skills you'll gain: Field-Programmable Gate Array (FPGA), Hardware Design, Laboratory Experience, Laboratory Reports, Embedded Software, Electronic Hardware, Electrical and Computer Engineering, Electronics Engineering, Laboratory Testing, Engineering Documentation, Electronic Systems, Debugging, System Design and Implementation, Program Development, Software Design, Software Development, Functional Design, Simulation and Simulation Software, Development Environment, Eclipse (Software)
Intermediate · Course · 1 - 4 Weeks