courses codes and exercises for online courses and campus courses coursera Princeton, Algorithm Machine Learning, CS229 CS61A: The Structure and Interpretation of Computer Programs SJTU CS339: Computer Networking