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, IntelliJ IDEA, Object Oriented Programming (OOP), Object Oriented Design, Software Architecture, Java, Java Programming, Integrated Development Environments, Development Environment, Data Structures, Command-Line Interface, Data Management
Beginner · Course · 1 - 4 Weeks

John Wiley & Sons
Skills you'll gain: Object Oriented Design, Java Programming, Java, Object Oriented Programming (OOP), Data Persistence, Software Design Patterns, Maintainability, Memory Management, Programming Principles, Code Reusability, Functional Design, Computer Programming, Oracle Databases, File Systems, Computational Logic, API Design, Data Structures, Software Design, File Management, Data Management
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Embedded Software, Embedded Systems, System Programming, Cross Platform Development, System Software, Memory Management, Hardware Architecture, Peripheral Devices, Product Family Engineering, Code Reusability, Performance Tuning, Software Design, C (Programming Language), Scalability
Advanced · Course · 1 - 4 Weeks

Skills you'll gain: Object Oriented Design, Object Oriented Programming (OOP), Software Design Patterns, Game Design, Maintainability, Code Reusability, Software Design, Software Architecture, Video Game Development, Programming Principles, Animation and Game Design, Event-Driven Programming, Scalability, Game Theory, Data Persistence, Artificial Intelligence, Animations
Intermediate · Course · 3 - 6 Months

Peking University
Skills you'll gain: Program Development, Application Development, Systems Development, Software Design, Technical Design, Computer Programming, Software Engineering
Intermediate · Course · 1 - 3 Months

Skills you'll gain: User Interface (UI), User Interface (UI) Design, User Interface and User Experience (UI/UX) Design, Design Thinking, UI Components, Software Design, Code Reusability, Usability, Event-Driven Programming, Maintainability, Integrated Development Environments, Application Design, Payment Systems, Interactive Design, MySQL, Jupyter, Database Application, Development Environment, Property Management Systems, Python Programming
Beginner · Specialization · 1 - 3 Months

Skills you'll gain: Middleware, React Redux, React.js, Code Reusability, Web Development Tools, Development Environment, Responsive Web Design, Software Design, Scalability, Application Programming Interface (API), Frontend Integration, Web Design and Development, HTML and CSS, Front-End Web Development, Maintainability, Restful API, Frontend Performance, JavaScript Frameworks, Authorization (Computing), Data Validation
Intermediate · Specialization · 1 - 3 Months

Skills you'll gain: Flutter (Software), Scalability, Code Reusability, Software Design, Application Design, Dataflow, Program Development, Computational Logic, Functional Design, Application Development, Computer Programming, Software Architecture, Web Applications, Automation, Other Mobile Programming Languages, Data Analysis
Beginner · Specialization · 1 - 3 Months

Skills you'll gain: Microservices, .NET Framework, Software Design Patterns, Software Design, Object-Relational Mapping, Software Architecture, Systems Architecture, C# (Programming Language), Enterprise Architecture, Maintainability, Docker (Software), Database Development, Database Management, Dependency Analysis, Event-Driven Programming, Data Migration
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Model Deployment, Cloud-Native Computing, Application Deployment, Containerization, Security Controls, Kubernetes, IBM Cloud, Network Planning And Design, MLOps (Machine Learning Operations), Cloud Computing, Applied Machine Learning, Computing Platforms, Enterprise Application Management, Cloud Infrastructure, Docker (Software), DevOps, General Networking, Network Infrastructure, Software Design, Software Development
Intermediate · Course · 3 - 6 Months

University of Virginia
Skills you'll gain: Model View Controller, Design and Product, Debugging, Integrated Development Environments, Software Design, User Interface (UI), Responsive Web Design, HTML and CSS, Data Modeling, Data Store, Database Development, Database Design, Web Design and Development, Software Development Tools, NoSQL, User Interface (UI) Design, Web Design, Database Architecture and Administration, UI Components, Programming Principles
Beginner · Specialization · 1 - 3 Months

Skills you'll gain: Secure Coding, Application Security, Open Web Application Security Project (OWASP), Security Engineering, Cyber Attacks, Cybersecurity, Security Requirements Analysis, Security Testing, Threat Modeling, Vulnerability Assessments, Software Design, Encryption, Vulnerability Management, Security Controls, Data Security, Cryptography, Continuous Monitoring, Authentications, Development Testing, System Monitoring
Intermediate · Course · 1 - 3 Months