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 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, Software Quality Assurance, Agile Product Development, Application Security, Security Architecture Review, Scrum (Software Development), Object Oriented Design, Software Architecture
Intermediate · Specialization · 3 - 6 Months

Pearson
Skills you'll gain: Systems Architecture, Software Architecture, Systems Design, Software Design, System Design and Implementation, Functional Design, Systems Development, Service Oriented Architecture, Verification And Validation, Maintainability, Systems Analysis
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Data Ethics, Generative AI Agents, Generative AI, Software Design Documents, Software Design, AI Integrations, Software Architecture, Agentic Workflows, Continuous Integration, Software Development, Prompt Patterns, LLM Application, Application Security, Software Engineering, Code Review, Debugging, DevSecOps
Intermediate · Course · 1 - 3 Months

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Go (Programming Language), File I/O, Data Structures, C and C++, Object Oriented Programming (OOP), Object Oriented Design, Programming Principles, Software Design Patterns, Debugging, Computer Programming, Unit Testing, C (Programming Language), Software Design, Program Development, Algorithms, Graph Theory, Software Testing, Computer Science, Computational Logic
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
Intermediate · Course · 1 - 4 Weeks

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), C and C++, Object Oriented Programming (OOP), Object Oriented Design, Programming Principles, Software Design Patterns, Computer Programming, Algorithms, C (Programming Language), Software Design, Program Development, Graph Theory, Code Reusability, Computational Logic, Artificial Intelligence, Data Structures, Memory Management, File I/O, Simulations
Beginner · Specialization · 3 - 6 Months
Universidad de los Andes
Skills you'll gain: Continuous Integration, User Story, Unified Modeling Language, Software Testing, Test Automation, Version Control, Test Driven Development (TDD), Web Content Accessibility Guidelines, Agile Methodology, Usability, Maintainability, Software Architecture, Angular, Test Script Development, Regression Testing, Software Design, JavaScript Frameworks, Test Data, Application Frameworks, Software Design Patterns
Credit offered
Mastertrack · 6 - 12 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, API Design, Model View Controller, Software Development, Test Driven Development (TDD), Conceptual Design, Databases
Intermediate · Specialization · 3 - 6 Months

Duke University
Skills you'll gain: Debugging, File I/O, Memory Management, Programming Principles, Maintainability, Software Testing, Program Development, C (Programming Language), Development Testing, Algorithms, Test Planning, Simulations, System Programming, Systems Development Life Cycle, Computer Programming, Data Structures, C and C++, Software Engineering, Problem Solving, Software Design
Beginner · Specialization · 3 - 6 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, Diagram Design, Unit Testing, Programming Principles, Python Programming, Data Import/Export, Data Wrangling, Restful API, Image Analysis, Software Visualization, Data Manipulation, Jupyter, Computer Programming
Beginner · Specialization · 3 - 6 Months

University of Colorado System
Skills you'll gain: Unified Modeling Language, Unit Testing, Software Design, Data Flow Diagrams (DFDs), Software Engineering Tools, Software Engineering, Software Development Tools, JUnit, Software Testing, Diagram Design, Design, Data Ethics, Test Automation, Dataflow
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Prompt Engineering, Prompt Patterns, ChatGPT, Generative AI, Generative Model Architectures, Data Ethics, Generative AI Agents, AI Personalization, Mobile Development, AI powered creativity, Software Design Documents, Software Design, Prompt Engineering Tools, Anthropic Claude, Mobile Development Tools, LLM Application, AI literacy, iOS Development, Machine Learning Software, Software Development
Advanced · Specialization · 3 - 6 Months