# Anyone ever take Discrete Mathematics?

Discussion in 'Mac Programming' started by chrono1081, Jun 29, 2010.

1. ### chrono1081 Expand Collapse macrumors 604

Joined:
Jan 26, 2008
Location:
Isla Nublar
#1
Hi guys.

I have a Discrete Mathematics class coming up and I googled to see what type of math it is and the definitions are all over the place. In fact, most places end up saying things like "No one really knows the precise definition of discrete mathematics blah blah".

So I was wondering if anyone who has taken it for computer science could shed any light on the subject?

The reason I ask is I'm trying to gauge the difficulty of the class since I am an online student who works 84 hours a week (12 hours a day, 7 days a week, as a contractor in a hostile country). If it seems it may be something really difficult to me I would reschedule it until I am back home for good.

I know there is not much of a definite answer to this question but if anyone has taken this class for computer science what kind of things did you learn? We also have to write programs to solve the problems we are learning and from reading excerpts from various books it looks like the class is somewhat closely related to artificial intelligence.

Any help would be greatly appreciated

2. ### mfram Expand Collapse macrumors 6502a

Joined:
Jan 23, 2010
Location:
San Diego, CA USA
#2
Discrete Math covers a lot of stuff. Some of it includes proofs, mathematical induction, set theory, permutations, abstract algebra, generator polynomials, ring theory, Galois Fields... eventually leading to the mathematics associated with Error Correcting codes. Fun stuff. You won't get all of that in one course.

3. ### lee1210 Expand Collapse macrumors 68040

Joined:
Jan 10, 2005
Location:
Dallas, TX
#3
I'm guessing anyone here with a CS degree had to take some sort of discrete math. My course covered a lot of proofs, set theory, graph theory, some recursion, and complexity analysis (O-notation). This was the first course in which the traveling salesman problem was introduced.

In retrospect it was a good course, and all of the information was critical. At the time I hated it, and it was punishingly difficult. We were allowed to do the homework in groups, and 6-8 of us would get together for 4-6 hours a week, also working on things independently, and we'd still have problems finishing. Also, the professor spoke in monotone, and turned off all the lights and closed the blinds to present overhead slides. It was a real battle to stay awake.

It sounds like you have enough on your plate right now. This doesn't sound like the right time to tackle this course, or any course. Good on you if you want to try, but I would really hold off until you can commit more time and energy.

-Lee

4. ### TuffLuffJimmy Expand Collapse macrumors G3

Joined:
Apr 6, 2007
Location:
Portland, OR
#4
Took it. Hardest class ever (so far ). STUDY HARD. I would not recommend taking the class online. It's definitely one class where you want to be at every lecture and have a very available teacher so you can ask a boat load of questions.

just finished my freshman year, btw.

5. ### chrono1081 Expand Collapse thread starter macrumors 604

Joined:
Jan 26, 2008
Location:
Isla Nublar
#5
Thank you guys for all of the info

Well, I called the school to swap out the class with another one but unfortunately I have to take that one in order to move on to the last 300 level course I have and to my 400 level courses, which are all I have left. I can't drop it either since that will put me below full time status and then I'll have to pay more \$\$\$.

Whats worse, is my other class that I have this semester is an "Intro" to 3D modeling and sound which has the students making a short 3D animated film from scratch (meaning I make the models, textures, animation, etc as well as the soundtrack, voiceovers, and sound effects !). Some "intro" huh? Lol. (I'm sooooo glad I started teaching myself Maya a year ago ).

So I am stuck with both classes since they are essentially gateway classes to get to the rest of the courses.

Oh well wish me luck! I'm pretty sure I will need it

(I also started reading my Discrete Mathematics book, it looks quite challenging. I'm going to have to brush up on some data structures I rarely use as well as recursion since that is yet another thing I've only used a handful of times).

6. ### oldMac Expand Collapse macrumors 6502a

Joined:
Oct 25, 2001
#6
Best math class I ever took

I'll chime in to let you know it was one of the easier math classes I took and one of the most interesting. Possibly I found it easier because it was interesting and I had a very good professor. I found my calc series to be much harder and less practical for computer science application.

7. ### mdatwood Expand Collapse macrumors 6502a

Joined:
Mar 14, 2010
Location:
Denver, CO
#7
This. My CS degree required 2 semesters of discrete math. I found them fun, interesting and not all that hard. For me they were much better than calculus.

Discrete math is really a combination of so many other topics that it's hard to sum up in a single post. If you want to know more you should start here.

8. ### lee1210 Expand Collapse macrumors 68040

Joined:
Jan 10, 2005
Location:
Dallas, TX
#8
to oldMac and mdatwood:
Either your way smarter, or your brains work way differently than mine. I guess the professor may have had a lot to do with it, too, but my discrete math class kicked our (myself and my classmates) asses.

There was, basically, a prerequisite ladder, and each step along the way had one course that had about a 20-33% fail rate. You got to repeat one class once, and after that you were out of the program. The discrete math class was one of these. I don't know if this was by design, or the "weeding out" was just a natural effect of a rigorous program, but I was very happy to squeak by some of those classes.

-Lee

9. ### chrono1081 Expand Collapse thread starter macrumors 604

Joined:
Jan 26, 2008
Location:
Isla Nublar
#9
Thats how the school I have now does things, they have plenty of weeding out classes.

I'm actually on my third college. South Hills Business School -> Penn State University -> and now DeVry and DeVry seems to have the nastiest hardest classes out of the three (their physics class is ridiculously tough, the hardest I've ever had). I'm half afraid to see what this class will entail.

