

Ask HN:Self Education:I am totally confused - ekm2

I am interested in being truly good at both computer science and programming,but i cannot seem to come up with a solid model of education.In Mathematics,i know that i should read Spivak,Rudin,William Feller and all the other masters.In physics,it is the Feynman Lectures starting with Mechanics,Electromagnetism and onto Quantum Mechanics.The logical coherence breaks with CS and programming.Here is what i have learned:
A.Begin with python and then feel free to read anything else
B.The Joel Spolsky Approach:C.O.D.E,K&#38;R,SICP and then anything else
C:Matt's "What every CS major should know
D:Learn the current fad:HTML5,Ruby,NodeJS etc
Is it possible to get the kind of coherence present in Math and physics?
======
MarlonPro
Should look close to this:

+++Computer Science I: Programming Methodology
(<http://academicearth.org/courses/programming-methodology>)

+++Computer Science II: Programming Abstractions
(<http://academicearth.org/courses/programming-abstractions>)

+++Computer Science III: Programming Paradigms
(<http://academicearth.org/courses/programming-paradigms>)

Of course you can throw in there:

+++Introduction to Algorithms (<http://academicearth.org/courses/introduction-
to-algorithms>)

+++Data Structures (<http://academicearth.org/courses/data-structures>)

------
mosjeff
I think the problem with finding a one true path is that computer science, as
a concentration, has many different avenues.

You could focus on developing for the web and work with tools that make
dealing with the challenges of the internet easier.

You could focus on developing for a computer system, writing in low-level
languages that help you take advantage of a system's hardware.

You could even focus on developing for an integrated circuit that doesn't even
qualify as a full "computer" to most people.

Each of these avenues will lead you to different languages, tools, and
paradigms.

So, the (rhetorical) question is, what are you trying to accomplish?

------
kls
I would say look at either MIT's open coursware or Stanford's online CS
classes. They don't cover all of the good stuff, but obviously they are a very
good foundation. From there you will pick up what are considered seminal
text's in the field.

------
hendrix
I am in a similar position to the OP, although I am learning c++ as a first
language. It seems like most of the open-courseware type programs are either
scheme (old mit)/java (stanford)/python (new mit). Seeing as what im
interested in (computational finance/bio) is mostly C/C++ that's why I'm going
with C++. If anyone thinks im crazy and should switch to another language or
anything else that I should be looking at I'd love to know.

