Creo que Estructura e interpretación de programas de computadora es un gran libro para leer. Sin embargo, hay un par de problemas con él.
El mayor problema en mi experiencia es que, si bien el libro no requiere absolutamente ningún conocimiento de programación, y está orientado a completar novatos, está orientado a completar novatos que estudian en el MIT . Y así, aunque no asume ningún conocimiento de programación, sí asume bastante conocimiento de dominio , por ejemplo, en los campos de ingeniería eléctrica, física y matemática. Nota: estos no tienen nada que ver con los conceptos que se enseñan, solo son necesarios para comprender los ejercicios y ejemplos .
Personas más grandes que yo lo han explicado mucho mejor, en un artículo titulado The Structure and Interpretation of the Computer Science Curriculum . Afortunadamente, no son solo llorones, sino que escribieron su propio libro: Cómo diseñar programas . Si piensa leer SICP, es posible que desee leer HtDP primero: cubre casi el mismo terreno que SICP, pero solo supone un conocimiento promedio de dominio de nivel de escuela secundaria. (De hecho, está escrito para ser enseñado a niños de secundaria).
Una vez que haya terminado el HtDP, aún puede regresar y leer el SICP, ya que ahora un poco de conocimiento de dominio perdido ya no será tan perjudicial porque ya ha visto el concepto antes.
Nota: hay un borrador para una segunda edición de HtDP , que es posible que desee leer en lugar de la primera edición. El material sobre la programación imperativa se ha eliminado y se tratará en el segundo volumen aún no escrito Cómo diseñar componentes , pero puede tomarlos de la primera edición o del SICP o de ambos.