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: Software Design Patterns, Computational Thinking, Software Design, Algorithms, Theoretical Computer Science, Software Development, Data Structures, Computer Programming, Problem Solving, Computer Science, Machine Learning Methods
Advanced · Course · 1 - 4 Weeks

Skills you'll gain: Memory Management, C++ (Programming Language), C (Programming Language), Objective-C (Programming Language), Object Oriented Programming (OOP), Software Design Patterns, Debugging
Intermediate · Course · 1 - 3 Months

Birla Institute of Technology & Science, Pilani
Skills you'll gain: Encryption, Information Systems Security, Threat Modeling, Cybersecurity, Cyber Attacks, Computer Security Incident Management, Threat Management, Application Security, Data Security, Computer Security, Security Management, Network Security, Incident Response, Data Encryption Standard, Cyber Security Policies, Cryptography, Intrusion Detection and Prevention, Security Controls, Data Integrity, Authentications
Build toward a degree
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Data Structures, Object Oriented Programming (OOP), Object Oriented Design, Java Programming, Computational Thinking, Java, Algorithms, Programming Principles, Computer Programming, Solution Design
Advanced · Course · 1 - 3 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

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
Beginner · Course · 1 - 4 Weeks

University of Minnesota
Skills you'll gain: Software Testing, JUnit, Verification And Validation, Unit Testing, Test Case, Test Automation, Development Testing, Test Planning, Test Tools, White-Box Testing, Code Coverage, Software Quality Assurance, Functional Testing, Test Script Development, Systems Development Life Cycle, Test Data, Technical Communication
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: File I/O, Git (Version Control System), Software Development Methodologies, JUnit, Systems Development Life Cycle, Requirements Analysis, Version Control, Application Development, Software Development Life Cycle, Full-Stack Web Development, Test Driven Development (TDD), SQL, Software Development, Restful API, Database Management, Object Oriented Programming (OOP), Decision Intelligence, Digital Transformation, Java Programming, Generative AI
Beginner · Professional Certificate · 3 - 6 Months

Skills you'll gain: Cloud Deployment, Unit Testing, Software Development Life Cycle, CI/CD, Object-Relational Mapping, OpenShift, Istio, Cloud-Native Computing, Kubernetes, Node.JS, Cloud Infrastructure, Git (Version Control System), HTML and CSS, Server Side, Responsive Web Design, Front-End Web Development, Cloud Computing, Data Ethics, Data Import/Export, Software Development
Build toward a degree
Beginner · Professional Certificate · 3 - 6 Months

Microsoft
Skills you'll gain: Software Testing, Software Quality Assurance, Acceptance Testing, System Testing, Functional Testing, Software Quality (SQA/SQC), Quality Assurance, Behavior-Driven Development, Unit Testing, Issue Tracking, Test Data, Test Case, Browser Compatibility, User Acceptance Testing (UAT), Root Cause Analysis, Regression Testing, Quality Assurance and Control, Test Tools, Quality Assessment, Quality Management Systems
Beginner · Professional Certificate · 3 - 6 Months

Skills you'll gain: Prompt Engineering, Prompt Patterns, Generative AI, Data Ethics, Generative AI Agents, ChatGPT, Software Design Documents, Software Design, LLM Application, AI literacy, AI Integrations, Software Architecture, Agentic Workflows, Continuous Integration, Model Evaluation, Software Development, Artificial Intelligence and Machine Learning (AI/ML), Application Security, Software Engineering, Augmented and Virtual Reality (AR/VR)
Intermediate · Specialization · 1 - 3 Months

Skills you'll gain: User Story, Cloud Deployment, CI/CD, Unit Testing, Software Development Life Cycle, Open Web Application Security Project (OWASP), Continuous Integration, OpenShift, Istio, Kubernetes, Linux Commands, Cloud Infrastructure, Test Driven Development (TDD), Devops Tools, Git (Version Control System), DevOps, Grafana, Software Engineering, Data Import/Export, Application Development
Build toward a degree
Beginner · Professional Certificate · 3 - 6 Months