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.

University of Michigan
Skills you'll gain: Object Oriented Programming (OOP), Object Oriented Design, Animations, Interactive Data Visualization, Software Design, Data Structures, Visualization (Computer Graphics), Interactive Design, Programming Principles, Graphic and Visual Design, Computer Graphic Techniques, Python Programming, Event-Driven Programming, Digital Design, Simulations, Computer Graphics, Design, Game Design, Computational Logic, Computational Thinking
Beginner · Specialization · 3 - 6 Months

Epic Games
Skills you'll gain: Game Design, Unreal Engine, Video Game Development, Software Design Documents, Ideation, 3D Modeling, Animation and Game Design, 3D Assets, User Experience Design, Usability, User Interface (UI), User Interface and User Experience (UI/UX) Design, User Experience, User Interface (UI) Design, Interactive Design, Virtual Environment, Software Documentation, Version Control, Conceptual Design, Prototyping
Beginner · Professional Certificate · 3 - 6 Months

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 Alberta
Skills you'll gain: Agile Software Development, Project Risk Management, Requirements Analysis, Agile Methodology, Agile Project Management, Kanban Principles, Risk Management, Requirements Elicitation, Sprint Retrospectives, Functional Requirement, Sprint Planning, Software Development Methodologies, Agile Product Development, Software Development, Risk Analysis, Scrum (Software Development), Software Technical Review, Risk Management Framework, Product Management, Project Management
Beginner · Specialization · 3 - 6 Months

Pearson
Skills you'll gain: Systems Architecture, Software Architecture, Systems Design, Software Design, System Design and Implementation, Functional Design, Systems Development, Service Oriented Architecture, Verification And Validation, Maintainability, Systems Analysis
Intermediate · Course · 1 - 4 Weeks

University of Minnesota
Skills you'll gain: User Story, Agile Software Development, Software Design Patterns, Design Thinking, Software Development Methodologies, Software Design, Agile Methodology, Agile Project Management, Process Mapping, Software Engineering, Kanban Principles, Kaizen Methodology, Software Development Life Cycle, Software Quality Assurance, Agile Product Development, Application Security, Security Architecture Review, Scrum (Software Development), Object Oriented Design, Software Architecture
Intermediate · Specialization · 3 - 6 Months
Skills you'll gain: Application Security, Security Testing, Secure Coding, Security Requirements Analysis, Open Web Application Security Project (OWASP), Cyber Security Assessment, Security Software, Software Design, Security Controls, Cyber Security Strategy, Computer Security, Information Systems Security, Security Strategy, AI Security, Data Security, Network Security, Security Management, Application Development, Computer Programming, Python Programming
Mixed · 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

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

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

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, Software Visualization, Exploitation techniques, Cryptography, Cryptographic Protocols, Blockchain, Public Key Cryptography Standards (PKCS), Data Validation
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 Development Tools, JUnit, Software Testing, Diagram Design, Data Ethics, Test Automation, Dataflow
Intermediate · Course · 1 - 3 Months