Notes Courses CS Functional Programming Principles in Scala (Coursera) How To Design Programs (Udacity) Introduction to Computer Systems (CMU 15-213, CSAPP) Systems Programming (UIUC CS 241) Introduction to Algorithms (MIT 6.006) Non CS Books Structure and Interpretation of Computer Programs Tools Programming Exercises