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: User Story, User Interface (UI), User Interface and User Experience (UI/UX) Design, Usability, UI/UX Strategy, Design Thinking, User Interface (UI) Design, User Experience Design, Mockups, User Experience, Wireframing, Usability Testing, Figma (Design Software), Application Design, AI literacy, Responsible AI
Beginner · Course · 1 - 3 Months

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

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

Epic Games
Skills you'll gain: Game Design, Unreal Engine, Video Game Development, Ideation, 3D Modeling, Software Documentation, Animation and Game Design, Software Design Documents, 3D Assets, Visualization (Computer Graphics), User Experience Design, Usability, User Interface (UI), User Interface and User Experience (UI/UX) Design, User Experience, User Interface (UI) Design, Interactive Design, Collaborative Software, Virtual Environment, Prototyping
Beginner · Professional Certificate · 3 - 6 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

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

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

University of Colorado System
Skills you'll gain: Application Security, Vulnerability Assessments, Software Design, Threat Modeling, Vulnerability Management, Security Engineering, Secure Coding, Software Design Patterns, Software Architecture, Threat Management, Software Visualization, Exploitation techniques, Cryptography, Blockchain, Public Key Cryptography Standards (PKCS)
Intermediate · Course · 1 - 3 Months

University of Colorado System
Skills you'll gain: Unified Modeling Language, Unit Testing, Software Design, Data Flow Diagrams (DFDs), Software Engineering Tools, Software Engineering, Software Development Tools, JUnit, Software Testing, Diagram Design, Design, Data Ethics, Test Automation, Dataflow
Intermediate · Course · 1 - 3 Months

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

Ball State University
Skills you'll gain: Cryptography, Application Security, Encryption, Authentications, Cybersecurity, Cryptographic Protocols, Data Encryption Standard, Advanced Encryption Standard (AES), Email Security, Network Security, Information Systems Security, Secure Coding, Key Management, Application Development, Public Key Infrastructure, Network Protocols, Data Integrity
Build toward a degree
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Software Development Life Cycle, Linux Commands, Software Architecture, Bash (Scripting Language), Restful API, Shell Script, Git (Version Control System), GitHub, Full-Stack Web Development, Software Design, Flask (Web Framework), Version Control, File Management, Unix Shell, Web Design and Development, Linux, Application Deployment, Python Programming, NumPy, Data Analysis
Beginner · Specialization · 3 - 6 Months