I've heard a huge mix of opinions on Discrete Mathematics, some people I know said it was the hardest thing they ever took, others said it was fairly easy.

Looking at the syllabus we go through the entire 700 page book in 8 weeks and have a ton of programming assignments so it looks like it may be a bit of a challenge lol.

Luckily those assignments are console only not MFC so I can write them on my mac

10. ### NT1440 Expand Collapse macrumors G3

Joined:
May 18, 2008
Location:
Hartford, CT
#10
Took it and failed it the first time around. I'm retaking it this fall so I can move on with my CS program.

All I can say is even if it seems easy at first (really was) STUDY YOUR ASS OFF as it will get pretty hard.

Also, I ****ing hate proofs (the reason I failed, which still hasn't been explained to me how it relates to CS more than the fun stuff like logic gates). Can anyone tell me why proofs would become the main focus of a CS type class?

11. ### mdatwood Expand Collapse macrumors 6502a

Joined:
Mar 14, 2010
Location:
Denver, CO
#11
I don't think I'm smarter than anyone. I did have a great teacher (the same one for both classes) and I really like discrete math so I naturally studied more. I didn't do nearly as well in my calculus classes, although I wish I could take them again today because my overall interest in math has gone way up since I graduated years ago.

And you're right, my program had 2 fail out courses - discrete math and the 1st programming class. I managed A's in both because I was interested in the classes I went to a liberal arts school and I remember my grades would come out and they would be A's in my major (CS) and C's in everything else. I even managed to fail Spanish a couple of times

Look at proofs as a thinking exercise. Instead of trying to memorize proofs make sure to understand them. Proofs are useful because they teach you to think logically (deduction, counter example, etc...) and systematically (don't miss steps that mess up your logic). Thinking in this manner is critical when finding hard to track down bugs among other things.

You want really hard? I had this one teacher that expected us to learn additional material while taking the test. I likened it to being taught to multiply and then from there understanding it well enough to learn to do division on the test. Only class I've ever taken that gave me nightmares

12. ### chrono1081 Expand Collapse thread starter macrumors 604

Joined:
Jan 26, 2008
Location:
Isla Nublar
#12
I've managed to pass all of the weeding out classes so far with A's. We had "Intro to computer hardware" which was more like system architecture and dealt with logic gates, memory management and plenty of x86 assembler. That was the first "programming" class I had at DeVry. We had to write data compression and do some low level graphics work. I was so glad I already was well versed in C and C++ because x86 assembler was a whole other animal. I know I was one of only a handful that passed.

Then their awful (as in hard, not awful content wise) physics class. I couldn't believe how insanely difficult it was. I got A's in physics at Penn State and thought I was good at physics. I got an A in DeVry's physics class too but omg seriously the material was so freaking difficult and I had to work hard for it. Of course, being online they engineer everything so that its not googlable and will tease by saying everything is "open books, open notes, open internet". If you don't know the material, you will not pass. I already know two people who failed out of the school cause they thought they didn't need to study and could google the answers. Being a year ahead of them I tried to warn them but to no avail. There are always those who take the lazy way out.

Anyway, I've been reading this Discrete Mathematics book for the past few hours and I have to say it is quite interesting and I can see where it would be quite applicable. (I'm also going to do all of the programming exercises to try and get a head start ) Classes start in 5 days XD

13. ### mdatwood Expand Collapse macrumors 6502a

Joined:
Mar 14, 2010
Location:
Denver, CO
#13
Well good luck and keep up the good attitude!

I love school. I finished my MsCS 2 years ago and am starting to miss taking classes again. I especially enjoyed my Ms because the teachers are less like teachers and more like peers and the classes are more focused. I have thought about a PhD, but there isn't a school nearby that offers anything CS related and I would have to quit my job and go back to ramen noodles. Another thing is that I'm very much a generalist and that doesn't usually fit with a PhD where the goal is often to become an expert in one thing.

If you have anymore school questions be sure to ask. My day job doesn't challenge me in nearly the same ways.

14. ### chrono1081 Expand Collapse thread starter macrumors 604

Joined:
Jan 26, 2008
Location:
Isla Nublar
#14
I would LOVE to go for a Masters. In fact, I plan on it. I've been eying all kinds of places to get a masters (especially DigiPen since I've always wanted to go there and I plan on living in Redmond).

