<p>I'm looking through the computer science curriculum at my local university and see that it requires a course called discrete math. I'm wondering (having been out of school for 10 years and working) whether such a course would require any pre-requisite math or if it's more of a self-contained topic? </p>
<p>If it does require prior knowledge, would you guys happen to know what one would need? Thanks so much.</p>
<p>First check the college’s course catalog (pre-reqs should usually be listed by the subject’s listing).</p>
<p>Generally, for a discrete math course, a solid background of pre-calculus is recommended. Some discrete math courses might list calculus as a pre-req. The ability to write proofs is essential.</p>
<p>The class, interestingly enough, doesn’t list any pre-reqs for my local university. I’ll see if I can email the professor who normally teaches it for some info. But I definitely have no idea what a proof is or how to write one!!</p>
<p>If anyone knows of any online resources for proofs to browse or even for what discrete math contains, feel free to post and I’ll check them out. </p>
<p>Easiest thing may be to pick up a discrete math book for that. </p>
<p>If they don’t list any prerequisites they’re not expecting proof experience yet, they’ll teach it in the class. This is a very typical intro to proofs class for CS majors. </p>
<p>The professor did respond to my email saying that proof experience is helpful, but not required and that they give an introduction to it in the discrete math class. So…that’s that! </p>
<p>Out of curiosity, one final question is what would “proofs” be used for in computer science to begin with? How does it apply?</p>
<p>My algorithms class was entirely proofs. So, proof that the algorithm works, proof that the algorithm falls into some complexity class, proof that properties X, Y, and Z hold on this algorithm.</p>
<p>I’m currently taking an algorithms class at MIT (6.006) and generally the proofs involve proving a worst-case runtime complexity, showing that some invariant holds, or showing whether a given algorithm terminates and always returns the correct answer. There are many websites that give tips on writing proofs.</p>
<p>Looked it up, I’m talking about the class that would follow that one. Probably an elective course, not a course that all CS majors have to take. </p>
<p>There are different levels of Discrete Math.</p>
<p>There is the sophomore-level Discrete Math/Discrete Structures course that is taken by the CS, Math/CS and CompE majors. The course is basically an “intro” to combinatorics and graph theory. It will cover just enough of those areas that is needed to the CS, Math/CS and CompE majors.</p>
<p>At the junior/senior level there are advanced courses in Combinatorics and Graph Theory…usually broken up into their own courses. Depending on the school, either the Math department or the CS department or BOTH will offer these courses. Of course, more advanced topics including topics that actually apply to real world things are covered.</p>