Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm a java programmer and I've decided to learn a bit about theoretical computer science. I don't have a degree in that and a little background would help me a lot since I don't know anything other than coding when it comes to software development.

I've searched this website for answers and I've found a lot of people recommending the book "Structure and Interpretation of Computer Programs" but since I don't have the required mathematical know-how to handle this book, I decided to go with "How to Design Programs" instead.

My question here is what would I gain from this experience? Would it teach me about Computer Science like I want? Or am I better off reading about algorithms and data structures instead?

share|improve this question

closed as off-topic by durron597, MichaelT, Snowman, GlenH7, Dan Pichelman Jul 9 '15 at 19:01

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – durron597, Snowman, Dan Pichelman
If this question can be reworded to fit the rules in the help center, please edit the question.

Scheme? With related to what? – Abimaran Kugathasan Jan 18 '11 at 11:56
up vote 7 down vote accepted

That's an introductory CS text... there isn't a lot of math involved. I think you would be best served by picking up the math you need, and going with SICP. Maybe you can pick up what you need from Khan Academy. Part of the beauty of SICP is that it teaches you a mathematical way to think about problems, in a way that only a functional language can (IMO).

share|improve this answer
but how to design programs is supposed to be an enhancement to SICP,I guess,and they both server the same purpose – Mahmoud Hossam Jan 18 '11 at 17:17
This definitely is not a math intensive text. – Rig Feb 26 '12 at 7:52

Not the answer you're looking for? Browse other questions tagged or ask your own question.