And, of course, SICP has helped a lot https://sarabander.github.io/sicp/html/ https://archive.org/details/mit_ocw_sicp