
Skills you'll gain: Object Oriented Design, Object Oriented Programming (OOP), File I/O, Program Development, Software Development, Automation, Data Structures, Code Reusability, Maintainability, File Management, Python Programming, Scalability, Scripting Languages, Data Persistence, JSON
★ 5 (15) · Mixed · Course · 1 - 4 Weeks

É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
★ 4.8 (402) · Intermediate · Course · 1 - 3 Months

University of Colorado Boulder
Skills you'll gain: Object Oriented Design, JUnit, Object Oriented Programming (OOP), Software Design Patterns, Software Engineering, Java, Unified Modeling Language, Software Design, Java Programming, Software Architecture, Model View Controller, Conceptual Design
★ 4.6 (7) · Intermediate · Course · 1 - 3 Months

University of Michigan
Skills you'll gain: Memory Management, C and C++, C++ (Programming Language), C (Programming Language), Object Oriented Programming (OOP), Object Oriented Design, Data Structures, Software Design, Python Programming, Java, Algorithms, Performance Tuning
★ 4.5 (13) · Intermediate · Course · 1 - 3 Months

Coursera
Skills you'll gain: Object Oriented Programming (OOP), Java, Object Oriented Design, Java Programming, Computer Programming
★ 4.6 (54) · Intermediate · Guided Project · Less Than 2 Hours
Instituto Tecnológico de Aeronáutica
Skills you'll gain: JUnit, Object Oriented Programming (OOP), Java, Java Programming, Object Oriented Design, Unified Modeling Language, Unit Testing, Agile Software Development, Software Design, Software Development, Software Testing, Diagram Design, Programming Principles, Eclipse (Software)
★ 4.8 (1.1K) · Intermediate · Course · 1 - 3 Months

Peking University
Skills you'll gain: Object Oriented Design, Unified Modeling Language, Object Oriented Programming (OOP), Systems Analysis, System Design and Implementation, Systems Design, Software Architecture, Software Design, Software Engineering, Software Design Documents, Computer Programming, Program Development, Software Development, Software Development Methodologies
★ 4.5 (12) · Beginner · Course · 3 - 6 Months

Skills you'll gain: Object Oriented Programming (OOP), File I/O, Data Persistence, Object Oriented Design, Java, Java Programming, Maintainability, Data Store, Software Design, Application Development, Data Import/Export, Data Management, Data Validation
★ 4.4 (20) · Intermediate · Course · 1 - 4 Weeks

University of London
Skills you'll gain: Debugging, Development Environment, Javascript, Computer Programming Tools, Computer Graphics, Software Development Tools, Computer Programming, Graphical Tools, Interactive Design, Human Computer Interaction, Data Management
★ 4.1 (932) · Beginner · Course · 1 - 4 Weeks

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
★ 4.5 (6) · Beginner · Course · 1 - 4 Weeks

University of Colorado Boulder
Skills you'll gain: Object Oriented Design, Object Oriented Programming (OOP), Software Design Patterns, Unified Modeling Language, Software Design, Java, Java Programming, Software Architecture, User Interface and User Experience (UI/UX) Design, User Interface (UI) Design, API Design, Software Development, Diagram Design
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Java Programming, Java, Object Oriented Programming (OOP), Object Oriented Design, Eclipse (Software), Computer Programming, Development Environment, Integrated Development Environments, Programming Principles, Data Structures, Memory Management, Software Installation
Beginner · Course · 1 - 3 Months