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: Object Oriented Design, Git (Version Control System), Software Design Patterns, Version Control, Secure Coding, Unit Testing, Prompt Engineering, Software Design, Cryptography, Maintainability, Docker (Software), Containerization, Performance Testing, .NET Framework, Prompt Engineering Tools, ASP.NET, C# (Programming Language), Cloud Platforms, LLM Application, General Data Protection Regulation (GDPR)
Intermediate · Specialization · 3 - 6 Months

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Go (Programming Language), File I/O, Data Structures, C and C++, Object Oriented Programming (OOP), Object Oriented Design, Software Design Patterns, Debugging, Computer Programming, Programming Principles, Unit Testing, Algorithms, C (Programming Language), Program Development, Software Design, Graph Theory, Software Testing, Code Reusability, Memory Management
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Object Oriented Programming (OOP), Java, Object Oriented Design, Java Programming, Maintainability, Software Design, Data Structures, Software Architecture, Memory Management, Programming Principles, Code Reusability, Data Management, Performance Tuning
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Object Oriented Design, Object Oriented Programming (OOP), Java Programming, Java, Software Architecture, Memory Management, Code Reusability, Software Design, Maintainability, Application Design, Programming Principles, Secure Coding, User Interface (UI) Design, Javascript
Beginner · Course · 3 - 6 Months

John Wiley & Sons
Skills you'll gain: Prompt Engineering, Prompt Engineering Tools, Multimodal Prompts, Prompt Patterns, ChatGPT, Context Engineering, Generative AI, AI powered creativity, Token Optimization, Responsible AI, Generative Model Architectures, OpenAI, Generative Adversarial Networks (GANs), AI Personalization, AI literacy, LLM Application, Large Language Modeling, Natural Language Processing, Software Design, Machine Learning
Advanced · Course · 1 - 3 Months

Skills you'll gain: Android Jetpack, Android Studio, Android Development, Android (Operating System), Kotlin, Mobile Development, Object Oriented Design, UI Components, Application Development, Object Oriented Programming (OOP), Interactive Data Visualization, Data Visualization, Object-Relational Mapping, Code Reusability, Software Design, Mobile Development Tools, User Interface (UI) Design, Animation and Game Design, Software Development, Game Design
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Object Oriented Design, Software Design Patterns, Software Design, Maintainability, Docker (Software), Containerization, Software Architecture, .NET Framework, Solution Architecture, Object Oriented Programming (OOP), ASP.NET, Kubernetes, Programming Principles, Microservices, C# (Programming Language), Cloud Platforms, Unit Testing, Web Applications, LLM Application, General Data Protection Regulation (GDPR)
Intermediate · Course · 1 - 3 Months

University of Michigan
Skills you'll gain: Authentications, Node.JS, Web Development Tools, Full-Stack Web Development, OAuth, JavaScript Frameworks, Webpack, Web Content Accessibility Guidelines, Web Applications, Application Design, Package and Software Management, Javascript, Web Development, Application Development, Web Frameworks, Maintainability, Software Versioning, Software Design, Front-End Web Development, Computer Programming
Intermediate · Course · 1 - 4 Weeks

Universidad Austral
Skills you'll gain: Software Documentation, Object Oriented Design, Unified Modeling Language, Relational Databases, Object-Relational Mapping, Software Design, Test Driven Development (TDD), Database Management, Unit Testing, Object Oriented Programming (OOP), Database Design, Debugging, File I/O, Data Structures, Python Programming, JSON, Computer Programming, Programming Principles, Software Installation, Package and Software Management
Beginner · Specialization · 3 - 6 Months

University of Colorado Boulder
Skills you'll gain: Real-Time Operating Systems, Systems Architecture, Software Architecture, Embedded Software, Software Design, System Design and Implementation, Embedded Systems, Performance Tuning, Systems Analysis, Electronic Hardware, Hardware Design, Electronic Systems, Systems Design, Hardware Architecture, System Software, Electrical and Computer Engineering, Requirements Analysis, System Programming, Reliability, Service Level
Build toward a degree
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: System Programming, Linux Administration, Embedded Software, Linux, System Software, Linux Commands, Debugging, Linux Servers, Operating Systems, OS Process Management, Microarchitecture, Scalability, Memory Management, C (Programming Language), Hardware Architecture, Performance Tuning, Software Design, Data Integrity, Data Sharing
Advanced · Course · 1 - 4 Weeks

Skills you'll gain: Android Jetpack, Android Development, Android (Operating System), Kotlin, Mobile Development, Application Development, UI Components, Object-Relational Mapping, Software Design, User Interface (UI) Design, User Interface (UI), Game Design, Event-Driven Programming, Data Persistence, Code Reusability, Databases, Database Design, Data Architecture, Data Modeling
Intermediate · Course · 1 - 3 Months