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 California San Diego
Skills you'll gain: Graph Theory, Data Structures, Java Programming, Java, Object Oriented Design, Software Design, Algorithms, Theoretical Computer Science, Code Reusability, Object Oriented Programming (OOP), Network Routing, Application Design, Application Development
★ 4.8 (1.2K) · Intermediate · Course · 1 - 3 Months

University of California, Irvine
Skills you'll gain: Systems Development, Systems Development Life Cycle, Agile Methodology, Software Development Life Cycle, Productivity Software, Risk Management Framework, digital literacy, Systems Design, Network Security, Computer Hardware, Agile Project Management, Hardware Architecture, Computer Systems, Software Design, Data Security, Risk Management, System Design and Implementation, TCP/IP, Information Technology, Productivity
★ 4.6 (348) · Beginner · Specialization · 1 - 3 Months

Board Infinity
Skills you'll gain: Agentic Workflows, LangGraph, AI Orchestration, Agentic systems, Generative AI Agents, LangChain, LLM Application, AI Integrations, Software Architecture, Systems Architecture, Software Design, Data Validation, Data Persistence, Context Management, Scalability, Systems Integration, Memory Management
Intermediate · Course · 1 - 4 Weeks

University of Washington
Skills you'll gain: Other Programming Languages, Software Design, Ruby (Programming Language), Programming Principles, Data Structures, Computer Programming, Functional Design, Code Reusability
★ 4.9 (789) · Intermediate · Course · 1 - 4 Weeks

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, Electrical and Computer Engineering, Requirements Analysis, System Programming, Reliability, Operating Systems, Service Level
★ 4 (122) · Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Object Oriented Programming (OOP), File I/O, Data Persistence, Object Oriented Design, Java, Java Programming, File Management, Memory Management, Application Development, File Systems, Maintainability, Computer Programming, Data Store, Software Design, Development Environment, Program Development, Programming Principles, Computer Programming Tools, Data Structures, Integrated Development Environments
★ 4.7 (227) · Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Apple iOS, iOS Development, Swift Programming, Apple Xcode, Mobile Development, Interactive Data Visualization, JSON, User Interface (UI), Software Architecture, User Interface (UI) Design, UI Components, Software Testing, AI Integrations, Unit Testing, User Interface and User Experience (UI/UX) Design, Software Design, Software Design Patterns, Model Training, Computer Programming, Computer Programming Tools
Intermediate · Specialization · 3 - 6 Months

Amazon
Skills you'll gain: File I/O, Object Oriented Programming (OOP), Object Oriented Design, Code Reusability, Java Programming, Java, Software Design, File Management, Data Persistence
★ 4.2 (91) · Beginner · Course · 1 - 4 Weeks

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Object Oriented Design, Software Design Patterns, Object Oriented Programming (OOP), Software Design, C (Programming Language), Algorithms, Memory Management, Graph Theory, Artificial Intelligence, Data Structures, Simulations
★ 4.5 (336) · Intermediate · Course · 1 - 3 Months

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
★ 4.5 (2.3K) · Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Digital Transformation, Cloud Computing Architecture, Systems Design, Business Transformation, SAP S/4HANA, Cloud Computing, Systems Architecture, System Design and Implementation, Security Management, Software Architecture, Cyber Attacks, Software Design, Security Strategy, SAP Applications, Cyber Governance, Cybersecurity, Cloud Platforms, ABAP RESTful Programming Model (RAP), Case Studies, Business Analysis
★ 4.6 (245) · Beginner · Course · 1 - 3 Months

Universidad Nacional Autónoma de México
Skills you'll gain: Android Studio, Android (Operating System), Android Development, Mockups, Mobile Development, Mobile Development Tools, Software Design, Software Design Patterns, User Interface (UI) Design, Application Design, Prototyping, UI Components, Design Elements And Principles, Development Environment, File Systems, GitHub
★ 4.5 (682) · Mixed · Course · 1 - 3 Months