IlyaShpitser comments on Physics grad student: how to build employability in programming & finance - Less Wrong

8 Post author: Stabilizer 08 January 2014 07:36PM

You are viewing a comment permalink. View the original post to see all comments and the full post content.

Comments (50)

You are viewing a single comment's thread. Show more comments above.

Comment author: IlyaShpitser 08 January 2014 10:14:13PM *  1 point [-]

There is only one kind of programming :).


"Theoretical comp. sci." is Sipser, etc. I suppose this is "conceptual comp. sci." That is far from a bad thing, though.


SICP is comparable to Early Transcendentals because it is used for freshman comp. sci. courses (but is in fact far deeper than this might imply).

Comment author: shminux 08 January 2014 11:43:37PM *  -1 points [-]

There is only one kind of programming :).

Not sure what you mean by this.

"Theoretical comp. sci." is Sipser, etc. I suppose this is "conceptual comp. sci." That is far from a bad thing, though.

Right, "conceptual" is a far better term. Theoretical comp sci is a different beast entirely.

I agree that SICP is accessible to a freshman programmer, but I doubt that it's the best book for them. Something like Code Complete would be far more useful.

Comment author: IlyaShpitser 08 January 2014 11:45:24PM *  3 points [-]

I think we will have to agree to disagree on what the best first book ought to be for a programmer.


Not sure what you mean by this.

It was a joke with a grain of a joke. That is, I believe all programming activity, regardless of application area, has a unifying conceptual core. Because of this, statistical programmers, and business programmers, and web developers, and operating system programmers are participating in the same activity, much like algebraists, topologists, logicians, and analysts.

If you want to get into math you first study what it is mathematicians do, what a formal argument is, styles of proof, subject areas, abstraction, etc. If you want to get into programming you first study what it is programmers do, processes, styles of programming, abstraction, etc.


I guess my position is that when going into a new field, study domain-independent concepts first. That is, study the part of the field that does not decay with time.

Comment author: shminux 09 January 2014 12:34:11AM 0 points [-]

OK, thanks for clarifying. As for the "best first book", it's probably highly individual. In my field (physics), students are taught easy basics first (F=ma etc.), long before they learn Lagrangian mechanics and relativity. Whether this is due to insufficient math or because the bottom-up approach is more suitable on average, I am not sure.

Comment author: [deleted] 09 January 2014 01:56:16AM 0 points [-]

Yes, but the first chapter of the first book a student uses to learn physics contains a detailed description of what physics is: that it is the study of the nature, properties, and evolution of matter and energy, that it involves collection of experimental evidence and building mathematical, predictive theories from that evidence, etc.

SICP is that "first chapter" for computer science & programming. In terms of theoretical analysis it is actually rather poor - I wouldn't compare it to Lagrangian mechanics or relativity at all. What it does is set the stage and provide a framework for thinking about computer programming in general, in such a way that keeps you from making common and avoidable mistakes in the future.

(There's a reason SICP is/was the first class for incoming comp sci freshman at MIT for so many years.)

Comment author: IlyaShpitser 06 March 2014 01:06:31PM 1 point [-]

(There's a reason SICP is/was the first class for incoming comp sci freshman at MIT for so many years.)

Berkeley also.


The youth is wasted on the young, and CS61A is wasted on freshmen. Only years later did I truly appreciate what CS61A was trying to teach me.