Whats funny is back in high school, I HATED school and didn't even want to go to college. I thought I was bad at math and all the things I failed in high school (physics too).

Then one day it clicked, I wasn't bad at these things, I just had bad teachers. (Really I did, I'd never get my questions answered in math class :/ and this was before I had internet access). I then realized anyone can learn anything, its all how you are exposed to it. If one persons style of teaching doesn't make things click, go online or to a bookstore and find another style.

I then started college (one of my three) and started getting all A's in all of my classes including classes I thought in high school was hard (math, physics). I realized that while school can be important, self study is more important and its the way to get the most out of school. I think thats why I took a shine to online school as much as I did because it let me self study all of the time and I really feel like I am getting my moneys worth out of my education for the first time in my life. (I'll admit though, I was REALLY skeptical at first!).

Sure, there are still lectures and professor interactions, (and all of the online professors at my school are regular professors at various brick and mortar campuses), but a lot of the work is left for the student to research and figure out and I like that. IMO you learn more that way having to solve problems by yourself and being resourceful rather then being spoon fed.

Anyway enough of my tangent. I want a masters....(but first I have to get my bachelors...which will be next summer! )

15. ### pilotError Expand Collapse macrumors 68020

Joined:
Apr 12, 2006
Location:
Long Island
#15
Unless your going to be in education, I wouldn't bother. It has done absolutely nothing for my career.

Looking back, I would have gone for an MBA in finance or international business. They are much more useful degrees down the road. You most likely won't program forever, the MBA degree will take you much farther in preparing you for a CIO or CTO job. I have a buddy who became a COO at a major bank, due mainly to his MBA.

The reality is, an MSCS degree won't teach you all that much more than you will learn in the real world. If you want, you could probably go for an MBA and take 1 or 2 CS classes as an elective.

16. ### nofunsir Expand Collapse macrumors member

Joined:
Dec 30, 2009
Location:
Reno
#16
What IS Discrete Math

Discrete math puts into definable terms all those quirky math ideas you've known your whole life, yet never had a name or defined process for.

For example, proving things. (not necessarily like proofs in geometry/algebra)

If X implies Y, and Y implies Z then you must conclude that X implies Z. Also, notZ implies notX. (there are also symbols you'll learn... and it gets significantly more complicated, but you get the idea.)

Or, "how many ways are there to arrange 6 people from a group of 10 (6 female and 4 male) into 6 chairs, if a male must be at one end of the line of chairs."

Or, "how many numbers between 1 and 1,000,000 are divisible by 11?"

Or things like, "counting to infinity", aka proof by induction: proving a proposition is true because A) you can prove step 1 and B) you can also prove that "if the proposition is true for step n, it is also true for step n+1" --> therefore the initial proposition is proven

Believe it or not, there are actually formulas for these things.

My advice: (I got an A, and not just an A- )

Read the chapter summaries before class. (to familiarize yourself with the confusing terms)

Do a good job on whatever project the teacher gives. (since the tests can be intimidating)

Take your time on tests, this is one of those subjects where the teacher can ask really SUCKY trick questions.

When you're stuck, google the HW questions with quotes around it. Most books ask the exact same questions.

Keep the book.

17. ### saltyzoo Expand Collapse macrumors 65816

Joined:
Oct 4, 2007
#17
For the average person with the proper aptitude and talent for programming, discrete math will be one of the most fun and easiest classes you will take to get your degree.

18. ### mdatwood Expand Collapse macrumors 6502a

