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: Software Development Life Cycle, Linux Commands, Software Architecture, Bash (Scripting Language), Restful API, Shell Script, Git (Version Control System), GitHub, Flask (Web Framework), Software Design, Version Control, File Management, Application Deployment, Linux, Software Development Methodologies, Software Design Patterns, Data Import/Export, Programming Principles, Web Scraping, Python Programming
Beginner · Specialization · 3 - 6 Months

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

Skillshare
Skills you'll gain: Unreal Engine, Animations, Animation and Game Design, Virtual Environment, Game Design, 3D Modeling, 3D Assets, Motion Graphics, Video Game Development, Timelines, Prototyping, Data Import/Export, Creativity, User Interface (UI), Interactive Design
Beginner · Specialization · 3 - 6 Months

University of Colorado System
Skills you'll gain: Requirements Elicitation, Software Design Documents, Requirements Analysis, Security Requirements Analysis, Mockups, Interviewing Skills, User Requirements Documents, Storyboarding, Functional Requirement, Goal Setting, Software Development Methodologies, Software Documentation, Agile Methodology, Business Requirements, Unified Modeling Language, Risk Management Framework, System Requirements, Meeting Facilitation, Prototyping, Software Development Life Cycle
Beginner · Specialization · 3 - 6 Months
University of California San Diego
Skills you'll gain: Design Research, Interaction Design, User Experience Design, Statistical Analysis, Usability, Ideation, User Research, Graphic and Visual Design, User Interface (UI) Design, Experimentation, Prototyping, Human Centered Design, Usability Testing, Human Computer Interaction, A/B Testing, Human Factors, Collaborative Software, Telecommuting, R Programming, Storyboarding
Intermediate · Specialization · 3 - 6 Months

University of Colorado Boulder
Skills you'll gain: User Research, Persona (User Experience), Internet Of Things, User Experience, Verification And Validation, Usability Testing, User Centered Design, Cloud Computing Architecture, API Design, User Interface (UI), Amazon Web Services, User Interface (UI) Design, Network Protocols, Human Computer Interaction, Embedded Systems, Prototyping, Embedded Software, User Interface and User Experience (UI/UX) Design, Usability, Software Development
Build toward a degree
Intermediate · Specialization · 3 - 6 Months

University of Colorado System
Skills you'll gain: Unified Modeling Language, Unit Testing, Software Design, Software Engineering Tools, Software Engineering, Systems Design, Design, Development Testing, Data Ethics, Test Automation, Computer Programming Tools, Software Architecture, Software Development Methodologies, Dataflow
Intermediate · Course · 1 - 3 Months

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

Pearson
Skills you'll gain: Software Architecture, Systems Design, Software Design, Solution Architecture, Service Oriented Architecture, Maintainability, Systems Analysis, Enterprise Architecture, Scalability, Requirements Analysis
Intermediate · Course · 1 - 4 Weeks

University of Michigan
Skills you'll gain: Object Oriented Programming (OOP), Animation and Game Design, Interactive Data Visualization, Software Design, Technical Design, Data Structures, Visualization (Computer Graphics), Interactive Design, Programming Principles, Graphic and Visual Design, Python Programming, Generative AI, Simulations, Computer Graphics, Design, Computational Logic, Computer Programming, Creative Design, Data Import/Export, Computational Thinking
Beginner · Specialization · 3 - 6 Months

University of Colorado System
Skills you'll gain: Distributed Denial-Of-Service (DDoS) Attacks, Intrusion Detection and Prevention, Role-Based Access Control (RBAC), AWS Identity and Access Management (IAM), Amazon Web Services, Amazon Elastic Compute Cloud, Cloud Computing, Malware Protection, Cloud Security, Load Balancing, Security Engineering, User Accounts, Authorization (Computing), Network Security, Identity and Access Management, Threat Detection, Threat Modeling, Information Systems Security, Cybersecurity, Geographic Information Systems
Beginner · Specialization · 3 - 6 Months

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