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 Development Tools, JUnit, Development Testing, Data Ethics, Test Automation, Software Development Methodologies, Dataflow
Intermediate · Course · 1 - 3 Months

Board Infinity
Skills you'll gain: Software Quality Assurance, Software Development Life Cycle, Quality Assurance, Software Quality (SQA/SQC), Software Documentation, Functional Testing, Software Testing, Software Development Methodologies, Acceptance Testing, Test Case, Maintainability, Test Planning, Unit Testing, Software Design, Technical Documentation, Waterfall Methodology, Agile Methodology
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Prompt Engineering, Prompt Patterns, ChatGPT, Generative AI, Data Ethics, Generative AI Agents, AI Personalization, Mobile Development, Software Design Documents, Software Design, Generative Model Architectures, Anthropic Claude, Mobile Development Tools, LLM Application, AI literacy, iOS Development, AI Integrations, Personalized Campaigns, Software Development, Artificial Intelligence and Machine Learning (AI/ML)
Advanced · Specialization · 3 - 6 Months

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

Vanderbilt University
Skills you'll gain: Claude Code, Prompt Engineering, Agentic systems, ChatGPT, Anthropic Claude, Retrieval-Augmented Generation, Generative AI Agents, Prompt Patterns, Multimodal Prompts, Generative AI, Agentic Workflows, AI Personalization, Software Development Tools, Artificial Intelligence and Machine Learning (AI/ML), Software Engineering, Software Development, Automation, Software Architecture, Software Testing, Software Design
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 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 Michigan
Skills you'll gain: Object Oriented Programming (OOP), Object Oriented Design, Animations, Interactive Data Visualization, Software Design, Data Structures, Visualization (Computer Graphics), Interactive Design, Programming Principles, Graphic and Visual Design, Computer Graphic Techniques, Python Programming, Event-Driven Programming, Digital Design, Simulations, Computer Graphics, Design, Game Design, Computational Logic, Computational Thinking
Beginner · Specialization · 3 - 6 Months
University of Alberta
Skills you'll gain: Requirements Analysis, Requirements Elicitation, Functional Requirement, Backlogs, User Requirements Documents, Change Control, User Story, System Requirements, Software Design, Acceptance Testing, Agile Methodology, Agile Software Development
Mixed · 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, Build Tools, Software Development Tools, C (Programming Language), Development Environment, Program Development, Code Review, Software Technical Review, Software Design, Debugging, Make.com
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: CI/CD, Integration Testing, Continuous Integration, Docker (Software), Java, Cloud Deployment, Containerization, Software Design Patterns, Microservices, Build Tools, Cloud-Native Computing, Object Oriented Design, Software Design, Functional Design
Intermediate · Course · 1 - 4 Weeks

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