Notes for semester 20141 of OOP344