I have just finished all 46 exercises in sicp chapter 1. You can find them here. I have learnt alot in the process of completing this task. Some of these exercises were really mathy but I didn’t mind- at least now I know what Newton’s method is:) Anyway, the one huge thing I’ve gained from this task is solidifying some things that are discussed. I’ve come to appreciate how you can form abstractions using procedures and why they are important. Abstractions are important because they allow you to focus on something(the task at hand) instead of worrying about how that something is implemented. I’ve also come to appreciate some of the qualities in a “first-class citizen” in a program. I really found it mind-boggling the things you can do with this concept, moreso in a language like scheme, which grants procedures first-class privileges. The amount of abstractions you accomplish with this is truly amazing. Indeed, doing all the exercises has been worth while for me.