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.

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

Microsoft
Skills you'll gain: Debugging, C# (Programming Language), Event-Driven Programming, Version Control, Microsoft Copilot, Application Deployment, Git (Version Control System), Object Oriented Programming (OOP), Web Content Accessibility Guidelines, Software Design Patterns, Software Architecture, .NET Framework, Application Development, Microsoft Visual Studio, Software Design, Program Development, Data Validation, Microsoft Development Tools, Security Testing, Software Development Tools
Beginner · Professional Certificate · 3 - 6 Months

University of Colorado Boulder
Skills you'll gain: Field-Programmable Gate Array (FPGA), Hardware Design, Verification And Validation, Electronic Systems, Embedded Systems, Electronics Engineering, Application Specific Integrated Circuits, Electronic Hardware, Electronics, Systems Design, Software Design, Program Development, Integrated Development Environments, System Design and Implementation, Computer Architecture, Eclipse (Software), Computational Logic, Hardware Architecture, Software Development, Computer Engineering
Build toward a degree
Intermediate · Specialization · 3 - 6 Months

Michigan State University
Skills you'll gain: Unity Engine, Game Design, Video Game Development, Prototyping, 3D Modeling, Software Design Documents, Peer Review, Cross Platform Development, C# (Programming Language), User Interface (UI), 3D Assets, Animation and Game Design, Software Design, Storytelling, Software Documentation, User Experience Design, Conceptual Design, Computer Graphics, Ideation, Multimedia
Beginner · Specialization · 3 - 6 Months

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

Skills you'll gain: Debugging, C++ (Programming Language), Software Documentation, API Design, Program Development, Pseudocode, Software Architecture, Software Design, Maintainability, Computational Thinking, System Programming, Data Structures, Programming Principles, Computer Programming, Generative AI Agents, Integrated Development Environments, Technical Documentation, Generative AI, Application Development, Data Validation
Beginner · Professional Certificate · 3 - 6 Months

University of Colorado Boulder
Skills you'll gain: Object Oriented Design, JUnit, Object Oriented Programming (OOP), Unified Modeling Language, Software Design Patterns, Software Testing, Software Engineering, Java, Java Programming, Computer Programming, Application Design, User Interface and User Experience (UI/UX) Design, Unit Testing, Software Design, Software Architecture, API Design, Model View Controller, Program Development, Software Development, Databases
Intermediate · Specialization · 3 - 6 Months

Birla Institute of Technology & Science, Pilani
Skills you'll gain: Object Oriented Design, Software Architecture, Software Design, Software Design Patterns, Software Development Life Cycle, Software Development, Software Engineering, Maintainability, Systems Architecture, Service Oriented Architecture, Technical Design, Web Services, Model View Controller, Event-Driven Programming
Intermediate · Course · 1 - 3 Months

University of Colorado System
Skills you'll gain: Software Design, Software Development Life Cycle, Application Security, Technical Design, Software Architecture, Software Development Methodologies, Conceptual Design, Requirements Analysis
Mixed · Course · 1 - 3 Months

Skills you'll gain: Real-Time Operating Systems, Embedded Software, Software Architecture, Embedded Systems, Systems Architecture, Software Systems, Software Design, Application Design, Software Design Patterns, Maintainability, Performance Tuning, Safety Assurance, Interoperability, Real Time Data, Secure Coding, Scalability, Design Strategies
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Prompt Engineering, 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, Java Programming, Model Deployment, Engineering Software, Version Control, Database Management, Software Design
Beginner · Professional Certificate · 3 - 6 Months
University of Colorado Boulder
Skills you'll gain: Computational Logic, Systems Design, Verification And Validation, Systems Analysis, Software Systems, Theoretical Computer Science, Computational Thinking, System Design and Implementation, Simulations, Programming Principles, Software Architecture, Software Design, Model Evaluation, Graph Theory, Software Testing, Hardware Architecture, Software Quality Assurance, Computer Architecture, Algorithms, Logical Reasoning
Beginner · Specialization · 1 - 3 Months