Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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
Scheme? With related to what? –  Abimaran Kugathasan Jan 18 '11 at 11:56

1 Answer 1

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

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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