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.

Birla Institute of Technology & Science, Pilani
Skills you'll gain: Software Development Life Cycle, Version Control, Program Development, Software Development, Application Deployment, Git (Version Control System), Software Design Documents, CI/CD, Software Design, DevOps, Unified Modeling Language, GitHub, Debugging, Containerization, Systems Design, Docker (Software), Code Review, Software Documentation, Functional Requirement, Requirements Analysis
Build toward a degree
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Software Development Life Cycle, Cloud-Native Computing, Software Architecture, Hibernate (Java), Database Design, Responsive Web Design, Docker (Software), Containerization, Git (Version Control System), GitHub, Object Oriented Programming (OOP), CI/CD, Restful API, Data Ethics, Java Programming, Model Deployment, Version Control, Database Management, Software Development, Software Design
Beginner · Professional Certificate · 3 - 6 Months

Skills you'll gain: Model Deployment, MLOps (Machine Learning Operations), Microservices, Containerization, Application Deployment, Service Level, Debugging, Unit Testing, Software Testing, System Monitoring, Continuous Deployment, Docker (Software), Software Architecture, Kubernetes, Software Design, Restful API, Systems Architecture, Cloud Computing Architecture, Application Performance Management, Continuous Monitoring
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Embedded Software, Embedded Systems, Pseudocode, Microarchitecture, Hardware Architecture, Computer Architecture, Software Systems, Software Design, System Programming, Systems Design, Software Design Patterns, Systems Integration, Programming Principles, Event-Driven Programming, System Configuration, Real Time Data, Peripheral Devices, Memory Management
Beginner · Course · 1 - 4 Weeks

The Hong Kong University of Science and Technology
Skills you'll gain: Software Design Patterns, Systems Development Life Cycle, Software Architecture, Software Development Life Cycle, Software Quality Assurance, Software Design, Software Engineering, Quality Assurance, Systems Analysis, Object Oriented Design, Systems Design, Project Management, Project Planning, Unified Modeling Language, Diagram Design
Intermediate · Course · 1 - 3 Months

Vanderbilt University
Skills you'll gain: Claude Code, Prompt Patterns, Prompt Engineering, Anthropic Claude, Token Optimization, Multimodal Prompts, Version Control, AI Workflows, Generative AI Agents, Git (Version Control System), Generative AI, Software Quality Assurance, Software Development, Artificial Intelligence, Software Development Life Cycle, Software Architecture, Automation, Software Testing, Software Design, Software Development Methodologies
Beginner · Course · 1 - 3 Months

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), C and C++, Object Oriented Programming (OOP), Object Oriented Design, Programming Principles, Software Design Patterns, Computer Programming, Algorithms, C (Programming Language), Software Design, Program Development, Graph Theory, Code Reusability, Computational Logic, Artificial Intelligence, Data Structures, Memory Management, File I/O, Simulations
Beginner · Specialization · 3 - 6 Months

Coursera
Skills you'll gain: Embedded Software, Real-Time Operating Systems, Embedded Systems, Software Architecture, Code Reusability, Pseudocode, Microarchitecture, Memory Management, Systems Architecture, Computer Hardware, System Programming, Computer Architecture, Software Design, Cross Platform Development, Software Systems, Hardware Architecture, Systems Design, Software Design Patterns, Internet Of Things, Hardware Troubleshooting
Intermediate · Specialization · 1 - 3 Months

Birla Institute of Technology & Science, Pilani
Skills you'll gain: Object Oriented Design, Software Architecture, Software Design, Software Design Patterns, Object Oriented Programming (OOP), Software Development Life Cycle, Software Development, Software Engineering, Maintainability, System Design and Implementation, Service Oriented Architecture, Technical Design, Web Services, Model View Controller, Event-Driven Programming, Distributed Computing
Build toward a degree
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Real-Time Operating Systems, Embedded Software, Software Architecture, Code Reusability, Embedded Systems, Memory Management, Systems Architecture, Software Design, Software Design Patterns, Performance Tuning, Safety Assurance, Software Testing, Secure Coding, Scalability, Data Sharing
Intermediate · Course · 1 - 4 Weeks

Vanderbilt University
Skills you'll gain: Claude Code, Prompt Engineering, ChatGPT, Retrieval-Augmented Generation, Generative AI Agents, Prompt Patterns, Anthropic Claude, Agentic Workflows, Token Optimization, Multimodal Prompts, Generative AI, AI Personalization, Artificial Intelligence and Machine Learning (AI/ML), Software Engineering, Software Development Tools, Software Development, Automation, Software Architecture, Software Testing, Software Design
Beginner · Specialization · 3 - 6 Months

University of Colorado System
Skills you'll gain: Database Design, Software Design, User Experience Design, Database Theory, Usability, UI/UX Research, Usability Testing, User Interface and User Experience (UI/UX) Design, Relational Databases, Software Visualization, Software Architecture, Software Design Patterns, User Interface (UI) Design, Application Security, Design Strategies, Security Software, Servers, Operating Systems
Intermediate · Course · 1 - 3 Months