detailed lecture notes 2334812