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

Skills you'll gain: Microsoft SQL Servers, Stored Procedure, Database Management, SQL, Database Development, Database Application, C# (Programming Language), Application Development, Integration Testing, Data Store, Development Environment, Microsoft Development Tools, Application Design, Development Testing, Object-Relational Mapping, Microsoft Visual Studio, User Interface (UI), Software Design, UI Components, User Interface (UI) Design
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Model Evaluation, Data Preprocessing, JUnit, Model Training, Build Tools, MLOps (Machine Learning Operations), Java, Performance Tuning, Decision Tree Learning, Classification And Regression Tree (CART), Apache Maven, Data Structures, Random Forest Algorithm, Gradle, Data Pipelines, Software Architecture, Software Design, Object Oriented Programming (OOP), Apache, Machine Learning
Intermediate · Specialization · 3 - 6 Months
University of Glasgow
Skills you'll gain: Program Development, Web Design and Development, Web Development Tools, Hypertext Markup Language (HTML), Javascript, Interactive Design, Computational Thinking, JavaScript Frameworks, Integrated Development Environments, Development Testing, Maintainability, Software Architecture, Computer Programming Tools, Software Design, Programming Principles, Scalability
Beginner · Course · 1 - 4 Weeks

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

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: 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: Unreal Engine, Animation and Game Design, Data Structures, 3D Assets, Game Design, 3D Modeling, Virtual Environment, Computer Graphic Techniques, Code Reusability, Video Game Development, Visualization (Computer Graphics), Data Management, Model Optimization, Object Oriented Programming (OOP), Scripting, Scalability, Event-Driven Programming, Software Design, Debugging, Performance Tuning
Intermediate · Specialization · 1 - 3 Months

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: 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: Vibe coding, Responsible AI, Prompt Engineering, Prompt Patterns, Software Engineering, Integrated Development Environments, AI Workflows, Software Development, Application Development, Web Applications, UI Components, AI Enablement, Software Design, Code Review, Front-End Web Development, Development Testing, Web Development, Software Testing, Secure Coding, User Interface (UI) Design
Intermediate · Course · 1 - 3 Months