SelArom writes "As a computer science graduate, I've always been fascinated by complex theoretical problems such as the Travelling Salesman Problem, or the Halting Problem, leading into deep theoretical stuff like Number Theory, Graph Theory, and Quantum computer theory which are so far over my head I feel like I should go back to programming little text games using BASIC in the 80s.
My college life did very little to prepare me for this high-level stuff, so I've never been able to keep up with even the simplest explanations laid out in Wikipedia or the advanced chapters of textbooks (which we always skipped!). But I've always wanted to expand my understanding of these theories, if for nothing else just to fulfill my curiousity (not to mention the advantage I would gain as a developer).
So I'm wondering, where is a good place to start? And I mean to START, at the beginning. Are there any specific reference materials that can start at a very basic level, like say set theory (which even that I only kind of formally understand) or even lower, expanding up towards some of the really high level stuff without completely overwhelming you with strange, foreign notation?"