The second half of the course aims to provide fundamental concepts of object-oriented programming using the Java language. In this module, we introduce the motivation behind the object-oriented programming paradigm and the main difference between the procedural programming paradigm and the object-oriented programming paradigm, as well as some of the general benefits of preferring an object-oriented design in our computer programs.
The Object-oriented Programming Paradigm
So far in the course, we have approached the solution of different problems using the procedural paradigm, where we achieve a successful solution by implementing and gathering the necessary computations step by step by breaking down everything into subtasks and smaller pieces of arithmetic and logical operations. Although this approach can always be useful in approaching many complex problems, it may not always result in the most efficient solution. In this section, we introduce an alternative approach to computational design, which is the object-oriented paradigm.
The Phone Book Problem
A very good way to start thinking in a different paradigm is to use an example problem. Here, we will approach the problem of building a phone book application and discuss alternative methods to solve the problem and how different approaches might result in different levels of efficiency.
In the next module, we will study this problem in more detail and learn how we can use Java to implement efficient solutions based on object-oriented programming.