Eu acho que a Estrutura e a Interpretação de Programas de Computador é um ótimo livro para ler. No entanto, existem alguns problemas com isso.
O maior problema da minha experiência é que, embora o livro não exija absolutamente nenhum conhecimento de programação e seja voltado para concluir iniciantes, ele é voltado para concluir iniciantes que estudam no MIT . E assim, enquanto não assume qualquer conhecimento de programação, que não assumem um pouco de domínio do conhecimento, por exemplo, nas áreas de engenharia elétrica, física e matemática. Nota: eles não têm nada a ver com os conceitos que estão sendo ensinados, são apenas necessários para entender os exercícios e exemplos .
Pessoas maiores do que eu explicaram isso muito melhor, em um artigo habilmente intitulado A Estrutura e Interpretação do Currículo de Ciência da Computação . Felizmente, eles não são apenas chorões, eles escreveram seu próprio livro: Como criar programas . Se você pensa em ler o SICP, pode ler o HtDP primeiro: ele cobre o mesmo terreno que o SICP, mas pressupõe apenas o conhecimento médio do domínio no nível do ensino médio. (De fato, ele foi escrito para ser ensinado a crianças do ensino médio.)
Depois de concluir o HtDP, você ainda pode voltar e ler o SICP, já que agora algum conhecimento em falta de domínio não será mais tão prejudicial, porque você já viu o conceito antes.
Nota: existe um rascunho para uma segunda edição do HtDP , que você pode querer ler em vez da primeira edição. O material sobre programação imperativa foi removido e será abordado no segundo volume ainda não escrito de Como projetar componentes , mas você pode usá-lo na primeira edição, no SICP ou em ambos.