Joined:
Mar 14, 2010
Location:
Denver, CO
#18
Everyones mileage is different, but I look at MBAs as a dime a dozen nowadays. Also, unless you get your MBA from one of the big name schools I can't imagine it's going to be the key to landing a job as a COO at a major bank. The big wigs that I know personally at companies have a variety of degrees from business to music to philosophy to nothing at all. Proven ability is more important that anything else out there.

With that said, as a technologist I would never ignore understanding business (software is mostly written to solve business problems). If I was going to go the business route with school I would pick something like finance over a general MBA. There is a school in Chicago that offers a program in financial engineering where you study what a lot of the quant guys do, but I'm getting a little off topic now

In general though, very rarely does getting any degree, except maybe your undergrad, automatically mean a job or more money. Additionally, the longer ago the degree was completed the less it matters. What my MsCS has done for me is that I met a lot of people some of who I am now working with on various projects that may turn into a much better job than I have now. Many of the big tech companies we talk about daily started with a few techies in grad school throwing together an idea.

In short, do what you like, do it well, be passionate about it and things will work out.

19. ### chrono1081 Expand Collapse thread starter macrumors 604

Joined:
Jan 26, 2008
Location:
Isla Nublar
#19
@pilotError - I think education may be something I would enjoy down the road. I think it would be fun to be a computer science teacher at a high school or something. I have friends who are teachers and they all had bachelors degrees but had to go get masters to keep their jobs. I guess its a new requirement in my state.

