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.

Skills you'll gain: Prompt Engineering, Generative AI, Generative Model Architectures, Gemini, Model Deployment, Generative AI Agents, Generative Adversarial Networks (GANs), Google Gemini, Responsible AI, Performance Tuning, Large Language Modeling, Software Development Tools, Code Review, Software Engineering, Artificial Intelligence, AI Personalization, Software Development, Software Quality Assurance, Debugging, Automation
Intermediate · Specialization · 3 - 6 Months

University of Michigan
Skills you'll gain: Unified Modeling Language, Software Design, Image Analysis, Python Programming, Jupyter, Software Engineering, Application Programming Interface (API), Object Oriented Programming (OOP), Computer Vision, Integrated Development Environments, Computer Programming
Intermediate · Course · 1 - 4 Weeks

California Institute of the Arts
Skills you'll gain: User Experience Design, Adobe XD, User Interface (UI) Design, User Centered Design, Interaction Design, Prototyping, Wireframing, User Research, User Flows, Application Design, Mockups, Information Architecture, Ideation, Adobe InDesign, Adobe Illustrator
Beginner · Course · 1 - 3 Months

Nanjing University
Skills you'll gain: Software Testing, White-Box Testing, Functional Testing, System Testing, JUnit, Performance Testing, Debugging, Unit Testing, Test Automation, Test Case, Integration Testing, Selenium (Software), Mobile Development Tools
Mixed · Course · 1 - 3 Months

Simplilearn
Skills you'll gain: Test Tools, Acceptance Testing, Software Testing, Test Automation, Test Execution Engine, Test Planning, Software Quality Assurance, Generative AI, Test Data, Test Case, Requirements Analysis, Software Documentation
Beginner · Course · 1 - 4 Weeks

Instituto Tecnológico de Aeronáutica
Skills you'll gain: Test Driven Development (TDD), Unit Testing, JUnit, Test Automation, Software Testing, Testability, Maintainability, Software Design, Software Development, White-Box Testing, Object Oriented Programming (OOP), Software Quality (SQA/SQC), Programming Principles
Intermediate · Course · 1 - 4 Weeks

DeepLearning.AI
Skills you'll gain: Prompt Engineering, Large Language Modeling, LLM Application, Generative AI, Code Review, Program Development, Software Development Methodologies, Machine Learning, Artificial Intelligence and Machine Learning (AI/ML)
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Engineering Software, Software Development, Interviewing Skills, Software Engineering, Relationship Building, Professional Development, Application Development, Professionalism, Verbal Communication Skills, Problem Solving, Communication, Back-End Web Development
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Scalability, Software Architecture, Systems Architecture, Microservices, Software Design, Application Design, Solution Architecture, Software Design Patterns, Systems Design, Service Oriented Architecture, Enterprise Architecture, Object Oriented Design, Maintainability, Engineering Software, Functional Requirement, Programming Principles
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Electrical Systems, Basic Electrical Systems, Hardware Troubleshooting, Software Systems, Electrical Engineering, Test Engineering, Systems Integration, Debugging, Performance Tuning
Beginner · Course · 1 - 4 Weeks

The Linux Foundation
Skills you'll gain: Package and Software Management, Open Source Technology, Git (Version Control System), Linux, Command-Line Interface, Bash (Scripting Language), File Systems, Unix Commands, GitHub, Linux Administration, Version Control, Linux Commands, User Accounts, CI/CD, Shell Script, System Configuration, Collaborative Software, Scripting, Software Development Tools, Software Versioning
Beginner · Specialization · 3 - 6 Months
University of Virginia
Skills you'll gain: Design Thinking, Human Centered Design, Innovation, Strategic Thinking, Open Mindset, Cognitive flexibility, Creativity, Collaboration, Dealing With Ambiguity, Empathy, Adaptability, Qualitative Research, Data Visualization
Beginner · Course · 1 - 4 Weeks