CS2305 PROGRAMMING PARADIGMS LECTURE NOTES IN PDF