In this course, students will be introduced to general principles underlying the practice of object-oriented programming (using preferably C++ or Java). Topics include introduction to OOP; primitive data types; variables, constants, operands and operators;; Input/output; Floating point input; control structures; logical; file I/O; arrays (one-dimensional, two-dimensional); Separation of behavior and implementation, Objects, classes and subclasses; compound types; control loops; pointers; function; abstraction; Encapsulation and information-hiding; inheritance(overriding, dynamic dispatch); Multiple inheritance; Polymorphism; (subtype polymorphism vs. inheritance), virtual function
- editing-lecturer: Jeremiah Onunga