Structure and Interpretation of Computer Programs is an MIT text book, written by Harold Abelson and Gerald Jay Sussman. It is commonly referred to as the "Wizard Book" in hacker circles. It teaches the fundamentals of programming using Scheme a dialect of LISP. The first edition was published in 1984. There is also a Javascript edition which was published in 2022. The book goes from the most fundamentals of programming, all the way to compilers. It is a kind of holy book for programmers.
I am currently going through the book. You can find my solutions to the exercises here.