This was recommended by my very adept discrete math prof (don't worry, he's not the author). The excerpts I've used are good. The reviews make it seem pretty hit or miss, but textbooks tend to be that way on amazon.
I once took a first-year course in logic, starting with the propositional calculus. All these years later, I still regard it as the most important thing I ever did. Proof-writing became [almost] easy after that. It wasn't always easy to put the pieces together, but at least I had a blueprint. I knew that if I could clearly define a contrapositive, or understand how set identities like DeMorgan's Laws were constructed, I was on much firmer ground. I highly recommend Discrete Mathematics and Its Applications. It's such an enormous and comprehensive text, in so many subjects, that I found myself referring back to it, for something, in almost every class of my undergraduate.
Looks like a good workbook, but fails as an instructional book according to the reviews. Still a good share!
I'm taking discrete math (computational structures) this semester. My professor has been teaching this course for 25 years.
He consistently ties in java methods while teaching the logic in the coursework. He teaches directly out of the book while providing tips and hints that aren't mentioned. He even goes out of his way to explain how some of the book's logic will confuse us, and to just focus on the lecture. I'm not sure how my classmates are faring, but I can tell this is what he loves and is meant to do.
Do your homework before signing up for this course. You don't want a lazy prof in a foundation course like this. While the math may seem easy, it is in no way straightforward. There is some algebra in boolean logic and proofs, but there isn't a lot of math built onto calculus or any other prereqs from my CS program.
I'll let you know how I did once I'm plodding through data structures.
The textbook is usually Discrete Mathematics and It's Applications. Don't let the bookstore fool you, the sell the "UCF Edition" for an inflated price. The only difference is an additional introduction. Here is an Amazon link where you should be able to find a reasonably priced used copy. Alternatively, here is a link to a PDF copy that you can have for free! Enjoy =)
I'd recommend Discrete Maths And Applications by Ken Rosen and also Concrete Mathematics by Graham and Knuth
https://www.amazon.com/Discrete-Mathematics-Its-Applications-Seventh/dp/0073383090
https://www.amazon.com/Concrete-Mathematics-Foundation-Computer-Science/dp/0201558025
The former is a gentle introduction to key math concepts used quite a bit in computer science, especially for the analysis of algorithms. The second is more advanced and would be better with more mathematical maturity, but it does cover the basics at the start (but in not much detail).
Discrete mathematics is very beautiful and is used in all walks of life, not just computer science. I'd recommend starting with the first one so you don't get too turned off if the second book seems too hard at first.
Okay most of these people here answering you are not gifted, so take what they say with a grain of salt.
Find a Mathematics Professor to mentor him and have him conduct in depth research into advanced topics in Linear Algebra, Number Theory, Modal and Temporal Logics, Probability theory, etc. Pretty much any topic he's interested in or is willing to learn about. The best text to sit him down with is Rosen's Discrete Mathematics and for linear algebra it's Axler's Linear Algebra done right (2nd edition... they really did it right the 2nd time... that's Dr. Lauren Keough's joke, GVSU Math Prof.).
If he plays music, start and manage a band for him with people across the age spectrum.
​
If he's into learning languages, then Mikhail Petrunin's Comparative Grammar of Spanish, Portuguese, Italian and French is a must!
​
Athletics is an important aspect of intellectual and social development and most of my socializing (and learning spanish!) happened while playing sports.
Finding mentors locally, PhD's who can lead him into independent research and help him publish papers. His life satisfaction is what matters at the end of the day--I'm sure he has wonderful ideas to contribute to the academic community!
Discrete math would be very helpful. In particular, set theory. I recommend
- https://www.amazon.com/Discrete-Mathematics-Its-Applications-Seventh/dp/0073383090
or the first chapter of
- https://www.jirka.org/ra/realanal.pdf
Theory of computation is another great topic for this kind of stuff.
​
>For the most part, the videos are brief and do little more than introduce a topic, unlike in an actual lecture
True.
​
>It varies from course to course, but some of them have been composed of nothing more than an instructor reading off of slides, with little or no explanation.
True. Introduction to Programming I and II were great, really hands-on and have original content conducive to exploiting your creativity. Object-Oriented Programming was quite enjoyable too and generally students seem to agree that the newest modules at level 5 are all well done and better than those at level 4 (although it remains to see if those will go deep enough on theory for you). You are free to submit awesome mid-term/final projects in most courses so you can definitely go beyond the expectations. But don't place them too high, because you could work less too and be just fine ;).
Rosen is decent enough imo.
This is certainly a true statement. In my experience, though, students would generally do better with something else; Susanna Epp's book Discrete Mathematics with Applications is generally better; less rambling, and fewer cases where they jump from simple to nonobvious results with no explanation.
While not the only source for such things, check out the relative Amazon reviews from verified purchasers:
Rosen: https://www.amazon.com/Discrete-Mathematics-Its-Applications-Seventh/dp/0073383090
I was the TA for the discrete math course at Columbia for four semesters in a row; we used Kenneth Rosen's text. It is a big hefty one, but that's cause it has a lot of stuff in it. You should definitely get it and go through it if you can: http://www.amazon.com/Discrete-Mathematics-Applications-Kenneth-Rosen/dp/0073383090/ref=sr_1_1?s=books&ie=UTF8&qid=1434600652&sr=1-1&keywords=rosen+discrete+math
You should really do as much of that (at a comfortable pace: math is meant to be enjoyed like a fine cheese...) as you can, and then start on the CLRS algorithms book and read that at a comfortable pace: https://en.wikipedia.org/wiki/Introduction_to_Algorithms
Even as you go through computer science things (if that is where you lead yourself after high school), I would recommend staying with math too. The people who put their hearts into being good at both tend to do really well compared to the rest of the pack.