Wednesday, March 25, 2009

Discrete Mathematics Sucks

I've taken Discrete Mathematics 3 times, and I'm on my 4th try ><
I feel pretty retarded taking the same class 4 times, and it especially hurts when I see people that are dumber than me passing the class :/

I'm one of those people that are only good at stuff they enjoy. If I don't enjoy doing something, or if I see no real-benefit from it, I won't apply myself and just half-ass it (or in the case of discrete math, just procrastinate and not study till the-day-of the test :o)

The class is basically a bunch of different advanced math courses/theories combined into 1 class. It needed for all Computer Science majors at my school, so it *should* have something to do with computers, but it really doesn't :/

Seriously, I spend most my days programming shit, and I really don't see much practical use for discrete mathematics. There may be some cases where you can use graph theory to help with stuff like shortest path algorithms, but there's a big difference between programming 'graph theory', and math graph theory.

Basically 'graph theory' or any other aspect of discrete mathematics to a mathematician is all about proving or showing something is true for all possible cases, regardless of the practicallity of actually implementing the algorithm. To a programmer its just "does this work good enough for what I need, and is it fast?"... See the difference? :p

Now, what good is an algorithm if its not practical to actually use? Or if you'll never use it? I love programming because I can create and view my creation. With mathematics you theorize and.... wait I guess that's it!? oO

Its funny, because back in high school I took Honors and Advanced Placement math courses, and got very good grades. I used to think math was pretty fun and easy... but then when I got to college I realized that the math in high school was "bullshit fake math."

College math was a punch in the face, I actually had to study!? wtf! The bullshit fake high school math courses only 'taught' me that I didn't have to study for math courses because they were easy... I got pretty pissed when I learned what 'real math' was after taking some university math classes :/

