Design Patterns courses can help you learn object-oriented design principles, common design patterns like Singleton and Observer, and best practices for software architecture. You can build skills in code refactoring, improving maintainability, and enhancing collaboration among developers. Many courses introduce tools such as UML for visualizing design structures and integrated development environments (IDEs) that facilitate pattern implementation, allowing you to apply these concepts in real coding projects.

University of Alberta
Skills you'll gain: Agile Software Development, Project Risk Management, Requirements Analysis, Agile Methodology, Kanban Principles, Risk Management, Project Planning, Requirements Elicitation, Sprint Retrospectives, Requirements Management, Functional Requirement, Business Requirements, Sprint Planning, Software Development Methodologies, Software Development Life Cycle, Scrum (Software Development), Software Technical Review, Risk Management Framework, Product Management, Project Management
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Performance Tuning, Software Architecture, Systems Architecture, Application Design, Software Design, Object Oriented Design, Enterprise Application Management, Application Performance Management, Performance Testing, Solution Architecture, Continuous Monitoring, Case Studies, Continuous Improvement Process, Maintainability, Team Management, Performance Analysis, Scalability, Debugging
Advanced · Course · 1 - 4 Weeks

Berklee
Skills you'll gain: Music Theory, Musical Composition, Music, Instrumental Music, Peer Review, Music Performance, Education Software and Technology, World Music, Teaching, Classroom Management, Oral Expression, Storytelling, Cultural Responsiveness, Media Production, Active Listening, Writing, Creativity, Collaboration, Technology Solutions
Intermediate · Specialization · 3 - 6 Months

Board Infinity
Skills you'll gain: Technical Writing, Technical Documentation, Software Documentation, Technical Communication, Layout Design, Writing and Editing, Writing, Collaborative Software, Graphic and Visual Design, Augmented and Virtual Reality (AR/VR), Typography, Proofreading, Multimedia, Web Content Accessibility Guidelines, Content Management, GitHub, Version Control
Beginner · Course · 1 - 4 Weeks

The University of Edinburgh
Skills you'll gain: Software Engineering, Programming Principles, Animation and Game Design, Software Development, Software Design, Event-Driven Programming, Computer Programming, Computational Thinking, Debugging, Algorithms
Beginner · Course · 1 - 3 Months

Skills you'll gain: Apache Hadoop, Big Data, Database Design, Data Processing, Distributed Computing, Scalability, Data Pipelines, Data Warehousing, Query Languages, Data Cleansing, Data Transformation, Data Management, Analytics, Business Intelligence
Mixed · Course · 1 - 4 Weeks

University of Colorado Boulder
Skills you'll gain: Electrical Engineering, electromagnetics, Performance Tuning, Image Quality, Engineering, Scientific, and Technical Instruments, Simulation and Simulation Software, Engineering Calculations, Design Software, Image Analysis, Engineering Analysis, Computer-Aided Design, Engineering Design Process, Numerical Analysis, Electronic Components, System Design and Implementation, Systems Design, Human Factors, Applied Mathematics, Physics, System Configuration
Build toward a degree
Advanced · Specialization · 3 - 6 Months

University of Pennsylvania
Skills you'll gain: File I/O, Matplotlib, Object Oriented Design, Java, Object Oriented Programming (OOP), Data Analysis, Unit Testing, Pandas (Python Package), Java Programming, Eclipse (Software), Application Development, Data Visualization, Data Structures, Data Science, Data Cleansing, Debugging, Pivot Tables And Charts, Programming Principles, Python Programming, Computer Programming
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Motion Graphics, Performance Tuning, Virtual Environment, Layout Design
Intermediate · Course · 1 - 3 Months
University of Illinois Urbana-Champaign
Skills you'll gain: Computational Logic, Application Specific Integrated Circuits, Theoretical Computer Science, Data Structures, Verification And Validation, Computer Architecture, Systems Design, Algorithms, Computer Engineering, Mathematical Software, Design Software, Computer Programming Tools, Debugging, Digital Design, Software Development Tools
Intermediate · Course · 1 - 3 Months

Duke University
Skills you'll gain: Debugging, Java, Algorithms, Java Programming, Program Development, Programming Principles, Statistical Analysis, Software Design, Computer Programming, Data Import/Export, Integrated Development Environments, File I/O, Data Processing, Software Documentation, Data Manipulation, Object Oriented Programming (OOP), API Design, Data Analysis, Software Testing, Problem Solving
Beginner · Course · 1 - 3 Months

Cisco Learning and Certifications
Skills you'll gain: Network Protocols, Network Troubleshooting, Network Planning And Design, Network Routing, TCP/IP, Computer Networking, Dynamic Host Configuration Protocol (DHCP), Network Routers, Network Security, Local Area Networks, Network Switches, File Transfer Protocol (FTP)
Beginner · Course · 1 - 3 Months