After perusing the web and cs.stackexchange in particular, I've come across many different wonderful resources in Computer Science - from Sipser's "Introduction to the Theory of Computation" to books on Languages or volumes on Cryptography.
However, what I couldn't find was a general introduction to Computer Science, a book that covers some of these topics briefly in distinct chapters. That is to say, a chapter on computational complexity, a chapter on languages, a chapter on logic, a chapter on cryptography, a chapter on algorithms etc, all in one book.
I'm a math major, and whenever I run into things like hash functions or "automata", I have to hit Google and go from there. It'd be nice if I could have a book that could get me reasonably up to speed on many of these foundations and central ideas in (theoretical) computer science without having to read 4 different books about 4 different fields in CS totalling 2000+ pages.
Just to be clear, I'm not really looking for hands-on books on how to write code - this question pertains mostly to the theoretical bases of CS (although I wouldn't mind a chapter on functional programming or "programming concepts"). Also, my preference goes out to a book as opposed to a website or online resource as I travel a lot and usually don't have access to the internet, though I do have the habit of taking a book with me.
In essence, I'm thinking about something equivalent to "University Physics" books (but instead, a fair bit shorter as those tend to be huge tomes of 1400+ pages), or "Mathematical Methods for Scientists" - something like that.