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.

Michigan State University
Skills you'll gain: Unity Engine, Game Design, Video Game Development, 3D Assets, Software Design Documents, Peer Review, Cross Platform Development, Prototyping, User Interface (UI), Animation and Game Design, Software Design, C# (Programming Language), User Experience, Storytelling, Software Documentation, Conceptual Design, Ideation, Programming Principles, Social Impact, Object Oriented Programming (OOP)
Beginner · Specialization · 3 - 6 Months
University of Colorado Boulder
Skills you'll gain: Computational Logic, Verification And Validation, Systems Architecture, Systems Design, Hardware Design, Mathematical Modeling, Theoretical Computer Science, Systems Analysis, Computer Architecture, Systems Engineering, Communication Systems, Software Design, Software Architecture, Model Evaluation, Software Testing, Graph Theory, Software Quality Assurance, Computer Programming Tools, Algorithms, Logical Reasoning
Beginner · Specialization · 1 - 3 Months

Skills you'll gain: Secure Coding, .NET Framework, Data Validation, Business Logic, Database Design, C# (Programming Language), Relational Databases, Databases, Billing Systems, Microsoft SQL Servers, Database Application, Application Development, Registration, Usability, Software Development Methodologies, Software Design, Application Design, Invoicing, SQL, Web Design and Development
Beginner · Specialization · 3 - 6 Months

University of Colorado Boulder
Skills you'll gain: Object Oriented Design, Unified Modeling Language, Object Oriented Programming (OOP), JUnit, Software Design Patterns, Test Driven Development (TDD), Software Design, Software Architecture, Java, Unit Testing, Application Design, Software Testing, Software Engineering, Development Testing, Java Programming, API Design, Test Case, Program Development, Software Development, Databases
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Model Evaluation, Data Preprocessing, Model Deployment, JUnit, Decision Tree Learning, Build Tools, MLOps (Machine Learning Operations), Performance Tuning, Classification And Regression Tree (CART), Apache Maven, Data Structures, Random Forest Algorithm, Java, Gradle, Data Pipelines, Software Architecture, Software Design, Object Oriented Programming (OOP), Machine Learning, Apache
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Linux Commands, Bash (Scripting Language), Software Development Life Cycle, Software Architecture, GitHub, Git (Version Control System), Shell Script, Software Design, Version Control, Jupyter, Scrum (Software Development), Flask (Web Framework), Software Engineering, Software Design Patterns, Linux, Agile Methodology, Pandas (Python Package), Programming Principles, Python Programming, Web Applications
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Real-Time Operating Systems, Embedded Software, Software Architecture, Embedded Systems, Systems Architecture, Software Systems, Software Design, Application Design, Software Design Patterns, Maintainability, Performance Tuning, Safety Assurance, Interoperability, Real Time Data, Secure Coding, Scalability, Design Strategies
Intermediate · Course · 1 - 4 Weeks

Vanderbilt University
Skills you'll gain: Claude Code, Prompt Engineering, ChatGPT, Generative AI Agents, Prompt Patterns, Generative AI, Multimodal Prompts, AI Workflows, AI Orchestration, LLM Application, Productivity, AI Personalization, Artificial Intelligence and Machine Learning (AI/ML), Software Engineering, Software Development Tools, Software Development, Software Architecture, Automation, Software Testing, Software Design
Beginner · Specialization · 3 - 6 Months

Microsoft
Skills you'll gain: Debugging, Event-Driven Programming, Version Control, Application Deployment, Microsoft Copilot, C# (Programming Language), Git (Version Control System), Object Oriented Programming (OOP), Software Design Patterns, Software Architecture, .NET Framework, Microsoft Visual Studio, Software Design, Unit Testing, Software Testing, Program Development, Data Validation, Microsoft Development Tools, Security Testing, Software Development Tools
Beginner · Professional Certificate · 3 - 6 Months

Birla Institute of Technology & Science, Pilani
Skills you'll gain: Object Oriented Design, Software Architecture, Software Design, Software Design Patterns, Software Development Life Cycle, Software Engineering, Systems Architecture, Software Development, Maintainability, Service Oriented Architecture, Model View Controller, Event-Driven Programming, Distributed Computing
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Prompt Engineering, Cloud-Native Computing, Software Development Life Cycle, Large Language Modeling, LLM Application, Software Architecture, Hibernate (Java), Professional Networking, Database Design, Responsible AI, GitHub, Object Oriented Programming (OOP), Cascading Style Sheets (CSS), CI/CD, Restful API, Java Programming, Model Deployment, Version Control, Database Management, Software Design
Beginner · Professional Certificate · 3 - 6 Months
Duke University
Skills you'll gain: File I/O, Java Programming, Software Design, Computer Programming, Software Engineering, Javascript, Encryption, Algorithms, AI Personalization, Software Development, Data Processing, Problem Solving, Data Preprocessing, Classification Algorithms, Integrated Development Environments, Program Development, Data Ethics, Debugging, Cascading Style Sheets (CSS), Data Analysis
Beginner · Specialization · 3 - 6 Months