comprehensive lecture notes 335221