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

University of Michigan
Skills you'll gain: Object Oriented Programming (OOP), Object Oriented Design, Animations, Interactive Data Visualization, Software Design, Program Development, Data Structures, Interactive Design, Programming Principles, Visualization (Computer Graphics), Graphic and Visual Design, Python Programming, Event-Driven Programming, Systems Design, Digital Design, Simulations, Computer Graphics, Design, Game Design, Computational Logic
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: User Story, Software Development Life Cycle, Software Architecture, Sprint Retrospectives, Agile Software Development, Kanban Principles, DevOps, Backlogs, Full-Stack Web Development, Software Design, Risk Analysis, Scrum (Software Development), Information Technology, Computer Hardware, Agile Methodology, Agile Project Management, Team Building, Risk Management, Leadership, Communication
Beginner · Professional Certificate · 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

Skills you'll gain: Memory Management, Go (Programming Language), Code Reusability, Software Design Patterns, Software Architecture, Object Oriented Programming (OOP), Systems Design, Functional Design, Software Design, System Design and Implementation, Maintainability, Object Oriented Design, System Programming, Data Modeling, Programming Principles, Back-End Web Development
Intermediate · 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
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 California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Go (Programming Language), File I/O, Data Structures, Object Oriented Programming (OOP), Object Oriented Design, Programming Principles, Software Design Patterns, Debugging, Computer Programming, C and C++, Unit Testing, Algorithms, C (Programming Language), Software Design, Program Development, Graph Theory, Software Testing, Code Reusability, Memory Management
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Animation and Game Design, Game Design, Unity Engine, Animations, User Interface (UI), Video Game Development, UI Components, User Interface (UI) Design, Virtual Environment, Visualization (Computer Graphics), Computer Graphic Techniques, Software Design, C# (Programming Language), Scripting, System Implementation, Physics
Intermediate · Specialization · 3 - 6 Months

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

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