Anyways, the point of this blog-post is:
1) Discrete Mathematics is pretty useless, and shouldn't be mandatory for Computer Science Majors.
2) High School mathematics 'prepares' you badly for college-level math, by giving you false expectations that it will be easy.


  1. I can easily relate to the
    "I feel pretty retarded taking the same class 4 times, and it especially hurts when I see people that are dumber than me passing the class :/"
    part because I'm really bad at studying cause I never had to up till now --.--

    what I want to say is hang in there!

  2. thanks for the encouragement :)

    hopefully i will pass the class this time around, taking it 5 times won't even be funny ><

  3. >> 2) High School mathematics 'prepares' you badly for college-level math, by giving you false expectations that it will be easy.

    My 10th grade math teacher told me that once. Like almost his exact words, as he recounted to me his own experience when he went from high school to college math. Of course he made one fatal flaw at the time he told me this -- by assuming I would end up attending college. ;)

    But yea, colleges continue to make the mistake that Computers and Math are somehow "interconnected" when in fact they have almost no relationships at all. And interestingly enough, if you take Computer Information Systems instead of CompSci, you'll get a much more practical series of courses usually, with actual programming tasks relevant to the world we live in -- while CompSci seems more geared to prepare you for the task of developing new chip fabrication processes at Intel or something, and often has little to do with programming.

  4. I used to feel the same way. If all you're doing is pushing bits around with C-style languages, all this math stuff makes little sense.

    Then I found real languages like ML, Haskell, etc. Not that you need every high level math to use them, but for developing them -- most of the nice things would not be there without rigorous mathematics. I don't really understand much type theory at all, yet when I see something like dependent types, I see how that's going to make my coding a lot easier.

    So, for "Computer Science" versus "Programming", math has quite a place.

  5. I can tell you that same applies to any field of knowledge. Children at school (or high-school) often think that Biology is the simpliest classes of all (yeah, stamens and pistils, flowers and frogs). Then they trying to enter University's biological department; naive. There they realize that they were decieved at school. 20% of all students quit after first year because of their poor progress.

    PS: It happens almost every year in Ural state university in Russia where I graduated the Biochemistry and Physiology of Plants department.
    PPS: School sucks.

  6. Feels like I wrote this blog myself.

    I went to community college for two years and received straight A's in Calculus I and II. My first math class at a university? Discrete mathematics. Epic fail. It actually kind of pisses me off that I wasted two years of my life thinking that I was getting prepared for college when I wasn't AT ALL. :\

    Anyway, it's nice to know that I'm not the only one who experienced something like this. Totally agree with you about not needing upper level mathematics for programming. Yes, you need higher math to be a computer scientist, but college algebra will suffice for a programmer.

    Cheer up. The semester is almost over. :)

  7. Discrete math sucks! That is for sure. I love computer science. I hate this class. I feel your pain. On my second try. Hopefully will pass. Professors who are way too smart and have forgotten what it is like to see this for the first time.

  8. hah Sean good luck, hope you pass. this blog post is old and i finally was able to pass discrete math although in the end it severely hurt my GPA from the times i had to retake it.
    the people that taught DM in my school were mathematicians, they weren't programmers or even part of the computer science department. if you have a mathematician's mind DM is probably not too hard, but I have a programmer's mind instead.
    so imo its not that professors are "too smart" but more like they think in a different way which is more suited for DM; at the same time i'm pretty certain they won't make good programmers which requires a different way of thinking.
    (i once read a study on a programming aptitude test that was given to newbie programmers, and the results were that those who considered themselves mathematicians and were aiming to get math degrees did not do too well; i.e. programming requires a different type of mindset).

  9. I had to retake discrete math, but I passed the second time around. I know I'm not smart enough to go into "theoretical computer science," and I'm CERTAIN that I'm not as smart as you, cotton (at least not yet ;p).

    Good luck!

  10. I hope you didn't give up! I know this is a somewhat old post, but it's still high on google hits, so I wanted to write something here for future folks worrying about Discrete Math.

    I teach Computer Science courses (normally intro to languages and mobile app development), and it always pains me to see students having a career-threatening go of discrete math. Do I believe it's useless garbage? Absolutely not -- these topics are the cornerstone of much of how we think. But somehow, we're just not dot doing it right -- and by "we" I mean curriculum development folks. A core understanding of set theory, combinatorics, logic, etc can help you be a much better programmer and enrich your programming courses -- we just have to find a way to present them drawing the link to programming.

    Anyhow, enough of my personal pep talk. For students who come across this page because they're also depressed by Discrete Math, drop me a note (kwilker2 at asu dot edu) -- I'm in the middle of starting some online tutoring courses aimed at the struggling discrete math for CS student. We started the first course about inductive proofs at Let me know what topic has you down, I need some inspiration for our next courses :)

    1. kwilker2 / Decipher Media: Thanks for your input. This is an old blog-post, and I did end up passing the class that same semester.
      I think my original post might've been a bit too harsh on discrete mathematics; perhaps because I was irate about having to repeat it so many times.
      I agree if you can relate it to practical applications and programming it would be a much better class, and if I were a teacher I'd try to do the same. It would be nice is more teachers thought like you.

  11. Computer Science is by no means a science.

    It is an engineering field, namely software engineering.

    Engineers don't create theories. They use theories that have already been developed to build practical technologies/solutions to problems.

    The field should be renamed software engineering instead of computer science.

    A scientist would be more concerned about making observations either in their mind or from the real world then trying to form some sort of hypothesis based on the observations. Then, the scientist would try to devise a repeatable experiment to attempt to disprove this hypothesis.

    An engineer would be more concerned about receiving specifications for a problem from a customer/client then using theoretical knowledge to devise an efficient solution.

    Do you see the point?

    The real brains behind the operation are the scientists.

  12. Don't feel bad. I'm a goddamn Math and Physics major and I hate my Discrete Math class too. Calculus? Breeze. Chaos theory? Love it. Discrete? Da fuck is this shit.

  13. I'm assuming you have now passed. I'm struggling so much with it right now. You should make a blog post with tricks you've picked up over the years, or simplifying some of it.

  14. yeah I'm doing discrete math now and to be honest I have never come across a more frustrating course than it, so much theory and theorems, yeah its made my brain seem like it was in dis-array, topics that seem not to relate to each other. Even the teacher said it was a hard paper no doubt, and showed us the failing grades of students probably 80%+ of the class failed it in that exam

  15. I almost changed my bs cs major the semester I took this class. All u have to do is get your 'c' and get out, never look back.