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 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
Universidad de los Andes
Skills you'll gain: User Story, Test Automation, Unified Modeling Language, Version Control, Software Testing, Test Driven Development (TDD), Software Architecture, Git (Version Control System), Test Data, Test Script Development, JavaScript Frameworks, Usability, Web Content Accessibility Guidelines, Application Frameworks, Software Design, Software Design Patterns, Test Planning, Angular, Maintainability, Solution Architecture
Credit offered
Mastertrack · 6 - 12 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, 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

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, Software Design Patterns, Debugging, Computer Programming, Programming Principles, Unit Testing, Algorithms, C (Programming Language), Program Development, Software Design, Graph Theory, Software Testing, Computer Science, Code Reusability
Intermediate · 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 California, Santa Cruz
Skills you'll gain: Go (Programming Language), File I/O, Data Structures, Programming Principles, Object Oriented Design, Object Oriented Programming (OOP), Debugging, Computer Programming, Unit Testing, C (Programming Language), Program Development, Computer Science, Software Testing, Algorithms, Code Reusability, Graph Theory, C and C++, Computational Logic, Memory Management, Software Design
Intermediate · Specialization · 3 - 6 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, Full-Stack Web Development, Software Design, Flask (Web Framework), Version Control, File Management, Unix Shell, Web Development, Linux, Application Deployment, Python Programming, NumPy, Data Analysis
Beginner · Specialization · 3 - 6 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
Beginner · Specialization · 3 - 6 Months

SkillUp
Skills you'll gain: GitHub Copilot, Prompt Engineering, AI Workflows, AI Integrations, Generative AI, ChatGPT, Software Architecture, Code Review, AI literacy, Software Design, API Design, Debugging, Software Development, Application Development, AI Security, Database Design, Python Programming, Automation, Version Control, Java Programming
Intermediate · Specialization · 3 - 6 Months

University of Colorado Boulder
Skills you'll gain: Embedded Software, Embedded Systems, Debugging, Data Structures, System Programming, Microarchitecture, C (Programming Language), Memory Management, Hardware Architecture, Computer Architecture, Software Design, Maintainability, System Configuration, Code Reusability, Software Architecture, Peripheral Devices
Intermediate · 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
Intermediate · Course · 1 - 4 Weeks

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, System Programming, Build Tools, Software Development Tools, System Software, C (Programming Language), Development Environment, Program Development, Code Review, Software Technical Review, Software Design
Intermediate · Course · 1 - 4 Weeks