

Graph of SICP chapters - anodes
http://bl.ocks.org/anonymous/4edbc373e2fc5b63ad0d

======
Energy1
As an outsider, I am trying to learn the basics of computer science. I was
recommended this book along with the ones listed below. Do I need to study
them all or can I do one r two of them and move on?

Introduction to the Theory of Computation by Sipser.

Programming Language Pragmatics by Michael L Scott.

Compilers: Principles, Techniques, and Tools by Aho et al.

Concepts, Techniques, and Models of Computer Programming by Van Roy.

Intro to Computing Systems by Yale Patt & Sanjay Patel.

Computer Systems: A Programmer's Perspective by Randal Bryant & David
O'Hallaron.

~~~
beering
How much programming do you do? If you're a non-programmer who wants to write
software, there are probably better things to do than read a bunch of CS
textbooks.

~~~
Energy1
I've been trying to understand programming for a while now. I know some Python
and Clojure, but don't consider that programming knowledge mostly because its
just syntax and syntax is just a triviality. So, instead I am trying to gain a
better proficiency through programming close to hardware because I heard there
are programs(for example, Assembly) that are in one-to-one correspondence with
the underlying hardware they are written for. I've been recommended the
books(and many more), but I am not sure how to group them thematically. I am
not scared of math parts - just there's an huge volume of text to digest for
just an intro to "programming done right". I am not in a rush to learn JAVA
and go dev somewhere. Thanks.

~~~
pjmorris
The books you've listed are all excellent, but are not direct paths to 'better
proficiency through programming close to the hardware'. I believe that SICP
might be your best bet from among the books you've listed. Work through it
first, then decide where to go next. A caveat: SICP spends much of its time
approaching computation from a hardware-independent perspective (expressed in
the old quip 'Computer Science is no more about computers than astronomy is
about telescopes'.) Don Knuth takes almost the opposite approach in 'The Art
of Computer Programming', defining a machine language (for an imaginary
machine) to be clear about implementation details and time-space tradeoffs.
Both perspectives dig much deeper than 'just syntax'.

------
jnotarstefano
I am not sure I understand this graph. When is there in an edge between two
chapters? What is the "weight" of an edge?

~~~
anodes
This is essentially a bag-of-words comparisons. Edges are computed with tf-idf
similarity.

------
anodes
It would be great if anyone has a suggestion on which text to perform this
graph analysis on. Ideally the ones with succinct text like SICP, licensed
openly, and with less dependency on visual diagrams. This is so that the model
is closer to the actual "abstract-syntax-tree" structure of the book.

------
vdloo
This is really cool, I recently finished chapter 1 and this really puts in
perspective how much there is left to explore.

~~~
anodes
As you may discover from the graph, section 4.1, where the "Maxwell equations
of software" resides in, is among the nodes with the most number of
connections with other nodes.

