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.

SkillUp
Skills you'll gain: GitHub Copilot, Prompt Engineering, AI Workflows, AI Integrations, Generative AI, ChatGPT, Software Architecture, Code Review, AI literacy, Software Design, API Design, Debugging, Software Development, Application Development, AI Security, Python Programming, Automation, Version Control, Java Programming
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Unit Testing, Software Development Life Cycle, Linux Commands, Software Architecture, Bash (Scripting Language), Shell Script, Git (Version Control System), GitHub, Full-Stack Web Development, Flask (Web Framework), Software Design, Version Control, File Management, Unix Shell, Web Development, Linux, Application Deployment, Data Import/Export, Python Programming, NumPy
Beginner · Specialization · 3 - 6 Months

Duke University
Skills you'll gain: Debugging, Bioinformatics, Java, Algorithms, Java Programming, Program Development, Object Oriented Design, Programming Principles, Statistical Analysis, Software Design, Computer Programming, File I/O, Data Processing, Software Documentation, Data Manipulation, Object Oriented Programming (OOP), Data Analysis, Descriptive Statistics, Web Scraping, Problem Solving
Beginner · Course · 1 - 3 Months

Skills you'll gain: Restful API, Spring Framework, Microservices, Cloud Deployment, API Design, Spring Boot, OAuth, Java Programming, System Design and Implementation, Java, Systems Design, Systems Architecture, Software Architecture, Software Design, Web Design and Development, Sprint Planning, NoSQL, SQL, Databases, Product Management
Beginner · Course · 1 - 3 Months

University of Colorado Boulder
Skills you'll gain: Object Oriented Design, Object Oriented Programming (OOP), Unified Modeling Language, JUnit, Software Testing, Java, Java Programming, Unit Testing, Software Design, Software Development, Test Driven Development (TDD), Diagram Design
Build toward a degree
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Version Control, Debugging, Software Design Patterns, Object Oriented Design, Program Development, Object Oriented Programming (OOP), Software Development, Software Versioning, Git (Version Control System), Programming Principles, Software Design, Computer Programming, Software Engineering, Software Development Tools
Beginner · Course · 1 - 4 Weeks
University of Alberta
Skills you'll gain: Requirements Analysis, Requirements Elicitation, Functional Requirement, Backlogs, User Requirements Documents, Change Control, User Story, System Requirements, Software Design, Acceptance Testing, Agile Methodology, Agile Software Development
Mixed · Course · 1 - 4 Weeks
Universidad de los Andes
Skills you'll gain: Software Architecture, Test Automation, Software Design, Web Content Accessibility Guidelines, User Story, GitHub, Systems Architecture, Software Testing, Usability, Version Control, Agile Software Development, Test Driven Development (TDD), Test Script Development, Maintainability, Git (Version Control System), User Interface (UI), Continuous Integration, Software Design Patterns, Cucumber (Software), Unit Testing
Credit offered
Mastertrack · 6 - 12 Months

Skills you'll gain: User Story, Software Development Life Cycle, Software Architecture, Sprint Retrospectives, Agile Software Development, Kanban Principles, DevOps, Backlogs, Full-Stack Web Development, Software Design, Risk Analysis, Scrum (Software Development), Information Technology, Computer Hardware, Agile Methodology, Agile Project Management, Team Building, Risk Management, Leadership, Communication
Beginner · Professional Certificate · 3 - 6 Months

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, Computer Programming, Programming Principles, Software Design
Beginner · Course · 1 - 4 Weeks

University of Michigan
Skills you'll gain: Unified Modeling Language, JSON, Object Oriented Programming (OOP), File I/O, Software Design, Software Design Documents, Debugging, Object Oriented Design, Data Processing, Diagram Design, Unit Testing, Programming Principles, Program Development, Python Programming, Data Import/Export, Data Wrangling, Restful API, Image Analysis, Data Manipulation, Computer Programming
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Game Design, Unity Engine, Animation and Game Design, Video Game Development, Animations, User Interface (UI), UI Components, Software Design, C# (Programming Language), Scripting, System Implementation
Intermediate · Course · 1 - 4 Weeks