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.

DeepLearning.AI
Skills you'll gain: Database Design, Software Design Patterns, Databases, Application Design, Database Management, Software Design, Software Architecture, System Design and Implementation, Large Language Modeling, Artificial Intelligence, Security Testing, Secure Coding, Application Programming Interface (API), Performance Tuning
Beginner · Course · 1 - 4 Weeks

University of Colorado Boulder
Skills you'll gain: Design Elements And Principles, Graphic Design, Design, Typography, Adobe InDesign, Content Creation, Design Research, Information Architecture, Color Theory, Adobe Photoshop
Beginner · Course · 1 - 4 Weeks

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

Skills you'll gain: Version Control, Debugging, Software Design Patterns, Object Oriented Design, Object Oriented Programming (OOP), Software Development, Git (Version Control System), Programming Principles, Software Design, Computer Programming, Software Engineering, Integrated Development Environments, Command-Line Interface
Beginner · Course · 1 - 4 Weeks

Yale University
Skills you'll gain: Clinical Trials, Software Development Life Cycle, Medical Devices, Usability, Software Development, Medical Privacy, Human Computer Interaction, Regulatory Affairs, Verification And Validation, Regulatory Requirements, Quality Management Systems, Biomedical Engineering, Risk Management, Software Design, Health Technology, Software Testing, Entrepreneurship, Artificial Intelligence and Machine Learning (AI/ML), User Research, Probability & Statistics
Intermediate · Course · 3 - 6 Months

The Hong Kong University of Science and Technology
Skills you'll gain: Software Design Patterns, Requirements Analysis, Systems Development Life Cycle, Software Architecture, Acceptance Testing, Software Development Methodologies, Unified Modeling Language, Software Development Life Cycle, Configuration Management, Software Quality Assurance, Debugging, Software Design, Software Engineering, Software Testing, Object Oriented Design, Functional Requirement, Data Modeling, Systems Design, Project Management, Project Planning
Intermediate · Specialization · 3 - 6 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, Software Development Life Cycle, Software Quality Assurance, Application Security, Scrum (Software Development), Object Oriented Design, Software Architecture, User Experience Design, Software Quality (SQA/SQC), Requirements Analysis
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, Solution Architecture, Software Development, Software Documentation, Software Design Patterns, Enterprise Architecture, Maintainability, Scalability, Databases
Intermediate · Course · 1 - 4 Weeks

University of Alberta
Skills you'll gain: Model View Controller, Software Design Patterns, Software Design, Unified Modeling Language, Object Oriented Design, Code Review, Software Architecture, Programming Principles, Maintainability, Java, Application Design
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Software Development Life Cycle, Software Architecture, Software Design, Software Development Methodologies, Software Design Patterns, Development Environment, Unified Modeling Language, Software Engineering, Web Applications, Software Development Tools, Software Development, Application Deployment, Programming Principles, Front-End Web Development, Back-End Web Development, Python Programming
Beginner · Course · 1 - 3 Months

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

Skills you'll gain: Software Development Life Cycle, Object Oriented Programming (OOP), Java Programming, Java, Program Development, Software Development, Development Environment, Integrated Development Environments, Computer Programming, Software Engineering, Programming Principles
Beginner · Course · 1 - 4 Weeks