Do you think that "How to Design Programs"[1] is the best intro book?
Should it be followed by SICP[2]?
[1] https://htdp.org/ [2] https://mitpress.mit.edu/sites/default/files/sicp/full-text/...
[1] https://htdp.org/ [2] https://mitpress.mit.edu/sites/default/files/sicp/full-text/...
Previous discussion on HN about the second addition:
https://news.ycombinator.com/item?id=14932552
EDIT: I feel like it is not all-encompassing but it is a good start. It is definitely unique in the concepts that it covers.