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.

Skills you'll gain: Object Oriented Programming (OOP), C++ (Programming Language), Data Presentation, Scientific Visualization, Application Development, Object Oriented Design, Data Visualization Software, Statistical Visualization, Plot (Graphics), Application Design, Visualization (Computer Graphics), Programming Principles, Data Visualization, Graphical Tools, C and C++, Computational Thinking, Computer Graphic Techniques, Program Development, Graphic and Visual Design, Software Visualization
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Webpack, Object Oriented Programming (OOP), Object Oriented Design, Full-Stack Web Development, JSON, Web Development Tools, Javascript, Event-Driven Programming, HTML and CSS, Application Programming Interface (API), Application Deployment, Web Applications, Web Development, Kanban Principles, Code Reusability, Hypertext Markup Language (HTML), Browser Compatibility, Programming Principles, Data Persistence, GitHub
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: User Interface (UI), Java, Java Programming, Object Oriented Design, Object Oriented Programming (OOP), User Interface (UI) Design, Unit Testing, Java Platform Enterprise Edition (J2EE), JUnit, Data Validation, Test Script Development, Software Development, Application Design, Development Testing, Application Development, Program Development, Software Testing, Database Development, Test Automation, Software Documentation
Beginner · Specialization · 1 - 3 Months

Skills you'll gain: Object Oriented Design, Ruby (Programming Language), Performance Tuning, Data Persistence, Secure Coding, File I/O, Maintainability, Application Design, Software Engineering, Application Development, Object Oriented Programming (OOP), Code Reusability, Application Security, Performance Testing, Unit Testing, Application Lifecycle Management, Dataflow, Scalability, Software Design, Debugging
Beginner · Course · 1 - 3 Months

Skills you'll gain: Scalability, Code Reusability, Software Design, Flutter (Software), Computational Logic, Functional Design, Application Development, Application Design, Computer Programming, Automation
Beginner · Course · 1 - 4 Weeks
Skills you'll gain: Model Training, Java Programming, Java, Feature Engineering, Statistical Machine Learning, Machine Learning Algorithms, Model Optimization, Deep Learning, Data Pipelines
Advanced · Course · 1 - 4 Weeks

Skills you'll gain: Data Persistence, Object Oriented Programming (OOP), Object Oriented Design, Javascript, Web Applications, Application Programming Interface (API), User Interface (UI), Interactive Design, Front-End Web Development, Event-Driven Programming, Responsive Web Design, Animations, Scalability
Beginner · Course · 1 - 3 Months

Skills you'll gain: PyTorch (Machine Learning Library), Model Training, Fine-tuning, Image Analysis, Convolutional Neural Networks, Computer Vision, Transfer Learning, Model Evaluation, Deep Learning, Data Preprocessing
Intermediate · Guided Project · Less Than 2 Hours

Skills you'll gain: C# (Programming Language), Object Oriented Programming (OOP), Software Design Patterns, Software Architecture, Object Oriented Design, Software Design, Secure Coding, Computer Programming, System Design and Implementation, Data Integrity, Code Reusability, Maintainability, Scalability, Programming Principles, Software Documentation, AI Integrations
Beginner · Course · 1 - 3 Months

Skills you'll gain: IntelliJ IDEA, Integrated Development Environments, Java Programming, Java, Development Environment, Debugging, Object Oriented Programming (OOP), Programming Principles
Beginner · Course · 1 - 4 Weeks
University of California San Diego
Skills you'll gain: Design Research, Interaction Design, User Experience Design, Statistical Analysis, Usability, Experience Design, UI/UX Research, Ideation, User Interface (UI), UI/UX Strategy, Experimentation, Interactive Design, User Interface and User Experience (UI/UX) Design, Human Computer Interaction, A/B Testing, Human Factors, Collaborative Software, Telecommuting, R Programming, Storyboarding
Intermediate · Specialization · 3 - 6 Months

University of Colorado Boulder
Skills you'll gain: Power Electronics, Control Systems, Electronic Systems, Electrical Engineering, Electronics Engineering, Engineering Analysis, Electrical Systems, Simulation and Simulation Software, Matlab, Technical Design, Network Analysis, Scripting
Build toward a degree
Intermediate · Course · 1 - 4 Weeks