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

Skills you'll gain: User Centered Design, User Experience Design, Responsive Web Design, User Interface (UI) Design, Web Design and Development, Prototyping, Front-End Web Development, Graphic and Visual Design, User Interface and User Experience (UI/UX) Design, Figma (Design Software), Design Elements And Principles, Web Design, Wireframing, Typography, Application Design, Layout Design, UI Components, Web Applications, Mobile Development, Design Thinking
Beginner · Course · 1 - 4 Weeks

Skillshare
Skills you'll gain: Unreal Engine, Animations, 3D Assets, Animation and Game Design, Virtual Environment, Game Design, 3D Modeling, Video Game Development, Computer Graphics, Timelines, Visual Storytelling, Prototyping, Design Strategies, Data Import/Export, Layout Design, User Interface (UI), Interactive Design, Application Deployment, Creative Design, Software Installation
Beginner · Specialization · 3 - 6 Months

University of Alberta
Skills you'll gain: Software Architecture, Unified Modeling Language, Systems Architecture, Software Design, Software Design Documents, Software Visualization, Product Family Engineering, Software Systems, Software Development, Software Documentation, Diagram Design, Software Technical Review, Application Deployment
Intermediate · 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, Maintainability, Performance Tuning, Safety Assurance, Secure Coding, Scalability, Data Sharing, OS Process Management
Intermediate · Course · 1 - 4 Weeks

University of Michigan
Skills you'll gain: Data Structures, Design Software, 3D Modeling, Computational Logic, Computer Graphics, Visualization (Computer Graphics), Design, Programming Principles, Python Programming, Animations, Scripting, Computer Programming, Scripting Languages
Beginner · Course · 1 - 3 Months

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, Agile Product Development, Application Security, Scrum (Software Development), Object Oriented Design, Software Architecture, Software Quality (SQA/SQC), Requirements Analysis
Intermediate · Specialization · 3 - 6 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 Cryptography Standards (PKCS), Public Key Infrastructure, Multi-Factor Authentication, Network Protocols, Data Integrity
Build toward a degree
Intermediate · Course · 1 - 3 Months
University of Alberta
Skills you'll gain: Requirements Analysis, Requirements Elicitation, Functional Requirement, Backlogs, User Requirements Documents, Change Control, User Story, System Requirements, Acceptance Testing, Agile Methodology, Agile Software Development
Mixed · Course · 1 - 4 Weeks

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

Skills you'll gain: Secure Coding, Application Security, Security Testing, Software Development Methodologies, Configuration Management, Software Development, Software Configuration Management, Systems Development Life Cycle, Software Development Life Cycle, Package and Software Management, Software Testing, Security Engineering, API Testing, Application Programming Interface (API), Cloud Security, Process Driven Development, Risk Management Framework
Intermediate · Course · 1 - 4 Weeks

Pragmatic AI Labs
Skills you'll gain: Computational Logic, Verification And Validation, Rust (Programming Language), Test Engineering, Functional Testing, Mathematical Modeling, Design Specifications, White-Box Testing, Software Testing, Secure Coding, Applied Machine Learning, Programming Principles, Test Tools, Theoretical Computer Science, Scientific Methods, YAML, Other Programming Languages
Advanced · Course · 1 - 3 Months