Object Oriented Design courses can help you learn principles like encapsulation, inheritance, and polymorphism, along with design patterns such as Singleton and Factory. You can build skills in creating reusable code, improving software maintainability, and designing systems that are easier to understand and extend. Many courses introduce tools like UML for modeling, as well as programming languages such as Java and Python, which are commonly used to implement object-oriented concepts in real-world applications.

Duke University
Skills you'll gain: Debugging, File I/O, Memory Management, Programming Principles, Maintainability, Software Testing, Program Development, C (Programming Language), Algorithms, Test Planning, Simulations, Test Case, System Programming, Systems Development Life Cycle, Computer Programming, Data Structures, C and C++, Software Engineering, Problem Solving, Software Design
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: React Native, Android Studio, Restful API, Version Control, User Research, Usability Testing, Jest (JavaScript Testing Framework), Git (Version Control System), Data Structures, Kotlin, Unix Commands, Android Jetpack, Android Development, Persona (User Experience), GitHub, Interaction Design, User Experience Design, React.js, Code Reusability, Javascript
Build toward a degree
Beginner · Professional Certificate · 3 - 6 Months

Hebrew University of Jerusalem
Skills you'll gain: Computer Architecture, Hardware Architecture, Computer Engineering, Computer Hardware, Computer Science, Computer Systems, Microarchitecture, Computational Logic, System Programming, Computer Programming, System Design and Implementation, Technical Design, Memory Management, Program Development, Verification And Validation
Mixed · Course · 1 - 3 Months

University of California, Davis
Skills you'll gain: ArcGIS, GIS Software, Spatial Data Analysis, Spatial Analysis, Data Storytelling, Geographic Information Systems, Data Presentation, Geospatial Information and Technology, Geospatial Mapping, Public Health and Disease Prevention, Data Sharing, Public Health, Land Management, Heat Maps, Geostatistics, Epidemiology, Community Health, Image Analysis, Land Development, Project Management
Beginner · Specialization · 3 - 6 Months

Duke University
Skills you'll gain: Deductive Reasoning, Critical Thinking, Logical Reasoning, Computational Logic, Analysis, Probability, Diagram Design, Sampling (Statistics), Persuasive Communication, Verification And Validation, Probability & Statistics, Statistical Inference, Correlation Analysis, Communication, Decision Intelligence, Appeals, Business Communication
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Memory Management, C++ (Programming Language), C (Programming Language), Objective-C (Programming Language), Object Oriented Programming (OOP), Software Design Patterns, Debugging
Intermediate · Course · 1 - 3 Months

DeepLearning.AI
Skills you'll gain: Tensorflow, Computer Vision, Model Evaluation, Image Analysis, Convolutional Neural Networks, Keras (Neural Network Library), Deep Learning, Artificial Neural Networks, Model Training, Applied Machine Learning, Artificial Intelligence, Data Preprocessing, Machine Learning
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Object Oriented Programming (OOP), Unit Testing, Test Driven Development (TDD), Test Script Development, Programming Principles, Software Testing, Data Structures, Python Programming, Program Development, Computer Programming, Development Environment, Debugging, Django (Web Framework), Functional Design, Package and Software Management, Cloud Hosting
Beginner · Course · 1 - 3 Months
University of Toronto
Skills you'll gain: Functional Design, Programming Principles, Debugging, File I/O, Software Documentation, Python Programming, Computer Programming, Program Development, Technical Documentation, Integrated Development Environments, Data Structures, Development Environment
Beginner · Course · 1 - 3 Months

École Polytechnique Fédérale de Lausanne
Skills you'll gain: Object Oriented Programming (OOP), C++ (Programming Language), C and C++, Object Oriented Design, Computer Programming, Programming Principles, Code Reusability, Memory Management
Intermediate · Course · 1 - 3 Months

University of Washington
Skills you'll gain: Software Installation, Programming Principles, Other Programming Languages, Functional Design, Computer Programming, Ruby (Programming Language), Theoretical Computer Science, Object Oriented Programming (OOP), Code Reusability, Development Environment
Intermediate · Course · 1 - 3 Months

University of Colorado Boulder
Skills you'll gain: Teamwork, Business Writing, Constructive Feedback, Conflict Management, Collaboration, Team Building, Diversity Awareness, Business Correspondence, Business Communication, Team Collaboration, Recognizing Others, Motivational Skills, Decision Making, Collaborative Software, Writing, Organizational Skills, Team Motivation, Performance Management, Staff Management, Grammar
Beginner · Specialization · 3 - 6 Months