Learning Advanced Python by Studying Open Source Projects