Le cours d'introduction du MIT: Structure and Interpretation of Computer Programs.