Some short updates

August 15th, 2008

…In bullet form :)

For something that’s supposed to be short, I have again successfully made it long. :D

9 Responses to “Some short updates”

  1. Dean Michael Berris Says:

    “What are the practical applications of discrete math in actual software development?”.

    http://en.wikipedia.org/wiki/Discrete_mathematics

    In the real world (or at least in my experience ;) ) combinatorics and set/graph theory come in handy big time. Especially if you’re going to be doing algorithm analysis, a good understanding of the fundamentals of discrete mathematics will give you a definite edge. This doesn’t include the high-profile stuff that you do in the business scene, statistics, and among other things, logic.

    If you can’t get your discrete math right, say goodbye to a worthwhile career in computer science or software engineering. :)

  2. Sympy Says:

    You have to specify a little bit more what parts of discrete math you are studying, because the area is friggin’ huge. Otherwise I could just mention graph algorithms, as the practical applications of them are pretty much obvious. :)

    I suppose you are referring to subjects more abstract than graphs, right?

  3. Michael Pyne Says:

    Discrete math can be very useful in Computer Science but it does depend on the software area you’re talking about. I very highly doubt that it’s worth so much to warrant buying a different book though.

  4. Jucato Says:

    @Sympy: Here’s basically a list of what’s covered: Sets, Relations, Functions, Combinatorics (Sum/Product rule, Inclusion-Exclusion), Arrangements and Selections, Graph structures, Formal Languages, and Finite Automata.

    @Michael: Basically applications programming with a slant towards desktop apps and GUI’s. But of course that’s a wee bit too limited. So I’m curious as to where/how Discrete math is useful in Computer Science (aside from the theories).

  5. Sympy Says:

    Most of those subjects are usually not very important in high-level aspects such as planning the software architecture or interface, but are absolutely essential for developing efficient algorithms and data structures.

    Efficient hashing, balanced tree storage, finding the shortest path… All of those rely on discrete math theorems on one way or another.

    If you’re interested in knowing more about it, I definitely recommend the book “Programming Challenges” by Steven Skiena and Miguel Revilla. This book presents several discrete math problems, cleverly presented in the form of real-life or fable-like practical problems, where applying discrete math theorems can be the difference between designing an algorithm that solves the problem in hours and designing an algorith that solves the problem in seconds.

  6. Jucato Says:

    @Kuya Dean: Thanks for the reply, dunno why Akismet put you in spam!:P But I guess your last sentence is motivation enough for me to persevere in the subject (specially since my algebra is apparently getting very rusty).

    @Sympy: Thanks for the book recommendation. I hope it’s available. So I guess discrete math is mostly used in algorithms, which doesn’t seem to interest the majority of hackers I’ve come across (or maybe I just haven’t met the right hackers :P)

    Justin Dugger from Ubuntu blogged a reply as well (my trackback/pingback doesn’t seem to be working…): http://jldugger.livejournal.com/14888.html

  7. Dean Michael Berris Says:

    I think it’s because I’m new at posting here. ;)

    At any rate, defending an algorithm you implemented which you can prove to be more efficient than a certain other approach *will* save you especially when faced with technical challenges. Discrete Math the subject per se doesn’t rear its ugly head all the time, but the discipline and theories behind everyday Computer Science related problem-solving will require that you have strong fundamentals.

    One other thing, everything — and I mean everything — in computer science will build on top of the fundamentals of Discrete Mathematics. If you’re just taking the combinatorics and logic-algebra stuff lightly, it will all get more complex faster than you can say automata. :)

  8. mangz74 Says:

    wow idol…you gonna give a talk na? wish i could be there…anyway, hopefully someone would videotape it for the rest of us…goodluck!

  9. atomopawn Says:

    Thank you for posting this. As a professor (I will be teaching Discrete Structures this semester), it is interesting to hear a student’s viewpoint. I will try to emphasize the practical applications in my class. Maybe I can even come up with a set of programming projects to illustrate some of these principles.

Leave a Reply