This course introduces the fundamental concepts of programming from an object-oriented perspective. Topics are drawn from classes and objects, abstraction, encapsulation, data types, calling methods and passing parameters, decisions, loops, arrays and collections, documentation, testing and debugging, exceptions, design issues, inheritance, and polymorphic variables and methods. The course emphasizes modern software engineering and design principles and developing fundamental programming skills in the context of a language that supports the object-oriented paradigm.
Part of this course will cover structured programming concepts. I feel that it is necessary to learn structured programming in addition to object oriented programming as it gives you a better appreciation of both types of programming, and you may encounter both types of programming in your career.
Textbook:Tools for Structured and Object-Oriented Design, Seventh Edition. Marilyn Bohl, Maria Rynn. ISBN 0-13-119445-3