an introduction to computing and programming. matthias felleisen, robert bruce findler, matthew flatt, shriram krishnamurthi.
draft of sicp from 1983. closer to the video lectures from 1986 than the current edition of sicp.
structure and interpretation of computer programs, second edition. the wizard book. harold abelson, gerald jay sussman, julie sussman.
mark mitchell, jeffrey oldham, and alex samuel.
secure programming techniques. gene spafford, simson garfinkel, alan schwartz.