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 Colorado Boulder
Skills you'll gain: Embedded Software, Embedded Systems, Debugging, Data Structures, System Programming, Microarchitecture, C (Programming Language), Memory Management, Hardware Architecture, Computer Architecture, Software Design, Maintainability, System Configuration, Code Reusability, Software Architecture, Peripheral Devices
Intermediate · Course · 1 - 4 Weeks

University of Colorado System
Skills you'll gain: Distributed Denial-Of-Service (DDoS) Attacks, Intrusion Detection and Prevention, Role-Based Access Control (RBAC), AWS Identity and Access Management (IAM), Amazon Web Services, Amazon Elastic Compute Cloud, Identity and Access Management, Cloud Computing, User Provisioning, Security Controls, Cloud Management, Malware Protection, Cloud Infrastructure, Cloud Security, Load Balancing, Authorization (Computing), Network Security, Hardening, Cryptographic Protocols, Cybersecurity
Beginner · Specialization · 3 - 6 Months

The Hong Kong University of Science and Technology
Skills you'll gain: White-Box Testing, Acceptance Testing, Software Development Methodologies, Configuration Management, Debugging, Systems Development Life Cycle, Software Development Life Cycle, Software Testing, Software Development, Software Engineering, Unified Modeling Language, Software Quality Assurance, Software Configuration Management, User Acceptance Testing (UAT), System Design and Implementation, Change Control, Test Case, Requirements Analysis, Waterfall Methodology, Project Management
Intermediate · Course · 1 - 3 Months
University of Alberta
Skills you'll gain: Agile Software Development, Agile Methodology, Requirements Analysis, Scrum (Software Development), Software Development, Product Requirements, Requirements Management, Product Management, Agile Project Management, Software Development Methodologies, Software Engineering, Functional Requirement, Systems Development Life Cycle, Project Planning, Process Development, Project Management
Mixed · Course · 1 - 4 Weeks

Skills you'll gain: Systems Development Life Cycle, Software Development Life Cycle, Object Oriented Programming (OOP), Java Programming, Java, Program Development, Code Reusability, Software Development, Object Oriented Design, Development Environment, Integrated Development Environments, Application Development, Computer Programming, Programming Principles, Software Design, Computational Logic
Beginner · Course · 1 - 4 Weeks
University of Alberta
Skills you'll gain: Agile Software Development, Requirements Analysis, Process Driven Development, Agile Methodology, Software Development, Product Management, Software Engineering, Technical Product Management, Software Development Methodologies
Mixed · Course · 1 - 4 Weeks

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

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

Board Infinity
Skills you'll gain: Test Case, Test Script Development, Test Planning, Test Automation, Test Engineering, Continuous Integration, Test Tools, CI/CD, Software Quality Assurance, Continuous Delivery, Quality Assurance, Software Quality (SQA/SQC), Software Engineering Tools
Beginner · Course · 1 - 4 Weeks

Skillshare
Skills you'll gain: Unreal Engine, Animations, 3D Assets, Animation and Game Design, Virtual Environment, Game Design, 3D Modeling, Video Game Development, Computer Graphics, Timelines, Visual Storytelling, Prototyping, Design Strategies, Data Import/Export, Layout Design, User Interface (UI), Interactive Design, Application Deployment, Creative Design, Software Installation
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Software Architecture, Solution Architecture, Microservices, Software Design, Business Process Modeling, Software Design Patterns, Security Architecture Review, Technology Strategies, Event-Driven Programming, Business Modeling, Serverless Computing, Digital Transformation, Scalability, Distributed Computing, Context Management, Restful API, Innovation
Intermediate · Course · 1 - 3 Months

Clemson University
Skills you'll gain: Data Structures, Algorithms, Computational Thinking, Theoretical Computer Science, Computer Programming, Computer Science, Probability, Program Development, Probability Distribution, Design Strategies, Analysis
Build toward a degree
Intermediate · Course · 1 - 3 Months