Hey all. I'm a prospective computer science student who wants to get acquainted with some of the basic mathematical and theoretical concepts before I enter said program. I'm looking for books that will introduce me to some of the rigor involved with the introductory topics (namely algorithms and data structures, compiler theory), but will not drown me in a deluge of terse, academic-for-the-sake-of-academic language. If you have any suggestions, please share them.
Also, I have a couple of questions about the mathematical rigor of those introductory topics. What level of mathematical ability would be adequate to acquire at least a solid grasp? Do the mathematics make heavy use of advanced logic, calculus, set/graph theory, linear algebra, or a combination of them?
For the record, my highest level of math to date has been a course in advanced functions, precalculus if you will. Although I haven't taken a high school calculus course yet, will I be ill-prepared mathematically, even for those introductory topics?