Learn software design for developing robust applications. Understand design patterns, object-oriented principles, and user-centered design.

Skills you'll gain: Algorithms, Technical Communication, Pseudocode, Computational Thinking, Solution Design, Programming Principles, Software Design, Theoretical Computer Science, Data Structures, Mathematical Modeling, Applied Mathematics, Computer Science
Beginner · Course · 1 - 4 Weeks

University of Alberta
Skills you'll gain: Software Architecture, Unified Modeling Language, Systems Architecture, Software Design, Software Design Documents, Software Visualization, Solution Architecture, Software Development, Software Documentation, Software Design Patterns, Enterprise Architecture, Maintainability, Scalability, Databases
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Secure Coding, Application Security, DevSecOps, Security Testing, Software Development Methodologies, Software Development, Software Configuration Management, Software Development Life Cycle, Software Testing, System Configuration, Threat Modeling, Application Programming Interface (API), Cloud Security, Risk Management Framework
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Jest (JavaScript Testing Framework), CI/CD, Model View Controller, User Acceptance Testing (UAT), Continuous Integration, Cucumber (Software), Postman API Platform, Ansible, Software Testing, OAuth, Web Development Tools, Behavior-Driven Development, Application Performance Management, Prometheus (Software), Authentications, Test Driven Development (TDD), Package and Software Management, Cloud API, Javascript, Software Engineering
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Version Control, Debugging, Software Design Patterns, Object Oriented Design, Object Oriented Programming (OOP), Software Development, Git (Version Control System), Programming Principles, Software Design, Computer Programming, Software Engineering, Integrated Development Environments, Command-Line Interface
Beginner · Course · 1 - 4 Weeks

Board Infinity
Skills you'll gain: API Design, Application Programming Interface (API), Software Documentation, OAuth, CI/CD, Web Services, Authentications, Continuous Integration, Continuous Deployment, OpenShift
Intermediate · Course · 1 - 4 Weeks
Michigan State University
Skills you'll gain: Game Design, Unity Engine, Video Game Development, Peer Review, Cross Platform Development, User Interface (UI), C# (Programming Language), Object Oriented Programming (OOP), Animations, Scripting, Creativity
Beginner · Course · 1 - 4 Weeks

Pontificia Universidad Católica del Perú
Skills you'll gain: User Story, Human Computer Interaction, Software Development Life Cycle, Functional Requirement, Unified Modeling Language, User Experience Design, Requirements Analysis, Prototyping, Usability, User Experience, User Interface (UI) Design, User Requirements Documents, System Requirements, Interaction Design, User Centered Design, Human Factors, User Research, Software Design, Software Engineering, Systems Development
Beginner · Specialization · 3 - 6 Months

University of Colorado Boulder
Skills you'll gain: Generative AI, Artificial Intelligence, Education Software and Technology, Responsible AI, Prompt Engineering, Large Language Modeling, ChatGPT, Emerging Technologies
Beginner · Course · 1 - 4 Weeks

University of Colorado Boulder
Skills you'll gain: Object Oriented Design, Object Oriented Programming (OOP), Unified Modeling Language, JUnit, Software Testing, Software Engineering, Java, Java Programming, Unit Testing, Program Development, Software Design, Application Design, Test Driven Development (TDD)
Build toward a degree
Intermediate · Course · 1 - 3 Months
University of California San Diego
Skills you'll gain: Graphic and Visual Design, Usability Testing, User Interface (UI) Design, Design, Experimentation, Interaction Design, Human Computer Interaction, User Experience Design, Prototyping, Design Elements And Principles, Human Centered Design, Web Design and Development, Typography, Design Research, A/B Testing
Beginner · Course · 1 - 4 Weeks

University of Colorado Boulder
Skills you'll gain: User Research, Persona (User Experience), Internet Of Things, User Experience, Verification And Validation, Usability Testing, User Centered Design, Cloud Computing Architecture, API Design, Amazon Web Services, Embedded Software, Interactive Design, Network Protocols, Human Computer Interaction, Embedded Systems, Prototyping, User Interface (UI) Design, Telecommunications, User Interface and User Experience (UI/UX) Design, Software Development
Build toward a degree
Intermediate · Specialization · 3 - 6 Months