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), Animation and Game Design, Interactive Data Visualization, Software Design, Program Development, Data Structures, Visualization (Computer Graphics), Interactive Design, Programming Principles, Graphic and Visual Design, Python Programming, Generative AI, Simulations, Computer Graphics, Design, Computational Logic, Creative Design, Computer Programming, Computational Thinking, File I/O
Beginner · Specialization · 3 - 6 Months

University of Minnesota
Skills you'll gain: UI/UX Research, User Research, Design Research, User Interface (UI), User Interface (UI) Design, Usability Testing, Prototyping, Usability, User Experience, User Centered Design, Graphic and Visual Design, Ideation, Web Content Accessibility Guidelines, Design, Peer Review, User Experience Design, Human Computer Interaction, Interaction Design, Qualitative Research, Mockups
Intermediate · Specialization · 3 - 6 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

Pontificia Universidad Católica del Perú
Skills you'll gain: Software Development Life Cycle, Unified Modeling Language, Software Design, Software Engineering, Systems Development, Software Development, Waterfall Methodology, Requirements Analysis
Beginner · Course · 1 - 4 Weeks

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

University of Colorado System
Skills you'll gain: Unified Modeling Language, Unit Testing, Software Design, Data Flow Diagrams (DFDs), Object Oriented Design, Software Engineering, Software Development Tools, Software Testing, Program Development, Software Architecture, Ethical Standards And Conduct, Algorithms
Intermediate · Course · 1 - 3 Months

Board Infinity
Skills you'll gain: React Native, Mobile Development, Responsive Web Design, Docker (Software), Azure DevOps, Restful API, Cross Platform Development, Microservices, Containerization, User Interface and User Experience (UI/UX) Design, DevOps, UI Components, ASP.NET, iOS Development, CI/CD, User Interface (UI) Design, .NET Framework, Unit Testing, Software Testing, Version Control
Intermediate · Specialization · 1 - 3 Months

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

Pontificia Universidad Católica del Perú
Skills you'll gain: User Story, Human Computer Interaction, Software Development Life Cycle, Functional Requirement, Unified Modeling Language, User Experience Design, Requirements Analysis, Prototyping, Usability, User Experience, User Interface (UI) Design, User Requirements Documents, System Requirements, Interaction Design, User Centered Design, Human Factors, User Research, Software Design, Software Engineering, Systems Development
Beginner · Specialization · 3 - 6 Months

Board Infinity
Skills you'll gain: Test Case, Test Planning, Test Automation, System Testing, Test Engineering, Continuous Integration, Acceptance Testing, Test Tools, CI/CD, Continuous Delivery, Regression Testing, Quality Assurance, Software Development Tools, Software Engineering Tools
Beginner · Course · 1 - 4 Weeks

University of Colorado Boulder
Skills you'll gain: Embedded Software, Embedded Systems, Debugging, Data Structures, System Programming, Microarchitecture, C (Programming Language), Hardware Architecture, Computer Architecture, Integrated Development Environments, Software Design, Maintainability, System Configuration, Development Environment, Peripheral Devices
Intermediate · Course · 1 - 4 Weeks
University of California San Diego
Skills you'll gain: Interaction Design, Usability, Human Centered Design, Mockups, Storyboarding, User Experience Design, Design Thinking, Prototyping, User Interface (UI) Design, User Research, Interviewing Skills
Mixed · Course · 1 - 4 Weeks