Abstract: With the move from procedural to object oriented programming (OOP), the number of concepts and programming techniques have widened, but the time allotted to teach an introduction to ...