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 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
★ 4.7 (12K) · Beginner · Specialization · 3 - 6 Months

University of Colorado System
Skills you'll gain: Database Design, Software Design, User Experience Design, Database Theory, UI/UX Research, Usability Testing, User Interface and User Experience (UI/UX) Design, Relational Databases, Software Visualization, Software Architecture, Software Design Patterns, Systems Design, User Interface (UI) Design, Application Security, Design Strategies, Other Programming Languages, Servers, Operating Systems
★ 4.7 (135) · Intermediate · Course · 1 - 3 Months

Skills you'll gain: LLM Application, Kubernetes, Systems Architecture, Large Language Modeling, Data Pipelines, Software Architecture, Software Design, Model Deployment, Application Deployment, Microservices, Apache Airflow, Containerization, Infrastructure Architecture, Cloud-Native Computing, Scalability, AWS CloudFormation, Managed Services, Azure DevOps, Open Source Technology, Diagram Design
Intermediate · Course · 1 - 3 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 Infrastructure, Network Protocols, Data Integrity
★ 5 (6) · Intermediate · Course · 1 - 3 Months

University of Michigan
Skills you'll gain: Object Oriented Programming (OOP), Object Oriented Design, Animations, Software Design, Data Structures, Visualization (Computer Graphics), Interactive Design, Programming Principles, Computer Graphic Techniques, Python Programming, Graphic and Visual Design, Event-Driven Programming, Digital Design, Simulations, Computer Graphics, Design, Graphical Tools, Game Design, Computational Logic, Computational Thinking
★ 5 (7) · Beginner · Specialization · 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, Java, Software Engineering, Java Programming, Computer Programming, User Interface and User Experience (UI/UX) Design, Unit Testing, Software Design, Software Architecture, User Interface (UI) Design, API Design, Model View Controller, Software Development, Test Driven Development (TDD), Databases
★ 4.3 (21) · Intermediate · 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 Development, Software Documentation, Diagram Design, Software Technical Review, Application Deployment, Data Storage
★ 4.5 (942) · Intermediate · Course · 1 - 4 Weeks
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
★ 4.8 (3.2K) · Mixed · Course · 1 - 4 Weeks

University of Alberta
Skills you'll gain: Object Oriented Design, Unified Modeling Language, Software Design, Object Oriented Programming (OOP), Java, Java Programming, Maintainability, Code Reusability, Software Design Documents, Application Design, Conceptual Design, Diagram Design, Design Elements And Principles
★ 4.7 (2.4K) · Intermediate · Course · 1 - 4 Weeks

Pontificia Universidad Católica del Perú
Skills you'll gain: Software Development Life Cycle, Unified Modeling Language, Software Development Methodologies, Software Development, Process Driven Development, Waterfall Methodology
★ 4.9 (139) · Beginner · Course · 1 - 4 Weeks

Yale University
Skills you'll gain: Clinical Trials, Software Development Life Cycle, Medical Devices, Software Quality Assurance, Usability, Medical Privacy, Software Quality (SQA/SQC), Verification And Validation, Human Factors, Biomedical Engineering, Risk Management, User Interface (UI), Software Design, Regulatory Compliance, Healthcare Project Management, Health Technology, Machine Learning, Software Testing, Entrepreneurship, User Research
★ 4.8 (291) · Intermediate · Course · 3 - 6 Months

The Hong Kong University of Science and Technology
Skills you'll gain: Requirements Analysis, Unified Modeling Language, Object Oriented Design, Functional Requirement, Data Modeling, Systems Analysis, Object Oriented Programming (OOP), Systems Development Life Cycle, System Requirements, Functional Specification, Diagram Design, Software Development, Software Engineering, Software Systems, Software Documentation, Model Evaluation, Project Planning, Project Management
★ 4.6 (383) · Intermediate · Course · 1 - 3 Months