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.
École Polytechnique Fédérale de Lausanne
Skills you'll gain: Scala Programming, Software Design, Software Design Patterns, Functional Design, Java, Programming Principles, Performance Tuning, Data Structures, Algorithms
Intermediate · Course · 1 - 3 Months

Peking University
Skills you'll gain: Object Oriented Design, Object Oriented Programming (OOP), Unified Modeling Language, Software Engineering, Software Design, Software Development Methodologies, Program Development, Software Development, Software Architecture, Systems Analysis, Systems Design, Computer Programming, Requirements Analysis
Beginner · Course · 3 - 6 Months
Universidad de los Andes
Skills you'll gain: User Story, Test Automation, Unified Modeling Language, Version Control, Software Testing, Agile Software Development, Test Driven Development (TDD), Git (Version Control System), Continuous Integration, Test Data, Usability, Maintainability, Software Architecture, Web Content Accessibility Guidelines, Software Design, Acceptance Testing, Test Planning, Angular, Sprint Retrospectives, Software Design Patterns
Credit offered
Mastertrack · 6 - 12 Months

Skills you'll gain: Systems Analysis, Communication Systems, Verification And Validation, Systems Design, Data Modeling, Programming Principles, Software Design, Software Architecture, Network Protocols, Algorithms
Advanced · Course · 1 - 4 Weeks

Packt
Skills you'll gain: Salesforce Development, Salesforce, CI/CD, Software Architecture, Solution Architecture, Systems Architecture, Code Review, Relational Databases, Integration Testing, Software Design, Software Design Patterns, Database Design, Debugging, Maintainability, Enterprise Architecture, IT Security Architecture, Security Controls, System Design and Implementation, Systems Integration, Scalability
Beginner · Course · 1 - 3 Months

Hebrew University of Jerusalem
Skills you'll gain: Computer Science, Computer Engineering, Computer Architecture, Computer Programming, System Programming, Virtual Machines, Operating Systems, Software Architecture, Algorithms, Software Design, Program Development, Object Oriented Programming (OOP), Data Structures, Computer Graphics
Mixed · Course · 1 - 3 Months
University of California, Santa Cruz
Skills you'll gain: Go (Programming Language), Data Structures, C and C++, C (Programming Language), Programming Principles, Object Oriented Programming (OOP), Debugging, C++ (Programming Language), Computer Programming, Unit Testing, Integrated Development Environments, Computer Science, Pseudocode, Command-Line Interface, Algorithms, File Systems, Integration Testing, Software Design
Intermediate · Specialization · 3 - 6 Months

University at Buffalo
Skills you'll gain: Blockchain, Program Development, Secure Coding, Development Environment, Web Development Tools, Software Design, Integrated Development Environments, Solution Design, Event-Driven Programming, Object Oriented Programming (OOP), Transaction Processing, Computer Programming Tools, Data Validation
Intermediate · Course · 1 - 4 Weeks

Universidad Nacional Autónoma de México
Skills you'll gain: Java Programming, Java, Object Oriented Programming (OOP), Object Oriented Design, Computer Programming, Programming Principles, Software Design, Data Structures, Integrated Development Environments, Debugging, Development Environment
Beginner · Course · 1 - 3 Months

Universidade de São Paulo
Skills you'll gain: Model View Controller, Unified Modeling Language, Object Oriented Programming (OOP), Software Design Patterns, Software Design, Java Programming, Computer Programming, Debugging, Software Architecture, Programming Principles, Other Programming Languages, Prototyping
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Package and Software Management, Software Design
Beginner · Course · 3 - 6 Months

Skills you'll gain: Embedded Software, Embedded Systems, System Programming, Cross Platform Development, Hardware Architecture, Peripheral Devices, Serial Peripheral Interface, Performance Tuning, Software Design, Real Time Data, Technical Design, C (Programming Language), Debugging, System Configuration, Maintainability, Scalability, Data Mapping
Advanced · Course · 1 - 4 Weeks