In this course, we'll cover everything from the basics of object-oriented programming (OOP) to advanced design patterns. You'll learn how to think in objects, design reusable and maintainable classes, ...