Learn the basics of object-oriented (OO) programming, a paradigm that uses objects that contain data in the form of instance variables and methods that control the behavior of the objects. This course is suitable for anyone and uses Java to demonstrate key OO concepts.

Course Introduction:

We will begin this course with an introduction to the difference between traditional structural program design and object-oriented (OO) programming. This course will explore the unique, dynamic approach that OO offers, and discuss why it is an effective and flexible paradigm. We then move into the essential concepts that are part of all OO programming, including inheritance, polymorphism, abstract classes, encapsulation, and coupling.

There are many benefits to learning OO programming, and especially its modularity. Modularity lets you break your code into smaller parts. This makes it easier to troubleshoot, gives you the powerful ability to reuse your code elsewhere, and makes your code adaptive and flexible. Although this course uses Java to introduce OO programming, it should prepare you to explore other languages since you can apply these concepts to nearly any other OO programming language.

Course Units:
  • Unit 1: Fundamental Concepts of OO Programming
  • Unit 2: Using Java for OO Programming
Course Learning Objectives:
  • Discuss the differences between object-oriented and procedural languages;
  • Explain the difference between classes and objects; and
  • Explain object-oriented concepts such as inheritance, encapsulation, and polymorphism.
Continuing Education Units: 0.6