@nofunsir and saltyzoo - I've noticed the sucky trick questions in the book already I've had to write programs to solve some of them (which is good since its the type of thing I've never written programs for before).

The "how to solve the magicians card trick mathematically" questions are stickers for me because I keep screwing up the rules lol but thats my own careless mistakes. I do think that I will enjoy this class though and I can see it being very applicable, more so then most other math I've taken to computer science.

@mdatwood - I know what you mean about degrees not making more money. I make roughly triple of what my degree holding friends do and I have no degree, but I have PLENTY of experience, they do not.

Unfortunately my experience is in the IT field with regards to hardware such as servers, networking, etc. I have no professional programming experience, only hobbyist, which is what scares me. Whats worse is I know the school I go to now people poke fun at (DeVry), why I don't know because out of the three colleges I went to (Penn State included) DeVry is the only one where I feel like I am getting my moneys worth. Maybe its because they accept pretty much everyone lol. I just don't want an employer to see my resume and assume I am worthless because of the school I picked : / I worked my @\$\$ off to get the grades I have.

To combat the potentially real scenario that I am judged based on my school, I've been working on a portfolio (Hopefully they will judge me by my portfolio). I've taught myself Maya, Logic (still a bit new to this one), Photoshop, Corel Painter, C++, C, Objective-C, Unity3D, ZBrush, and am very proficient in all of them (except for Logic, still learning the ins and outs of that one). I have several completed game projects under my belt where I created everything from scratch. I'm currently revisiting those projects, optimizing my code that I wrote awhile back and redoing the artwork and music.

If you haven't guessed by now I'm trying to a job in the games industry I'll know by next summer if I am successful or not since that is when I graduate XD
This is a HUGE gamble for me since I'm leaving my current job to pursue my dream of being a game programmer. I'll make sure that I make it work.

I'm hoping for a programming job but I'll take anything I can get to get my foot in the door

20. ### mdatwood Expand Collapse macrumors 6502a

Joined:
Mar 14, 2010
Location:
Denver, CO
#20
Chrono,

I'm definitely not saying degrees are useless, especially an undergrad degree since many companies require some sort in order to get through the screening process. Also, getting a CS degree helps the self taught person learn the things they didn't even know they didn't know.

My comment was mainly on advanced degrees. At that point you have to just want the degree for personal satisfaction and growth because they rarely turn into automatic money or jobs.

With the portfolio you have I think you are already way ahead of the curve. The problem you're going to run into is that everyone wants to be a game programmer so companies can pick and chose and they can pay like crap. Not much fun. It sounds like you're very skilled, so if that doesn't work out you can head back corporate programming and make the easy money then do iPhone games on the side. Speaking of, is that something you have already thought about? Doing your own thing making iPhone games has a lot more potential reward than working for a game company.

BTW, I've interviewed tons of people and the large majority have been horrible. I can only wish that someone came in with a portfolio and your attitude

21. ### chrono1081 Expand Collapse thread starter macrumors 604

Joined:
Jan 26, 2008
Location:
Isla Nublar
#21
I didn't think you meant that at all. Sorry I just reread my post and realized it sounded snotty Lol. That wasn't my intent

I agree about the CS degree, sometimes I wish I went that route instead because even though I do a lot of research, there are things that I don't know that I don't know. iTunes U helps a lot in this regard because I always will load up CS lectures and watch them. I feel like my bases are pretty well covered and that I have a good general knowledge of different main areas of computer science but there is always still so much to learn.

As for the corporate programming thing, I have thought about that a lot too. I'd love to work for a game studio just to see what its like in the real world, but unfortunately most places do pay crap and its tough to get in.

Working in a corporate environment and making games on the side is actually pretty appealing to me since (I know this will sound selfish but...) I like to have every aspect of my game under my control and I like to create it all by myself. I know it doesn't work that way in the real world but thats why I like hobbyist game development because hobbyist development usually works that way. I also do like the casual game market more then mainstream because you can pretty much create whatever you want, not just what sells well.

So much to think about and only a year left to do it!

22. Sep 4, 2011
Last edited: Sep 4, 2011

### KikoDoran Expand Collapse macrumors newbie

Joined:
Sep 4, 2011
#22
This may help

In Discrete Math you will find yourself doing a lot of truth tables. Download this widget:

and here are some instructions the developer has to help you input stuff:
http://logik.phl.univie.ac.at/~chris/Logikwidget/index-en.html

Saved me a lot of time when trying to find whether things are logically equivalent, tautologies, or contradictions, etc...

Hope it helps. I took some Doctorate classes when I was stationed in Iraq 5 years ago and I know at times it really kicked my butt with all the reading. Hang in there and don't be overwhelmed by Discrete Math. It isn't that hard if you relax and study hard. It is very helpful in programming logic in general...

Kiko Doran

23. ### mmendoza27 Expand Collapse macrumors 6502

Joined:
Oct 18, 2007
#23
This is a really interesting thread. I was actually just looking ahead at my future classes and I have to take Discrete Mathematics, Mathematical Foundations and Analysis of Algorithms for my BS. These fall under math theory and I can also take electives which could vary across other math subjects such as linear algebra. I'm thinking about picking up a Data Structures book for Java and reading it to prepare myself for these classes coming up. Definitely enjoyed the thread and enjoy seeing other people as enthusiastic as myself about programming.

24. Sep 7, 2011
Last edited: Sep 7, 2011

### mydogisbox Expand Collapse macrumors member

Joined:
Jan 16, 2011
#24
I would actually put it the other way around: Why would you have CS classes where proofs are not the main focus? To understand why you have to look at what Computer Science is. Not to be too pedantic, but Computer Science is science. From the wikipedia entry on science:

Science (from Latin: scientia meaning "knowledge") is a systematic enterprise that builds and organizes knowledge in the form of testable explanations and predictions about the universe.​

So basically, Computer science is the systematic study of computers and computability. The fact that most people get CS degrees in order to get programming (read engineering) positions is, I think, primarily a reflection of two things.

First, computer science as a discipline is not particularly practical. Other fields (such as math or hard sciences) tend to be funded by industry in ways that computer science, for various reasons, isn't. As a result, computer science depends on programmers to boost their # of degrees awarded (although this is changing with the creation of software engineering degrees at some schools).

Second, the study of computers/computability requires proficiency in programming and, conversely, being well versed in what is computable is a valuable trait in a software developer.

So, you ask why Computer Science courses focus on proofs, and, in response, I ask why any CS course would not focus on proofs.

25. ### Sander Expand Collapse macrumors 6502

Joined:
Apr 24, 2008
#25
If I were to get your resume on my desk and would read this thread I was googling around a bit as a preparation for your interview, I'd know what direction I was going to steer the interview.

You seem like a very talented and hard-working all-rounder. You like to take control and responsibility, and finish stuff. That's good, especially since here in The Netherlands, it's not unusual to be offered an unlimited contract from the get-go (i.e., not a temporary or "trial" contract). That means I have to be careful not to hire "one trick ponies", unless we'd be in dire need of a certain specialty. So, that part is covered.

However, we also try to weed out the "prima donnas". I'd make sure I'd present you with some situational questions about having to delegate work to others, and how you'd deal with that. Someone who knows everything better than anyone else is nice and all, but we do have more work than you can handle by yourself. How well do you play with others? Can you let things go? Scoring an A- on the final project because you did your part with an A result and left the other half to a less talented guy who got a B is still better than scoring a C on the total because you finished your 150% of the work with an A but the final 50% never got done at all...

Just some food for thought.