9
$\begingroup$

Normally universities teach discrete math / discrete structure. My question is, how much math does one need to know to understand this area? Is calculus required or will precalculus do just fine? Does one need to have done proofs before to be able to understand this area?

Thank you all for your answers.

Note: My apologies if this has already been asked. after my investigation i could not find any similar questions. If you believe this is the case please share where this has been answered and i will gladly end/remove this.

$\endgroup$
  • 4
    $\begingroup$ Asking "How much [math] do I need to understand [math]" sounds not very meaningful to me. Do you mean ask which maths? In that sense, you have answered your question: you'll need mostly discrete maths, algebra and a bit number theory might help. Analysis is mostly superfluous, with some exceptions (asymptotics, generating functions sometimes). $\endgroup$ – Raphael Aug 7 '12 at 10:00
  • $\begingroup$ What was meant was which math areas does one need to know before they can begin to understand basic discrete math taught at a university to undergraduates. Whether precalculus (which is high school level algebra and trigonometry) would be enough? And whether one would need to be familiar with proofs before being ready to understand the subject. Apologies for any confusion. $\endgroup$ – user2387 Aug 7 '12 at 11:39
  • 1
    $\begingroup$ that will depend on country, school and teacher. At my university (and afaik in the whole country), we do not assume any (significant) prior knowledge. Mathematics education essentially starts at zero (well, arithmetics may be assumed) but due to the high pace, it can be useful to have some prior knowledge. In that case, look at the content of the specific course. I don't think there is a general and useful answer. $\endgroup$ – Raphael Aug 7 '12 at 12:24
  • $\begingroup$ Also, what do you mean by "understand this area"? Understand enough to pass the class? Enough to get an A? Enough to teach the class? Enough to do research? Enough to KNOW EVERYTHING? $\endgroup$ – JeffE Aug 8 '12 at 21:44
  • 1
    $\begingroup$ The discrete math class in my department has calculus as a formal prerequisite, but only because we assume absolute mastery of high-school algebra. $\endgroup$ – JeffE Aug 8 '12 at 21:45
5
$\begingroup$

Normally, classes at universities have prerequisite lists. If there are some courses on the list you haven't taken, you should ask the professor whether you really need them.

Discrete math courses can vary dramatically in what you really need to understand them. You may or may not need to have done proofs; (some discrete math classes teach you how to do proofs). I'd guess you probably don't need to know calculus. Calculus isn't really needed to understand discrete math, but if calculus is a prerequisite for the class, there are a number of good examples and homework problems that the professor might use that would indeed require calculus. And you can certainly teach discrete math classes that require basic abstract algebra as a prerequisite.

$\endgroup$
2
$\begingroup$

Discrete Maths contains Sets, Relations, Trees, Graphs, Boolean Algebra etc. which are some conceptual Topics not Calculus. Discrete Math is very useful as view of Programming.

$\endgroup$
2
$\begingroup$

I think that answer depends slightly on the curriculum and the teaching method for the class (Discrete Math).

If this is an undergraduate class, thought from Kenneth Rosen's book it usually does not require much pre-requisite at all beyond standard math classes. I would say that the only pre-requisite is understanding of Math in general, basic (order of operations, etc).

If the class is somewhat more demanding and if it requires knowledge of basic proving techniques, concepts in number theory, I think the course in Abstract Algebra is a good pre-requisite.

I am currently reading a Dover book for fun - "Concepts of Modern Mathematics" by Ian Stewart which is a great self-study intro (and beyond).

In general, one should read up on sets, proofs, boolean algebra, state machines and general ide of algorithms to get a good start.

$\endgroup$
  • $\begingroup$ My experience is exactly the opposite-- a discrete math course was a prerequisite to abstract algebra, but that's just the way the curriculum at my school was structured at that time. I think a lot of school's have discrete math as a more or less intro or lower level course, but obviously that's not always the case. $\endgroup$ – Joe Sep 7 '12 at 19:09
1
$\begingroup$

Is calculus required or will precalculus do just fine?

