>>105726625
Read How to Design Programs, its SICP but updated to fix its errors