lecture notes on oo