Learning notes and practices of <<Structure and Interpretation of Computer Programs>>