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 Boulder
Skills you'll gain: Field-Programmable Gate Array (FPGA), Hardware Design, Software Design, System Design and Implementation, Systems Design, Application Specific Integrated Circuits, Test Script Development, Electronics Engineering, Verification And Validation, Electronic Hardware, Electrical and Computer Engineering, Electronics, Functional Design, Test Tools, Development Testing, Simulation and Simulation Software, Computer Engineering, Programming Principles, Simulations, Functional Testing
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

Duke University
Skills you'll gain: Debugging, Bioinformatics, Java, Algorithms, Java Programming, Program Development, Statistical Analysis, Software Design, Computer Programming, File I/O, Data Processing, Software Documentation, Data Manipulation, Object Oriented Programming (OOP), Data Analysis, Descriptive Statistics, Web Scraping, Software Testing, Development Environment, Problem Solving
Beginner · Course · 1 - 3 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

Birla Institute of Technology & Science, Pilani
Skills you'll gain: Software Development Life Cycle, Version Control, Program Development, Software Development, Application Deployment, Git (Version Control System), Software Design Documents, CI/CD, Software Design, DevOps, Unified Modeling Language, GitHub, Debugging, Containerization, Systems Design, Docker (Software), Code Review, Software Documentation, Functional Requirement, Requirements Analysis
Build toward a degree
Intermediate · Course · 1 - 3 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, Computer Programming Tools, System Configuration, Code Reusability, Peripheral Devices
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: LLM Application, Kubernetes, Systems Architecture, Large Language Modeling, Data Pipelines, Software Architecture, Software Design, Model Deployment, Application Deployment, Microservices, Apache Airflow, Containerization, Infrastructure Architecture, Cloud-Native Computing, Scalability, AWS CloudFormation, Managed Services, Azure DevOps, Open Source Technology, Diagram Design
Intermediate · Course · 1 - 3 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, Software Engineering, Programming Principles, Software Design, Computational Logic
Beginner · Course · 1 - 4 Weeks

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

Hebrew University of Jerusalem
Skills you'll gain: Computer Architecture, Hardware Architecture, Computer Hardware, Computer Engineering, Computer Science, Computer Systems, Microarchitecture, Computational Logic, System Programming, Computer Programming, Systems Design, System Design and Implementation, Other Programming Languages, Technical Design, Software Design, Memory Management, Program Development, Data Storage
Mixed · Course · 1 - 3 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

Skills you'll gain: Application Security, Secure Coding, Threat Modeling, Security Testing, Software Development Life Cycle, Systems Development Life Cycle, Security Controls, Security Architecture Review, Risk Management Framework, Security Engineering, Computer Security, Software Testing, Security Requirements Analysis, Security Management, Software Development, Authorization (Computing), Data Security, Identity and Access Management, Software Architecture, Software Design
Intermediate · Course · 1 - 3 Months