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: File I/O, Object Oriented Design, Java Programming, Object Oriented Programming (OOP), Data Structures, Java, Cryptography, Software Engineering, Computer Programming, Algorithms, Encryption, Data Store, Program Development, Web Analytics and SEO, Data Import/Export, Web Servers, File Management
Beginner · Course · 1 - 3 Months
Skills you'll gain: Interactive Data Visualization, Statistics, Descriptive Statistics, Logistic Regression, Decision Tree Learning, Advanced Analytics, Probability & Statistics, Probability Distribution, Statistical Inference, Applied Machine Learning, Data-Driven Decision-Making, Supervised Learning, Workflow Management, Statistical Methods, Statistical Modeling, Data Cleansing, Data Structures, Interviewing Skills, NumPy, Professional Development
Build toward a degree
Advanced · Professional Certificate · 3 - 6 Months

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Object Oriented Programming (OOP), Object Oriented Design, Programming Principles, Software Design Patterns, Computer Programming, C and C++, Algorithms, C (Programming Language), Software Design, Program Development, Graph Theory, Code Reusability, Computational Logic, Artificial Intelligence, Data Structures, Memory Management, File I/O, Simulations
Beginner · 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, Plot (Graphics), Eclipse (Software), Application Development, Data Visualization, Data Structures, Data Science, Data Cleansing, Programming Principles, Computer Programming Tools, Python Programming, Computer Programming
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: User Research, JSON, Hypertext Markup Language (HTML), User Experience Design, Design Research, Linux Commands, Javascript, Unix, Usability, Cascading Style Sheets (CSS), User Centered Design, Experience Design, Software Visualization, Web Content Accessibility Guidelines, Pseudocode, User Interface and User Experience (UI/UX) Design, UI Components, JavaScript Frameworks, Code Reusability, Application Development
Build toward a degree
Beginner · Professional Certificate · 3 - 6 Months

DeepLearning.AI
Skills you'll gain: Convolutional Neural Networks, Recurrent Neural Networks (RNNs), Computer Vision, Transfer Learning, Deep Learning, Image Analysis, Model Optimization, Artificial Intelligence and Machine Learning (AI/ML), Hugging Face, Natural Language Processing, Artificial Neural Networks, Tensorflow, Applied Machine Learning, Model Training, Fine-tuning, Generative AI, Embeddings, Supervised Learning, Large Language Modeling, Artificial Intelligence
Build toward a degree
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Object Oriented Design, Package and Software Management, Data Science, Exploratory Data Analysis, Computer Programming, Data Literacy, Mathematical Software
Beginner · Course · 1 - 4 Weeks

École Polytechnique Fédérale de Lausanne
Skills you'll gain: Scala Programming, Apache Spark, Apache Hadoop, Application Design, User Interface (UI), Distributed Computing, Programming Principles, Leaflet (Software), Big Data, Data Processing, Data Structures, Software Design Patterns, Functional Design, Object Oriented Design, Data Manipulation, Object Oriented Programming (OOP), Interactive Data Visualization, Scientific Visualization, Computer Programming, Algorithms
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

Skills you'll gain: NoSQL, Extract, Transform, Load, Database Administration, Apache Spark, Data Warehousing, Web Scraping, Data Pipelines, Apache Hadoop, Database Architecture and Administration, Database Design, Linux Commands, SQL, IBM Cognos Analytics, Data Store, Generative AI, Professional Networking, Data Import/Export, Python Programming, Data Analysis, Data Science
Build toward a degree
Beginner · Professional Certificate · 3 - 6 Months

Macquarie University
Skills you'll gain: Excel Formulas, Dashboard, Microsoft Excel, Dashboard Creation, Data Wrangling, Excel Macros, Data Preprocessing, Spreadsheet Software, Data Validation, Data Manipulation, Data Processing, Data Presentation, Interactive Data Visualization, Data Analysis Software, Business Analytics, Data Modeling, Financial Forecasting, Analytical Skills, Predictive Modeling, Productivity Software
Beginner · Specialization · 3 - 6 Months

University of Washington
Skills you'll gain: Ruby (Programming Language), Other Programming Languages, Object Oriented Programming (OOP), Object Oriented Design, Programming Principles, Functional Design, Code Reusability
Mixed · Course · 1 - 3 Months