No. Calculus deals with calculating the slope at any point on a continuous curve or calculating the area under a continuous curve. Since continuous ranges (uncountably infinite) and discrete ranges (finite or countably infinite) are opposites, calculus is largely inapplicable to discrete math.

Some concepts from basic math courses are useful

  • algebra - treating quantities symbolically
  • geometry - formal proof
  • pre-calculus - specifying relations inductively based on (countably) infinite series

Formal logics are also valuable since formal logics stress induction and symbolic thinking. Some logics (Boolean) also deal with discrete truth values.

$\endgroup$
  • 1
    $\begingroup$ In this generality, I have to strongly disagree. Calculus/analysis contains more than just differentiating and integrating, and sometimes comes in handy in discrete settings. $\endgroup$ – Raphael Aug 11 '12 at 18:47
  • $\begingroup$ @Raphael, perhaps my calculus was far too long ago. Do you have any examples of the overlap? I studied EE before CS, so my practical experience with calculus was mostly in analysis of vector fields which I haven't used since I switched to CS. Sometimes discrete signal analysis (e.g. Fourier xforms) involves integration over impulses but that seems tangential enough that I didn't think it worth including. $\endgroup$ – Mike Samuel Aug 11 '12 at 22:03
  • $\begingroup$ Asymptotics is an obvious example. I believe integrals can be useful when dealing with sums and series. Furthermore, generating functions can be useful tools; in order to truly understand those, you need complex analysis. I remember a theorem in an algorithms class (I don't quite remember which) was proven with some calculus theorem, I believe the intermediate value theorem. I do remember the professor making a point that using real analysis for the proof was a lot easier than remaining in the discrete world. $\endgroup$ – Raphael Aug 11 '12 at 22:11
  • 1
    $\begingroup$ That said, I would definitely agree that discrete mathematics are way more useful to a computer scientist. $\endgroup$ – Raphael Aug 11 '12 at 22:13
  • 1
    $\begingroup$ @Raphael, the question was "What should I have under my belt before I tackle discrete math?" which is different from "What math should a computer scientist know?" Even Steve Yegge at his rantiest acknowledges the value of Calculus, but my assertion is that it is close enough to orthogonal to discrete math that one can tackle them in either order. $\endgroup$ – Mike Samuel Aug 11 '12 at 22:34
1
$\begingroup$

The answer depends on both your career choices and your university's program.

Do you think you'll need to process sounds and music? Then some knowledge of calculus, power series and, even more important, Taylor series, is a MUST.

Will you work on a 3D engine? Maybe something VR - related or some virtual simulation machine? Then abstract algebra (groups, fields etc.) is required, at least for the first - person camera movement (see the quaternion group and quaternion rotation). So is linear algebra.

Or maybe you wish to work in a more engineer - oriented company, such as Siemens? Calculus is again a requirement for such a job, and again, so is linear algebra.

All of the above are jobs that demand a certain skill when it comes to mathematics.

If you're more inclined towards developing web/ desktop/ mobile applications, then maybe you won't need so much math (in case it's not an app such as WolframAlpha).

You're going for a more theoretical - oriented career? Then you'll need a very good understanding of algorithms (complexities, optimization and such) and you'll also be asked to come up efficient solutions and make them even more optimal after deploying them.

Is it that you wish for an embedded programming job? If that's so, you'll also want to know quite a bit of electrical engineering (DOS and such) and, as you can already tell, some maths are needed to understand that.

As you can tell, mathematics is not a subject to be ignored when it comes to computer science and programming, but it shouldn't define your career. See what you want to do in in the tech world. List a couple of choices which you like best. After that, see what maths are required for a good job in the sector you chose to work in. Maybe you won't like them. Maybe they're not that interesting to you. If that is the case, move to the second choice and repeat the process. If the maths are more to your liking, than go for that job/ field/ sector and knock yourself out!

The most important thing in the "Hello World!" (pun) is to get you coding and algorithm skills on point. Tackle some fields: webdev, embedded, etc. (at least read about them). Then learn the maths that you'll need in you field of choice.

Hope this kinda answered you question and that it was helpful!

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.