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: Prompt Engineering, Large Language Modeling, Database Design, LLM Application, Database Development, Software Documentation, Software Design Patterns, Databases, Software Testing, Application Design, Technical Documentation, Generative AI, AI Integrations, AI Enablement, Software Design, Code Review, Dependency Analysis, Software Engineering, Software Development, Machine Learning
★ 4.6 (850) · Beginner · Professional Certificate · 1 - 3 Months

Skills you'll gain: Unit Testing, Software Development Life Cycle, Bash (Scripting Language), Package and Software Management, Software Architecture, Linux Commands, Shell Script, Unix Shell, Linux, Git (Version Control System), GitHub, Full-Stack Web Development, Flask (Web Framework), Software Design, Version Control, Web Development, Application Deployment, Python Programming, NumPy, Data Analysis
★ 4.6 (52K) · Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Angular, Application Deployment, Unit Testing, Application Design, Application Development, Software Testing, Scalability, Development Testing, Test Case, Performance Tuning, Web Servers, Software Design, Software Architecture, API Design, Web Design and Development, Maintainability, UI Components
Advanced · Course · 1 - 4 Weeks

Skills you'll gain: Software Architecture, Software Design Patterns, Software Design, Microservices, Maintainability, System Design and Implementation, Performance Tuning, Model View Controller, Application Design, Programming Principles, Scalability, Python Programming, Code Reusability, Object Oriented Programming (OOP)
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Prompt Engineering, Prompt Patterns, Generative AI, Data Ethics, Generative AI Agents, ChatGPT, AI literacy, Software Design, AI Integrations, Software Architecture, Artificial Intelligence, Artificial Intelligence and Machine Learning (AI/ML), Continuous Integration, Software Development, Machine Learning, Application Security, Software Engineering, Code Review, Debugging, DevSecOps
★ 4.7 (12K) · Intermediate · Specialization · 1 - 3 Months

Duke University
Skills you'll gain: Debugging, Java, Algorithms, Java Programming, Program Development, Statistical Analysis, Software Design, Computer Programming, File I/O, Data Processing, Data Manipulation, Data Analysis, Descriptive Statistics, Software Testing, Problem Solving
★ 4.6 (8.1K) · Beginner · Course · 1 - 3 Months

École Polytechnique Fédérale de Lausanne
Skills you'll gain: Scala Programming, Apache Spark, Apache Hadoop, Application Design, User Interface (UI), Distributed Computing, Programming Principles, Big Data, Data Processing, Software Design, Data Structures, Software Design Patterns, Functional Design, Data Manipulation, Object Oriented Programming (OOP), Interactive Data Visualization, Computer Programming, User Interface (UI) Design, Other Programming Languages, Algorithms
★ 4.7 (11K) · Intermediate · Specialization · 3 - 6 Months

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

University of Michigan
Skills you'll gain: Unified Modeling Language, JSON, Object Oriented Programming (OOP), File I/O, Software Design, Debugging, Object Oriented Design, Data Processing, Programming Principles, Test Script Development, Python Programming, Data Import/Export, Restful API, Software Documentation, Data Manipulation, Jupyter, Computer Programming, Data Structures, Software Engineering, Code Reusability
★ 4.8 (23K) · Beginner · Specialization · 3 - 6 Months

Northeastern University
Skills you'll gain: Systems Thinking, Software Engineering, Object Oriented Programming (OOP), Project Risk Management, Application Design, Software Development Life Cycle, Risk Management, Software Design, Application Development, Software Development, Business Architecture, Risk Analysis, User Centered Design
★ 1.7 (12) · Beginner · Course · 1 - 4 Weeks
Skills you'll gain: Application Security, Security Testing, Secure Coding, Security Requirements Analysis, Open Web Application Security Project (OWASP), Security Engineering, Cyber Security Assessment, Security Software, Software Design, Security Controls, Cyber Security Strategy, Computer Security, Information Systems Security, Security Strategy, Data Security, Network Security, Security Management, Application Development, Computer Programming, Python Programming
Mixed · Course · 1 - 3 Months

University of Colorado Boulder
Skills you'll gain: Software Configuration Management, Embedded Software, Embedded Systems, Configuration Management, Git (Version Control System), Version Control, Memory Management, Build Tools, C (Programming Language), Development Environment, Code Review, Software Design
★ 4.5 (658) · Intermediate · Course · 1 - 4 Weeks