The goal of the course is to acquaint the student with the basic concepts of object-oriented programming. Therefore, the concepts of classes and objects will be introduced, encapsulation, inheritance and polymorphism. The students will be introduces to the concept of hierarchy of classes. Comparisons will be made of the implementation of the object-oriented concepts in different programming languages. After the completion of the course, the student will understand the principles of object-oriented programming and will be able to develop programs based on these concepts and principles.