<article>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#article10_01_06_141247</id>
	<title>Which Math For Programmers?</title>
	<author>CmdrTaco</author>
	<datestamp>1262791200000</datestamp>
	<htmltext>An anonymous reader writes <i>"It is no news that the greatest <a href="http://en.wikipedia.org/wiki/Donald\_Knuth">computer scientists</a> and <a href="http://en.wikipedia.org/wiki/Edsger\_W.\_Dijkstra">programmers</a> are/were mathematicians. As a kid 'hacking' if-else programs, I was not aware of the importance of math in programming, but few years later, when I read <a href="http://www.amazon.com/dp/0393322297/ref=nosim/?tag=slashdot0c-20">Engines of Logic</a> by Martin Davis I started becoming increasingly more convinced of this. Unfortunately, math doesn't return my love, and prefers me to struggle with it. Now, as the end of the semester approaches, I am faced with a dilemma: What math subject to choose next? I have two choices: 'Discreet structures with graph theory' (discrete math; proofs, sets, algorithms and graphs) on one side, and 'Selected math chapters' (math analysis; vectors, euclidean space, differentials) on the other. I'm scared of the second one because it's said to be harder. But contrary to my own opinion, one assistant told me that it would be more useful for a programmer compared to the first subject. Then again, he's not a programmer. That's why I turn to you for help, fellow slashdotters &mdash; any advice?"</i></htmltext>
<tokenext>An anonymous reader writes " It is no news that the greatest computer scientists and programmers are/were mathematicians .
As a kid 'hacking ' if-else programs , I was not aware of the importance of math in programming , but few years later , when I read Engines of Logic by Martin Davis I started becoming increasingly more convinced of this .
Unfortunately , math does n't return my love , and prefers me to struggle with it .
Now , as the end of the semester approaches , I am faced with a dilemma : What math subject to choose next ?
I have two choices : 'Discreet structures with graph theory ' ( discrete math ; proofs , sets , algorithms and graphs ) on one side , and 'Selected math chapters ' ( math analysis ; vectors , euclidean space , differentials ) on the other .
I 'm scared of the second one because it 's said to be harder .
But contrary to my own opinion , one assistant told me that it would be more useful for a programmer compared to the first subject .
Then again , he 's not a programmer .
That 's why I turn to you for help , fellow slashdotters    any advice ?
"</tokentext>
<sentencetext>An anonymous reader writes "It is no news that the greatest computer scientists and programmers are/were mathematicians.
As a kid 'hacking' if-else programs, I was not aware of the importance of math in programming, but few years later, when I read Engines of Logic by Martin Davis I started becoming increasingly more convinced of this.
Unfortunately, math doesn't return my love, and prefers me to struggle with it.
Now, as the end of the semester approaches, I am faced with a dilemma: What math subject to choose next?
I have two choices: 'Discreet structures with graph theory' (discrete math; proofs, sets, algorithms and graphs) on one side, and 'Selected math chapters' (math analysis; vectors, euclidean space, differentials) on the other.
I'm scared of the second one because it's said to be harder.
But contrary to my own opinion, one assistant told me that it would be more useful for a programmer compared to the first subject.
Then again, he's not a programmer.
That's why I turn to you for help, fellow slashdotters — any advice?
"</sentencetext>
</article>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30679190</id>
	<title>Anonymous Coward.</title>
	<author>Anonymous</author>
	<datestamp>1262800920000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Most of the people who are just programmers cannot solve complex problems though they may be the best with their tools. What maths teaches (unfortunately taught right) is you look at objects and their relationship - concrete or abstract and create a model expressing that relationship. Basically addition is the only operation that is needed. Multiplication is a shorthand for successive addition, exponentiation is short hand for self multiplication, negation is complimentary addition, factorial is successive decreasing multiplication etc. Discrete models use arithmetic and algebraic modality while continuous quantities like flow of air, water, electricity etc., use calculus for integration (addition with error margin). So all we learn are patterns of simple relationship and the ability to recognize these patterns. Pattern matching and pattern recognition are expressed via algorithms that are translated into programs with margin of errors. So, what is your goal? Do you want to try to test the limit of your imagination and intelligence, or just use the tools just to solve problems in some domain?<br>The best choice is take both streams of maths, one for future job and one as hobby. Eventually you will excel at least in one area. People who have lost job, went vertical like palm trees but you need to be good both horizontally and vertically. So, find some mentors who love to teach maths and try to understand the fundamentals - 1st principles of both discrete and  analysis, vectors etc. Don't become an island. You may end up as one of the best in the industry down the road and may be you might create your own company. There is nothing to be afraid of maths as such but seek help outside this forum. Good luck.</p></htmltext>
<tokenext>Most of the people who are just programmers can not solve complex problems though they may be the best with their tools .
What maths teaches ( unfortunately taught right ) is you look at objects and their relationship - concrete or abstract and create a model expressing that relationship .
Basically addition is the only operation that is needed .
Multiplication is a shorthand for successive addition , exponentiation is short hand for self multiplication , negation is complimentary addition , factorial is successive decreasing multiplication etc .
Discrete models use arithmetic and algebraic modality while continuous quantities like flow of air , water , electricity etc. , use calculus for integration ( addition with error margin ) .
So all we learn are patterns of simple relationship and the ability to recognize these patterns .
Pattern matching and pattern recognition are expressed via algorithms that are translated into programs with margin of errors .
So , what is your goal ?
Do you want to try to test the limit of your imagination and intelligence , or just use the tools just to solve problems in some domain ? The best choice is take both streams of maths , one for future job and one as hobby .
Eventually you will excel at least in one area .
People who have lost job , went vertical like palm trees but you need to be good both horizontally and vertically .
So , find some mentors who love to teach maths and try to understand the fundamentals - 1st principles of both discrete and analysis , vectors etc .
Do n't become an island .
You may end up as one of the best in the industry down the road and may be you might create your own company .
There is nothing to be afraid of maths as such but seek help outside this forum .
Good luck .</tokentext>
<sentencetext>Most of the people who are just programmers cannot solve complex problems though they may be the best with their tools.
What maths teaches (unfortunately taught right) is you look at objects and their relationship - concrete or abstract and create a model expressing that relationship.
Basically addition is the only operation that is needed.
Multiplication is a shorthand for successive addition, exponentiation is short hand for self multiplication, negation is complimentary addition, factorial is successive decreasing multiplication etc.
Discrete models use arithmetic and algebraic modality while continuous quantities like flow of air, water, electricity etc., use calculus for integration (addition with error margin).
So all we learn are patterns of simple relationship and the ability to recognize these patterns.
Pattern matching and pattern recognition are expressed via algorithms that are translated into programs with margin of errors.
So, what is your goal?
Do you want to try to test the limit of your imagination and intelligence, or just use the tools just to solve problems in some domain?The best choice is take both streams of maths, one for future job and one as hobby.
Eventually you will excel at least in one area.
People who have lost job, went vertical like palm trees but you need to be good both horizontally and vertically.
So, find some mentors who love to teach maths and try to understand the fundamentals - 1st principles of both discrete and  analysis, vectors etc.
Don't become an island.
You may end up as one of the best in the industry down the road and may be you might create your own company.
There is nothing to be afraid of maths as such but seek help outside this forum.
Good luck.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670028</id>
	<title>Re:The Second, If Not Both</title>
	<author>Cyberax</author>
	<datestamp>1262795640000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>2</modscore>
	<htmltext><p>Don't forget numerical algorithms for calculus problems (integration, solving of differential equations, etc.). Their implementation them can give you a lot of practical skills.</p></htmltext>
<tokenext>Do n't forget numerical algorithms for calculus problems ( integration , solving of differential equations , etc. ) .
Their implementation them can give you a lot of practical skills .</tokentext>
<sentencetext>Don't forget numerical algorithms for calculus problems (integration, solving of differential equations, etc.).
Their implementation them can give you a lot of practical skills.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671138</id>
	<title>From the summary</title>
	<author>perlchild</author>
	<datestamp>1262799660000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>One class has "algorithms" in it, the other is general "hard math" good for just about anything.  Discreet math, in general is better "Focused" at the needs of programmers, in my experience, as well.  I'd say go with the first one.  You're likely to learn the math basis for O(n) notation of algorithms and other computer science underpinnings.</p></htmltext>
<tokenext>One class has " algorithms " in it , the other is general " hard math " good for just about anything .
Discreet math , in general is better " Focused " at the needs of programmers , in my experience , as well .
I 'd say go with the first one .
You 're likely to learn the math basis for O ( n ) notation of algorithms and other computer science underpinnings .</tokentext>
<sentencetext>One class has "algorithms" in it, the other is general "hard math" good for just about anything.
Discreet math, in general is better "Focused" at the needs of programmers, in my experience, as well.
I'd say go with the first one.
You're likely to learn the math basis for O(n) notation of algorithms and other computer science underpinnings.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670764</id>
	<title>Door number 3: Abstract Algebra</title>
	<author>Anonymous</author>
	<datestamp>1262798160000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>1</modscore>
	<htmltext><p>The course I took was a senior-level course but any high school student who did well in high school algebra and who has the brains to do well in Calculus can understand it.</p><p>My course in a nutshell:</p><p>Integer math with wrap-around.  Think clocks, where the minutes start at 0, go to 59, and wrap around to 0 again.  30+30=0, 2-10=52, 5*12=0.  You learned what a field and a ring are.</p><p>I wish I'd had this in high school or as an underclassman.</p><p>I doubt your college will let you substitute this, but if they do, go for it.</p><p>As for the two options you have:<br>For logic-type programming in any application that doesn't deal in continuous or analog-like data,  'Discreet structures with graph theory' will do you better.  If you will be spending your life handling "analog"-like data,  'Selected math chapters' will do you better.  If you were going to be a math major or enjoyed math, I would say take both.</p></htmltext>
<tokenext>The course I took was a senior-level course but any high school student who did well in high school algebra and who has the brains to do well in Calculus can understand it.My course in a nutshell : Integer math with wrap-around .
Think clocks , where the minutes start at 0 , go to 59 , and wrap around to 0 again .
30 + 30 = 0 , 2-10 = 52 , 5 * 12 = 0 .
You learned what a field and a ring are.I wish I 'd had this in high school or as an underclassman.I doubt your college will let you substitute this , but if they do , go for it.As for the two options you have : For logic-type programming in any application that does n't deal in continuous or analog-like data , 'Discreet structures with graph theory ' will do you better .
If you will be spending your life handling " analog " -like data , 'Selected math chapters ' will do you better .
If you were going to be a math major or enjoyed math , I would say take both .</tokentext>
<sentencetext>The course I took was a senior-level course but any high school student who did well in high school algebra and who has the brains to do well in Calculus can understand it.My course in a nutshell:Integer math with wrap-around.
Think clocks, where the minutes start at 0, go to 59, and wrap around to 0 again.
30+30=0, 2-10=52, 5*12=0.
You learned what a field and a ring are.I wish I'd had this in high school or as an underclassman.I doubt your college will let you substitute this, but if they do, go for it.As for the two options you have:For logic-type programming in any application that doesn't deal in continuous or analog-like data,  'Discreet structures with graph theory' will do you better.
If you will be spending your life handling "analog"-like data,  'Selected math chapters' will do you better.
If you were going to be a math major or enjoyed math, I would say take both.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669840</id>
	<title>Study what you enjoy</title>
	<author>Anonymous</author>
	<datestamp>1262795040000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>4</modscore>
	<htmltext><p>Programming is a HUGE field.  There is plenty of work that doesn't require significant math.<br>Go with what interests you and let the details work themselves out.</p></htmltext>
<tokenext>Programming is a HUGE field .
There is plenty of work that does n't require significant math.Go with what interests you and let the details work themselves out .</tokentext>
<sentencetext>Programming is a HUGE field.
There is plenty of work that doesn't require significant math.Go with what interests you and let the details work themselves out.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30673756</id>
	<title>Discrete Math All The Way</title>
	<author>xtheunknown</author>
	<datestamp>1262810520000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>I think you should go with Discrete Math. There is so much in there that applies directly to Software Engineering especially if you right systems software, as opposed to Financial or Scientific software. Graph theory, queue theory, Maps, etc. You can't go wrong with Discrete Math. It will also be easier for you if you already think like a programmer.</p></htmltext>
<tokenext>I think you should go with Discrete Math .
There is so much in there that applies directly to Software Engineering especially if you right systems software , as opposed to Financial or Scientific software .
Graph theory , queue theory , Maps , etc .
You ca n't go wrong with Discrete Math .
It will also be easier for you if you already think like a programmer .</tokentext>
<sentencetext>I think you should go with Discrete Math.
There is so much in there that applies directly to Software Engineering especially if you right systems software, as opposed to Financial or Scientific software.
Graph theory, queue theory, Maps, etc.
You can't go wrong with Discrete Math.
It will also be easier for you if you already think like a programmer.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670684</id>
	<title>Re:The Second, If Not Both</title>
	<author>infamous\_blah</author>
	<datestamp>1262797920000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p><div class="quote"><p>But he's definitely correct.  The second is going to give you practical skills in programming -- a wide array of practical skills.  The first is most likely going to give you some automata theory for computers but unless you're going into theoretical research, the second is the obvious answer. Graphics and games are all vectors, the web is becoming even more so with new browser rendering technologies. Rendering is all euclidean space transposed onto a two dimensional plane (screen) using points (pixels). Differentials are huge in the vision and image processing world and again, in graphics.</p></div><p>I strongly disagree with your suggested order.  Algorithms are the heart of Computer Science and our representations are discrete.  The first course is absolutely essential and has a lot more practical application; you must be able to understand the complexity of an algorithm and choose appropriate structures to write efficient code.<br>
<br>
If OP is going into graphics, physics simulation or the like, then the second course is also necessary, but not in lieu of the first.  The mathematical equation at hand may be continuous, but the computer model is discrete (e.g. pixels are discrete points).<br>
<br>
However, as you said, taking both is really the best option.</p></div>
	</htmltext>
<tokenext>But he 's definitely correct .
The second is going to give you practical skills in programming -- a wide array of practical skills .
The first is most likely going to give you some automata theory for computers but unless you 're going into theoretical research , the second is the obvious answer .
Graphics and games are all vectors , the web is becoming even more so with new browser rendering technologies .
Rendering is all euclidean space transposed onto a two dimensional plane ( screen ) using points ( pixels ) .
Differentials are huge in the vision and image processing world and again , in graphics.I strongly disagree with your suggested order .
Algorithms are the heart of Computer Science and our representations are discrete .
The first course is absolutely essential and has a lot more practical application ; you must be able to understand the complexity of an algorithm and choose appropriate structures to write efficient code .
If OP is going into graphics , physics simulation or the like , then the second course is also necessary , but not in lieu of the first .
The mathematical equation at hand may be continuous , but the computer model is discrete ( e.g .
pixels are discrete points ) .
However , as you said , taking both is really the best option .</tokentext>
<sentencetext>But he's definitely correct.
The second is going to give you practical skills in programming -- a wide array of practical skills.
The first is most likely going to give you some automata theory for computers but unless you're going into theoretical research, the second is the obvious answer.
Graphics and games are all vectors, the web is becoming even more so with new browser rendering technologies.
Rendering is all euclidean space transposed onto a two dimensional plane (screen) using points (pixels).
Differentials are huge in the vision and image processing world and again, in graphics.I strongly disagree with your suggested order.
Algorithms are the heart of Computer Science and our representations are discrete.
The first course is absolutely essential and has a lot more practical application; you must be able to understand the complexity of an algorithm and choose appropriate structures to write efficient code.
If OP is going into graphics, physics simulation or the like, then the second course is also necessary, but not in lieu of the first.
The mathematical equation at hand may be continuous, but the computer model is discrete (e.g.
pixels are discrete points).
However, as you said, taking both is really the best option.
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30673062</id>
	<title>useless in most cases</title>
	<author>Anonymous</author>
	<datestamp>1262807280000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Unless you really want to become a game programmer and you will have to really want it in order to become it STOP taking graphics courses.  The best programming courses you can take are:<br>
&nbsp; &nbsp; &nbsp; Databases<br>
&nbsp; &nbsp; &nbsp; Operating Systems (not that you will use what you learn but it gives you an idea on what is expected in the real world when you are placed on a project)<br>
&nbsp; &nbsp; &nbsp; Networking<br>
&nbsp; &nbsp; &nbsp; any java and c# courses you can find (even if you don't have to take them)</p><p>College will not prepare you very well for the business world and there are many more jobs out there that have nothing to do with games or the math you are forced to take.  Having 3 years experience in programming I find that I just don't use any math skills beyond Trig and have forgotten most of what I learned in calculus 2 and beyond.  Remember that your professors are generally people who entered the business world and couldn't cut it so they have no idea what you really need to learn and focus on theory and math skills you will never use.  This is ok if you want to become a professor or want to go into theory but for most of use it is useless and a waste of time and money.</p></htmltext>
<tokenext>Unless you really want to become a game programmer and you will have to really want it in order to become it STOP taking graphics courses .
The best programming courses you can take are :       Databases       Operating Systems ( not that you will use what you learn but it gives you an idea on what is expected in the real world when you are placed on a project )       Networking       any java and c # courses you can find ( even if you do n't have to take them ) College will not prepare you very well for the business world and there are many more jobs out there that have nothing to do with games or the math you are forced to take .
Having 3 years experience in programming I find that I just do n't use any math skills beyond Trig and have forgotten most of what I learned in calculus 2 and beyond .
Remember that your professors are generally people who entered the business world and could n't cut it so they have no idea what you really need to learn and focus on theory and math skills you will never use .
This is ok if you want to become a professor or want to go into theory but for most of use it is useless and a waste of time and money .</tokentext>
<sentencetext>Unless you really want to become a game programmer and you will have to really want it in order to become it STOP taking graphics courses.
The best programming courses you can take are:
      Databases
      Operating Systems (not that you will use what you learn but it gives you an idea on what is expected in the real world when you are placed on a project)
      Networking
      any java and c# courses you can find (even if you don't have to take them)College will not prepare you very well for the business world and there are many more jobs out there that have nothing to do with games or the math you are forced to take.
Having 3 years experience in programming I find that I just don't use any math skills beyond Trig and have forgotten most of what I learned in calculus 2 and beyond.
Remember that your professors are generally people who entered the business world and couldn't cut it so they have no idea what you really need to learn and focus on theory and math skills you will never use.
This is ok if you want to become a professor or want to go into theory but for most of use it is useless and a waste of time and money.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674918</id>
	<title>as per my experience</title>
	<author>Anonymous</author>
	<datestamp>1262772600000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>I took discrete math myself and found it to be somewhat useful for computer science<br>unless u plan to get into sm music, graphics or game development....i doubt tht d other course would help</p></htmltext>
<tokenext>I took discrete math myself and found it to be somewhat useful for computer scienceunless u plan to get into sm music , graphics or game development....i doubt tht d other course would help</tokentext>
<sentencetext>I took discrete math myself and found it to be somewhat useful for computer scienceunless u plan to get into sm music, graphics or game development....i doubt tht d other course would help</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670502</id>
	<title>topology</title>
	<author>neuromountain</author>
	<datestamp>1262797320000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>If you are dealing with higher dimensional data and metric spaces, I think topology and related disciplines may be of value. Understanding the structure of your data will allow for the design and development of unique tools with which to handle it, an example being new dissimilarity metrics.

As an aside, some of the best programmers I have known were musicians and linguists, with little understanding of the math behind the problem, but an intuitive and often very different instinct for unique solutions.</htmltext>
<tokenext>If you are dealing with higher dimensional data and metric spaces , I think topology and related disciplines may be of value .
Understanding the structure of your data will allow for the design and development of unique tools with which to handle it , an example being new dissimilarity metrics .
As an aside , some of the best programmers I have known were musicians and linguists , with little understanding of the math behind the problem , but an intuitive and often very different instinct for unique solutions .</tokentext>
<sentencetext>If you are dealing with higher dimensional data and metric spaces, I think topology and related disciplines may be of value.
Understanding the structure of your data will allow for the design and development of unique tools with which to handle it, an example being new dissimilarity metrics.
As an aside, some of the best programmers I have known were musicians and linguists, with little understanding of the math behind the problem, but an intuitive and often very different instinct for unique solutions.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670788</id>
	<title>Which tool do I need?</title>
	<author>Idarubicin</author>
	<datestamp>1262798220000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><blockquote><div><p>I have two choices: 'Discreet structures with graph theory' (discrete math; proofs, sets, algorithms and graphs) on one side, and 'Selected math chapters' (math analysis; vectors, euclidean space, differentials) on the other.</p></div></blockquote><p>
<i>I would like to do woodworking in the future.  I am going to the hardware store, and among the tools I have two choices: a 'hammer' on the one side, and a 'screwdriver' on the other.</i>
</p><p>
What you choose to put in the toolbox depends on what you want to build.  As others have already observed, there are some fundamental bits and pieces and that you really won't want to do without.
</p><p>
And ten years from now, when you decide you'd like to hand-carve a canoe paddle, you're going to have to go out and buy a <a href="http://en.wikipedia.org/wiki/Spokeshave" title="wikipedia.org">spokeshave</a> [wikipedia.org] anyway.</p></div>
	</htmltext>
<tokenext>I have two choices : 'Discreet structures with graph theory ' ( discrete math ; proofs , sets , algorithms and graphs ) on one side , and 'Selected math chapters ' ( math analysis ; vectors , euclidean space , differentials ) on the other .
I would like to do woodworking in the future .
I am going to the hardware store , and among the tools I have two choices : a 'hammer ' on the one side , and a 'screwdriver ' on the other .
What you choose to put in the toolbox depends on what you want to build .
As others have already observed , there are some fundamental bits and pieces and that you really wo n't want to do without .
And ten years from now , when you decide you 'd like to hand-carve a canoe paddle , you 're going to have to go out and buy a spokeshave [ wikipedia.org ] anyway .</tokentext>
<sentencetext>I have two choices: 'Discreet structures with graph theory' (discrete math; proofs, sets, algorithms and graphs) on one side, and 'Selected math chapters' (math analysis; vectors, euclidean space, differentials) on the other.
I would like to do woodworking in the future.
I am going to the hardware store, and among the tools I have two choices: a 'hammer' on the one side, and a 'screwdriver' on the other.
What you choose to put in the toolbox depends on what you want to build.
As others have already observed, there are some fundamental bits and pieces and that you really won't want to do without.
And ten years from now, when you decide you'd like to hand-carve a canoe paddle, you're going to have to go out and buy a spokeshave [wikipedia.org] anyway.
	</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30690254</id>
	<title>Re:Agebra...</title>
	<author>electrosoccertux</author>
	<datestamp>1262877600000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p><div class="quote"><p>Proofs, proofs, then more proofs.</p><p>Programming is all about isolating the smallest part of a problem and simplifying it out. Doing proofs is effectively the basis for programming.</p><p>Understanding trig and calc is handy for specific projects, but for every single program we write we have to be able to see the problem, to isolate components of the problem, and to simplify them.</p><p>-Rick</p></div><p>Only if you have a good proofs teacher.<br>We covered proofs but never had the toolset to prove anything. In programming (I loved Java for this-- wonderful documentation was available online), I have all the tools laid about before me and I can pick and choose the one I need for the job.</p></div>
	</htmltext>
<tokenext>Proofs , proofs , then more proofs.Programming is all about isolating the smallest part of a problem and simplifying it out .
Doing proofs is effectively the basis for programming.Understanding trig and calc is handy for specific projects , but for every single program we write we have to be able to see the problem , to isolate components of the problem , and to simplify them.-RickOnly if you have a good proofs teacher.We covered proofs but never had the toolset to prove anything .
In programming ( I loved Java for this-- wonderful documentation was available online ) , I have all the tools laid about before me and I can pick and choose the one I need for the job .</tokentext>
<sentencetext>Proofs, proofs, then more proofs.Programming is all about isolating the smallest part of a problem and simplifying it out.
Doing proofs is effectively the basis for programming.Understanding trig and calc is handy for specific projects, but for every single program we write we have to be able to see the problem, to isolate components of the problem, and to simplify them.-RickOnly if you have a good proofs teacher.We covered proofs but never had the toolset to prove anything.
In programming (I loved Java for this-- wonderful documentation was available online), I have all the tools laid about before me and I can pick and choose the one I need for the job.
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670136</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670770</id>
	<title>great article</title>
	<author>jacobstree</author>
	<datestamp>1262798160000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>great article<nobr> <wbr></nobr>...
www.pressalive.com</htmltext>
<tokenext>great article .. . www.pressalive.com</tokentext>
<sentencetext>great article ...
www.pressalive.com</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671528</id>
	<title>Psychology Instead Of Math</title>
	<author>Ukab the Great</author>
	<datestamp>1262801100000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>A lot of writing programs for other people to use actually involves getting into their heads and understanding what they're thinking, as well as accepting the bizarre way they sometimes think.</p><p>When someone says a feature in a software project you inherited doesn't work, before you spend 100 hours debugging a feature that you're not able to find anywhere in the code, it's helpful to understand how the brain works and be open to the possibility that the feature that everyone swears was there only exists in a constantly reconstructed human memory.</p><p>If you have problems with math, as I did, you might want to consider forgoing the classes and just buying a book and teaching yourself at your own rate of learning. The ability to pick up a book and teach yourself is a very important skill for a programmer to have.</p></htmltext>
<tokenext>A lot of writing programs for other people to use actually involves getting into their heads and understanding what they 're thinking , as well as accepting the bizarre way they sometimes think.When someone says a feature in a software project you inherited does n't work , before you spend 100 hours debugging a feature that you 're not able to find anywhere in the code , it 's helpful to understand how the brain works and be open to the possibility that the feature that everyone swears was there only exists in a constantly reconstructed human memory.If you have problems with math , as I did , you might want to consider forgoing the classes and just buying a book and teaching yourself at your own rate of learning .
The ability to pick up a book and teach yourself is a very important skill for a programmer to have .</tokentext>
<sentencetext>A lot of writing programs for other people to use actually involves getting into their heads and understanding what they're thinking, as well as accepting the bizarre way they sometimes think.When someone says a feature in a software project you inherited doesn't work, before you spend 100 hours debugging a feature that you're not able to find anywhere in the code, it's helpful to understand how the brain works and be open to the possibility that the feature that everyone swears was there only exists in a constantly reconstructed human memory.If you have problems with math, as I did, you might want to consider forgoing the classes and just buying a book and teaching yourself at your own rate of learning.
The ability to pick up a book and teach yourself is a very important skill for a programmer to have.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670512</id>
	<title>Both?</title>
	<author>Dogbertius</author>
	<datestamp>1262797380000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>Is taken both an option? I did a double major in computer engineering and biomedical engineering for my bachelors, and the computer engineering alone require 3-4 courses in discrete math and calculus/vector-calculus EACH, not to mention statistics and matrix algebra (and all the chemistry, physics, and engineering courses to top it off).

I find the discrete stuff is key to understanding abstract data types and you will likely use it all the time no matter what kind of application you are working on. I work in medical research and require a very thorough knowledge of complex number spaces and transformations, and vector-calculus is about as common to this stuff as kids math is to algebra. So in my case, both are essential.

IF (WANT\_TO\_JUST\_PROGRAM)
 DO(discrete);
IF (WANT\_TO\_PROGRAM\_ADVANCED\_STUFF)
 DO(both);
ELSE
 DO(change degree);</htmltext>
<tokenext>Is taken both an option ?
I did a double major in computer engineering and biomedical engineering for my bachelors , and the computer engineering alone require 3-4 courses in discrete math and calculus/vector-calculus EACH , not to mention statistics and matrix algebra ( and all the chemistry , physics , and engineering courses to top it off ) .
I find the discrete stuff is key to understanding abstract data types and you will likely use it all the time no matter what kind of application you are working on .
I work in medical research and require a very thorough knowledge of complex number spaces and transformations , and vector-calculus is about as common to this stuff as kids math is to algebra .
So in my case , both are essential .
IF ( WANT \ _TO \ _JUST \ _PROGRAM ) DO ( discrete ) ; IF ( WANT \ _TO \ _PROGRAM \ _ADVANCED \ _STUFF ) DO ( both ) ; ELSE DO ( change degree ) ;</tokentext>
<sentencetext>Is taken both an option?
I did a double major in computer engineering and biomedical engineering for my bachelors, and the computer engineering alone require 3-4 courses in discrete math and calculus/vector-calculus EACH, not to mention statistics and matrix algebra (and all the chemistry, physics, and engineering courses to top it off).
I find the discrete stuff is key to understanding abstract data types and you will likely use it all the time no matter what kind of application you are working on.
I work in medical research and require a very thorough knowledge of complex number spaces and transformations, and vector-calculus is about as common to this stuff as kids math is to algebra.
So in my case, both are essential.
IF (WANT\_TO\_JUST\_PROGRAM)
 DO(discrete);
IF (WANT\_TO\_PROGRAM\_ADVANCED\_STUFF)
 DO(both);
ELSE
 DO(change degree);</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30690240</id>
	<title>Re:Set Theory / Boolean Logic</title>
	<author>electrosoccertux</author>
	<datestamp>1262877420000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p><div class="quote"><p>Venn Diagrams.  Intersection.  Union.  AND/OR/NAND/NOR</p><p>I constantly run into people screwing stuff up because they get lost in the logic of stuff like "if this is part of that group but not contained in this set".</p></div><p>This is simple stuff and can be learned on wikipedia. Any brain worth its fluids can figure these out for themselves on wikipedia....</p></div>
	</htmltext>
<tokenext>Venn Diagrams .
Intersection. Union .
AND/OR/NAND/NORI constantly run into people screwing stuff up because they get lost in the logic of stuff like " if this is part of that group but not contained in this set " .This is simple stuff and can be learned on wikipedia .
Any brain worth its fluids can figure these out for themselves on wikipedia... .</tokentext>
<sentencetext>Venn Diagrams.
Intersection.  Union.
AND/OR/NAND/NORI constantly run into people screwing stuff up because they get lost in the logic of stuff like "if this is part of that group but not contained in this set".This is simple stuff and can be learned on wikipedia.
Any brain worth its fluids can figure these out for themselves on wikipedia....
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669958</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674880</id>
	<title>Maths is everywhere</title>
	<author>mike260</author>
	<datestamp>1262772420000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p><nobr> <wbr></nobr></p><div class="quote"><p>...I <b>started becoming increasingly more</b> convinced...</p></div><p>I lol'd at this - OP managed to take the 4th derivative of 'convinced' in his post.</p></div>
	</htmltext>
<tokenext>...I started becoming increasingly more convinced...I lol 'd at this - OP managed to take the 4th derivative of 'convinced ' in his post .</tokentext>
<sentencetext> ...I started becoming increasingly more convinced...I lol'd at this - OP managed to take the 4th derivative of 'convinced' in his post.
	</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30676008</id>
	<title>Re:Physicists?</title>
	<author>AlgorithMan</author>
	<datestamp>1262777340000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>so you never gave a course in programming and hat mathematicians in it... I did and I can tell you, that mathematicians write horrible ugly spaghetti code and jumping code without meaningful variable names! The stuff might work, but its unreadable, mostly some border cases don't work and don't get me started on running times!</htmltext>
<tokenext>so you never gave a course in programming and hat mathematicians in it... I did and I can tell you , that mathematicians write horrible ugly spaghetti code and jumping code without meaningful variable names !
The stuff might work , but its unreadable , mostly some border cases do n't work and do n't get me started on running times !</tokentext>
<sentencetext>so you never gave a course in programming and hat mathematicians in it... I did and I can tell you, that mathematicians write horrible ugly spaghetti code and jumping code without meaningful variable names!
The stuff might work, but its unreadable, mostly some border cases don't work and don't get me started on running times!</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669802</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670878</id>
	<title>Math theory</title>
	<author>chrysrobyn</author>
	<datestamp>1262798580000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>As an electrical engineer, I often choose to automate my tasks through Perl hacking (previously Cadence SKILL).  I have never wished I had spent more time in differential equations or euclidean space, but I have often wished my training included far more graph theory.</p><p>Graph theory has proven interesting, for example, when it is necessary to hand wire a net.  Sure, one wire is easy to do, but dozens are tougher.  Sometimes vendor provided tools are not sophisticated enough to understand all the constraints that an engineer or even a technician understand, but I have often thought that a graph theory centered automatic scoring approach could take into account all the tradeoffs I consciously make.</p><p>That said, every college graduate should be required to take at least two classes from the college of business or management.  Time value of money, specifically, should be taught in high school and again in college.  It's just that important.  If half of America understood something about interest rates and risks, we'd all be better off.  Except rent-to-own and payday loan places.</p></htmltext>
<tokenext>As an electrical engineer , I often choose to automate my tasks through Perl hacking ( previously Cadence SKILL ) .
I have never wished I had spent more time in differential equations or euclidean space , but I have often wished my training included far more graph theory.Graph theory has proven interesting , for example , when it is necessary to hand wire a net .
Sure , one wire is easy to do , but dozens are tougher .
Sometimes vendor provided tools are not sophisticated enough to understand all the constraints that an engineer or even a technician understand , but I have often thought that a graph theory centered automatic scoring approach could take into account all the tradeoffs I consciously make.That said , every college graduate should be required to take at least two classes from the college of business or management .
Time value of money , specifically , should be taught in high school and again in college .
It 's just that important .
If half of America understood something about interest rates and risks , we 'd all be better off .
Except rent-to-own and payday loan places .</tokentext>
<sentencetext>As an electrical engineer, I often choose to automate my tasks through Perl hacking (previously Cadence SKILL).
I have never wished I had spent more time in differential equations or euclidean space, but I have often wished my training included far more graph theory.Graph theory has proven interesting, for example, when it is necessary to hand wire a net.
Sure, one wire is easy to do, but dozens are tougher.
Sometimes vendor provided tools are not sophisticated enough to understand all the constraints that an engineer or even a technician understand, but I have often thought that a graph theory centered automatic scoring approach could take into account all the tradeoffs I consciously make.That said, every college graduate should be required to take at least two classes from the college of business or management.
Time value of money, specifically, should be taught in high school and again in college.
It's just that important.
If half of America understood something about interest rates and risks, we'd all be better off.
Except rent-to-own and payday loan places.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671056</id>
	<title>Re:Take both</title>
	<author>Anonymous</author>
	<datestamp>1262799300000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>If the choice is truly limited to one or the other, you actually need a crystal ball to tell you what job you might have in the future. Good luck.</p><p>Mathematics is the language by which science describes its models of the observable world. Computer software is the tool that allows a great number of the models to be evaluated. The point is that, it is all worthwhile but your opportunities in the future will be shaped by the areas of mathematics that you can work with.</p><p>(Almost all physics that people know and teach is quantitative, i.e. related to a numerical description. There is a small amount that is what is called qualitative for which the computer is only secondarily useful. But the language for qualitative is still mathematics.)</p></htmltext>
<tokenext>If the choice is truly limited to one or the other , you actually need a crystal ball to tell you what job you might have in the future .
Good luck.Mathematics is the language by which science describes its models of the observable world .
Computer software is the tool that allows a great number of the models to be evaluated .
The point is that , it is all worthwhile but your opportunities in the future will be shaped by the areas of mathematics that you can work with .
( Almost all physics that people know and teach is quantitative , i.e .
related to a numerical description .
There is a small amount that is what is called qualitative for which the computer is only secondarily useful .
But the language for qualitative is still mathematics .
)</tokentext>
<sentencetext>If the choice is truly limited to one or the other, you actually need a crystal ball to tell you what job you might have in the future.
Good luck.Mathematics is the language by which science describes its models of the observable world.
Computer software is the tool that allows a great number of the models to be evaluated.
The point is that, it is all worthwhile but your opportunities in the future will be shaped by the areas of mathematics that you can work with.
(Almost all physics that people know and teach is quantitative, i.e.
related to a numerical description.
There is a small amount that is what is called qualitative for which the computer is only secondarily useful.
But the language for qualitative is still mathematics.
)</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670172</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670536</id>
	<title>First or Niether</title>
	<author>pavon</author>
	<datestamp>1262797440000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>The second class sounds like a crammed together sampling of different topics that will leave you without enough knowledge in any one of them to do anything useful. If you want to do some sort of computational physics in the future then you will need many more classes than that one, so you might as well start at the beginning and take them all individually. It will be less overwhelming, and you will have a much better understanding of the subject.</p><p>If you don't want to do computational physics, then all that continuous math is worthless. I took Calculus 1-3, ODEs, PDEs, Vectors, Complex Analysis, and like VAXcat have never once used them in my job as a programmer (still working on getting a masters so I can get a job where I will use that info). Discrete math *is* useful, especially if the focus is on algorithm analysis and graphs.</p><p>In either case Numerical Methods is a very good class to have - depending on the level it is taught at, this may be a good time to do so, or you may want to wait till after you've had at least Linear Algebra and possibly Differential Equations.</p></htmltext>
<tokenext>The second class sounds like a crammed together sampling of different topics that will leave you without enough knowledge in any one of them to do anything useful .
If you want to do some sort of computational physics in the future then you will need many more classes than that one , so you might as well start at the beginning and take them all individually .
It will be less overwhelming , and you will have a much better understanding of the subject.If you do n't want to do computational physics , then all that continuous math is worthless .
I took Calculus 1-3 , ODEs , PDEs , Vectors , Complex Analysis , and like VAXcat have never once used them in my job as a programmer ( still working on getting a masters so I can get a job where I will use that info ) .
Discrete math * is * useful , especially if the focus is on algorithm analysis and graphs.In either case Numerical Methods is a very good class to have - depending on the level it is taught at , this may be a good time to do so , or you may want to wait till after you 've had at least Linear Algebra and possibly Differential Equations .</tokentext>
<sentencetext>The second class sounds like a crammed together sampling of different topics that will leave you without enough knowledge in any one of them to do anything useful.
If you want to do some sort of computational physics in the future then you will need many more classes than that one, so you might as well start at the beginning and take them all individually.
It will be less overwhelming, and you will have a much better understanding of the subject.If you don't want to do computational physics, then all that continuous math is worthless.
I took Calculus 1-3, ODEs, PDEs, Vectors, Complex Analysis, and like VAXcat have never once used them in my job as a programmer (still working on getting a masters so I can get a job where I will use that info).
Discrete math *is* useful, especially if the focus is on algorithm analysis and graphs.In either case Numerical Methods is a very good class to have - depending on the level it is taught at, this may be a good time to do so, or you may want to wait till after you've had at least Linear Algebra and possibly Differential Equations.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30682324</id>
	<title>which math course to take</title>
	<author>Anonymous</author>
	<datestamp>1262879340000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Depends what you are going to program. If you are looking at logic programming then the first is for you. Now, if you're into making graphics move all over the screen, then you would want to take the second course.</p></htmltext>
<tokenext>Depends what you are going to program .
If you are looking at logic programming then the first is for you .
Now , if you 're into making graphics move all over the screen , then you would want to take the second course .</tokentext>
<sentencetext>Depends what you are going to program.
If you are looking at logic programming then the first is for you.
Now, if you're into making graphics move all over the screen, then you would want to take the second course.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30707856</id>
	<title>Discreet</title>
	<author>chiefbutz</author>
	<datestamp>1263058740000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>I am a senior computer science major right now and I would say to go with Discreet structures with graph theory. If you have any sort of Formal Language Theory class it will be a great deal of help. It will also help with things like cryptography. It will mostly help with theory classes. If you do not have to take any theory then I would say you are just doing programming and not computer science in which case the other class may help more.</p></htmltext>
<tokenext>I am a senior computer science major right now and I would say to go with Discreet structures with graph theory .
If you have any sort of Formal Language Theory class it will be a great deal of help .
It will also help with things like cryptography .
It will mostly help with theory classes .
If you do not have to take any theory then I would say you are just doing programming and not computer science in which case the other class may help more .</tokentext>
<sentencetext>I am a senior computer science major right now and I would say to go with Discreet structures with graph theory.
If you have any sort of Formal Language Theory class it will be a great deal of help.
It will also help with things like cryptography.
It will mostly help with theory classes.
If you do not have to take any theory then I would say you are just doing programming and not computer science in which case the other class may help more.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670532</id>
	<title>Well I feel inadequate/confused</title>
	<author>clickclickdrone</author>
	<datestamp>1262797440000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>I've got an O'level grade B in maths (For non Brits, that's what you do when you're 15/16 years old and 2 levels below a degree i.e. worthless) and that's it. I've been programming for 30+ years and I don't think I've needed any maths beyond the basics. Given that most of this has been writing stuff for banks, you'd kind of think maths would be used all the time but nope, just the simple stuff. The only maths orientated programmers I've met were in the market analysis/tracking/predicting area and they used Excel and Mathamatica mainly rather than coding per se.</htmltext>
<tokenext>I 've got an O'level grade B in maths ( For non Brits , that 's what you do when you 're 15/16 years old and 2 levels below a degree i.e .
worthless ) and that 's it .
I 've been programming for 30 + years and I do n't think I 've needed any maths beyond the basics .
Given that most of this has been writing stuff for banks , you 'd kind of think maths would be used all the time but nope , just the simple stuff .
The only maths orientated programmers I 've met were in the market analysis/tracking/predicting area and they used Excel and Mathamatica mainly rather than coding per se .</tokentext>
<sentencetext>I've got an O'level grade B in maths (For non Brits, that's what you do when you're 15/16 years old and 2 levels below a degree i.e.
worthless) and that's it.
I've been programming for 30+ years and I don't think I've needed any maths beyond the basics.
Given that most of this has been writing stuff for banks, you'd kind of think maths would be used all the time but nope, just the simple stuff.
The only maths orientated programmers I've met were in the market analysis/tracking/predicting area and they used Excel and Mathamatica mainly rather than coding per se.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30675010</id>
	<title>Better reasoning skills</title>
	<author>Anonymous</author>
	<datestamp>1262772960000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>I have a master's degree in pure (theory) mathematics, but now work as a software engineer.  You may or may not ever use<br>stuff like numerical analysis, differential equations etc in your programming career, but studying these subjects improve your ability<br>to understand abstract concepts and to think logically.  I've known many older computer science majors who had a hard time learning<br>object oriented programming due to the fact that it is more abstract than the sequential programming they learned in school.</p><p>So I would say take both.  The discrete math related stuff (graph theory, theoretical comp sci)  is essential to computer science. The other stuff is good<br>for your brain and could be useful at some point in your career.  I would recommend studying numerical analysis and statistics/probability if you have a chance.</p><p>Actually if I could do it over, I would double major in comp sci and applied math.</p></htmltext>
<tokenext>I have a master 's degree in pure ( theory ) mathematics , but now work as a software engineer .
You may or may not ever usestuff like numerical analysis , differential equations etc in your programming career , but studying these subjects improve your abilityto understand abstract concepts and to think logically .
I 've known many older computer science majors who had a hard time learningobject oriented programming due to the fact that it is more abstract than the sequential programming they learned in school.So I would say take both .
The discrete math related stuff ( graph theory , theoretical comp sci ) is essential to computer science .
The other stuff is goodfor your brain and could be useful at some point in your career .
I would recommend studying numerical analysis and statistics/probability if you have a chance.Actually if I could do it over , I would double major in comp sci and applied math .</tokentext>
<sentencetext>I have a master's degree in pure (theory) mathematics, but now work as a software engineer.
You may or may not ever usestuff like numerical analysis, differential equations etc in your programming career, but studying these subjects improve your abilityto understand abstract concepts and to think logically.
I've known many older computer science majors who had a hard time learningobject oriented programming due to the fact that it is more abstract than the sequential programming they learned in school.So I would say take both.
The discrete math related stuff (graph theory, theoretical comp sci)  is essential to computer science.
The other stuff is goodfor your brain and could be useful at some point in your career.
I would recommend studying numerical analysis and statistics/probability if you have a chance.Actually if I could do it over, I would double major in comp sci and applied math.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674402</id>
	<title>Re:Agebra...</title>
	<author>Anonymous</author>
	<datestamp>1262769960000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>I couldn't agree more.</p></htmltext>
<tokenext>I could n't agree more .</tokentext>
<sentencetext>I couldn't agree more.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670136</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670988</id>
	<title>Re:Study what you enjoy</title>
	<author>TheLink</author>
	<datestamp>1262799060000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>2</modscore>
	<htmltext>&gt; If you want to do human computer interface, you don't need math (or a brain).<br><br>If you want to do HCI well, you need a decent brain with understanding of the various sorts of humans that might be using the interface. And often a fair bit of creativity.<br><br>It's not easy to do well. So many GUI designers end up doing stuff like "add more themes", flashy stuff and wobbly windows, instead of actually improving things.<br><br>Just look at how UIs have changed over the years to see what have been real improvements and what have been "meh".</htmltext>
<tokenext>&gt; If you want to do human computer interface , you do n't need math ( or a brain ) .If you want to do HCI well , you need a decent brain with understanding of the various sorts of humans that might be using the interface .
And often a fair bit of creativity.It 's not easy to do well .
So many GUI designers end up doing stuff like " add more themes " , flashy stuff and wobbly windows , instead of actually improving things.Just look at how UIs have changed over the years to see what have been real improvements and what have been " meh " .</tokentext>
<sentencetext>&gt; If you want to do human computer interface, you don't need math (or a brain).If you want to do HCI well, you need a decent brain with understanding of the various sorts of humans that might be using the interface.
And often a fair bit of creativity.It's not easy to do well.
So many GUI designers end up doing stuff like "add more themes", flashy stuff and wobbly windows, instead of actually improving things.Just look at how UIs have changed over the years to see what have been real improvements and what have been "meh".</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670244</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670974</id>
	<title>Re:The Second, If Not Both</title>
	<author>Timothy Brownawell</author>
	<datestamp>1262799000000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p><div class="quote"><p>The second is going to give you practical skills in programming -- a wide array of practical skills. The first is most likely going to give you some automata theory for computers but unless you're going into theoretical research, the second is the obvious answer. Graphics and games are all vectors, the web is becoming even more so with new browser rendering technologies. Rendering is all euclidean space transposed onto a two dimensional plane (screen) using points (pixels). Differentials are huge in the vision and image processing world and again, in graphics. This is your obvious selection although I challenge you to take both.</p></div><p>No.</p><p>The second one sounds like it would only be useful if he's planning on working in a particular field that uses that kind of math (graphics, simulations, maybe low-level sensor/control stuff; but it would probably be <em>very</em> useful if he knows he's going into one of these fields). Discrete math and algorithms are important any time you have a non-trivial amount of data, and help in getting a good understanding of how the computer actually works. Some knowledge of proofs is also good, since it can help you make sure that your code will do what you want it to.</p><p>I know when I went to university, there were classes on data structures, algorithms, and discrete math that were required for Computer Science and Computer Engineering. In contrast, the linear algebra and multivariable-diff-eq classes I took were electives to get enough math credits.</p></div>
	</htmltext>
<tokenext>The second is going to give you practical skills in programming -- a wide array of practical skills .
The first is most likely going to give you some automata theory for computers but unless you 're going into theoretical research , the second is the obvious answer .
Graphics and games are all vectors , the web is becoming even more so with new browser rendering technologies .
Rendering is all euclidean space transposed onto a two dimensional plane ( screen ) using points ( pixels ) .
Differentials are huge in the vision and image processing world and again , in graphics .
This is your obvious selection although I challenge you to take both.No.The second one sounds like it would only be useful if he 's planning on working in a particular field that uses that kind of math ( graphics , simulations , maybe low-level sensor/control stuff ; but it would probably be very useful if he knows he 's going into one of these fields ) .
Discrete math and algorithms are important any time you have a non-trivial amount of data , and help in getting a good understanding of how the computer actually works .
Some knowledge of proofs is also good , since it can help you make sure that your code will do what you want it to.I know when I went to university , there were classes on data structures , algorithms , and discrete math that were required for Computer Science and Computer Engineering .
In contrast , the linear algebra and multivariable-diff-eq classes I took were electives to get enough math credits .</tokentext>
<sentencetext>The second is going to give you practical skills in programming -- a wide array of practical skills.
The first is most likely going to give you some automata theory for computers but unless you're going into theoretical research, the second is the obvious answer.
Graphics and games are all vectors, the web is becoming even more so with new browser rendering technologies.
Rendering is all euclidean space transposed onto a two dimensional plane (screen) using points (pixels).
Differentials are huge in the vision and image processing world and again, in graphics.
This is your obvious selection although I challenge you to take both.No.The second one sounds like it would only be useful if he's planning on working in a particular field that uses that kind of math (graphics, simulations, maybe low-level sensor/control stuff; but it would probably be very useful if he knows he's going into one of these fields).
Discrete math and algorithms are important any time you have a non-trivial amount of data, and help in getting a good understanding of how the computer actually works.
Some knowledge of proofs is also good, since it can help you make sure that your code will do what you want it to.I know when I went to university, there were classes on data structures, algorithms, and discrete math that were required for Computer Science and Computer Engineering.
In contrast, the linear algebra and multivariable-diff-eq classes I took were electives to get enough math credits.
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670306</id>
	<title>Take both, but graphing first.</title>
	<author>Anonymous</author>
	<datestamp>1262796600000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>As a former CS instructor, I'd take the graphing before the vectors. It has wider immediate application to your coursework. Then, I'd take the vector course - especially if you are interested in graphics or physics modeling.</p></htmltext>
<tokenext>As a former CS instructor , I 'd take the graphing before the vectors .
It has wider immediate application to your coursework .
Then , I 'd take the vector course - especially if you are interested in graphics or physics modeling .</tokentext>
<sentencetext>As a former CS instructor, I'd take the graphing before the vectors.
It has wider immediate application to your coursework.
Then, I'd take the vector course - especially if you are interested in graphics or physics modeling.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670904</id>
	<title>As a Math Major with a CS Minor...</title>
	<author>Anonymous</author>
	<datestamp>1262798640000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>My school requires us to take the second course you described only if you're considering a graphical track as opposed to a systems track. But it really depends where you feel you need the strength. From my own experience, if you've taken Calc 1,2 and Differential Equations already, the second course should be easy. In general (unless you only have one semester left) I would suggest taking both (but then again I'm a math major). If you feel your logic skills need reinforcement, take Discrete Math.</p><p>As a math major, both of these courses were really interesting and as a CS minor I understood the applications and implications of both on computer science. I can't exactly list them unless you were to give me a specific problem or example.</p></htmltext>
<tokenext>My school requires us to take the second course you described only if you 're considering a graphical track as opposed to a systems track .
But it really depends where you feel you need the strength .
From my own experience , if you 've taken Calc 1,2 and Differential Equations already , the second course should be easy .
In general ( unless you only have one semester left ) I would suggest taking both ( but then again I 'm a math major ) .
If you feel your logic skills need reinforcement , take Discrete Math.As a math major , both of these courses were really interesting and as a CS minor I understood the applications and implications of both on computer science .
I ca n't exactly list them unless you were to give me a specific problem or example .</tokentext>
<sentencetext>My school requires us to take the second course you described only if you're considering a graphical track as opposed to a systems track.
But it really depends where you feel you need the strength.
From my own experience, if you've taken Calc 1,2 and Differential Equations already, the second course should be easy.
In general (unless you only have one semester left) I would suggest taking both (but then again I'm a math major).
If you feel your logic skills need reinforcement, take Discrete Math.As a math major, both of these courses were really interesting and as a CS minor I understood the applications and implications of both on computer science.
I can't exactly list them unless you were to give me a specific problem or example.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670478</id>
	<title>Re:The Second, If Not Both</title>
	<author>Anonymous</author>
	<datestamp>1262797260000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Hmmm... I just went to download this book from Rapidshare and despite changing my up several times they still have no free download slots. Now folks, you know changing ip when just finishing a 200mb part lets you re-connect straightwaway with a different addy for the next file. So my thesis is that they also implement individual file bandwidth management, too.</p><p>In other words, they've been slashdotted already for this book... pretty good thesis huh?</p><p>Thanks folks...</p><p>WbR. You know who I am!</p></htmltext>
<tokenext>Hmmm... I just went to download this book from Rapidshare and despite changing my up several times they still have no free download slots .
Now folks , you know changing ip when just finishing a 200mb part lets you re-connect straightwaway with a different addy for the next file .
So my thesis is that they also implement individual file bandwidth management , too.In other words , they 've been slashdotted already for this book... pretty good thesis huh ? Thanks folks...WbR .
You know who I am !</tokentext>
<sentencetext>Hmmm... I just went to download this book from Rapidshare and despite changing my up several times they still have no free download slots.
Now folks, you know changing ip when just finishing a 200mb part lets you re-connect straightwaway with a different addy for the next file.
So my thesis is that they also implement individual file bandwidth management, too.In other words, they've been slashdotted already for this book... pretty good thesis huh?Thanks folks...WbR.
You know who I am!</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30673554</id>
	<title>Discrete is the answer... unless...</title>
	<author>Anonymous</author>
	<datestamp>1262809440000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>I actually hold two undergraduate degrees - one in mathematics and the other in computer science.</p><p>Unless you are interested in Numerical Analysis (used heavily in contracting/simulations/engineering) then you want to go with the discrete option.  Never forget that computers are discrete machines themselves and are much better suited to discrete tasks than continuous ones (which is what you would be studying in the analysis course).</p><p>Understanding graph theory, tree theory, and recursion (all topics covered heavily in most any introductory discreet mathematics course) will always be more useful to the computer scientist than understanding the fundamental theorem of calculus.</p></htmltext>
<tokenext>I actually hold two undergraduate degrees - one in mathematics and the other in computer science.Unless you are interested in Numerical Analysis ( used heavily in contracting/simulations/engineering ) then you want to go with the discrete option .
Never forget that computers are discrete machines themselves and are much better suited to discrete tasks than continuous ones ( which is what you would be studying in the analysis course ) .Understanding graph theory , tree theory , and recursion ( all topics covered heavily in most any introductory discreet mathematics course ) will always be more useful to the computer scientist than understanding the fundamental theorem of calculus .</tokentext>
<sentencetext>I actually hold two undergraduate degrees - one in mathematics and the other in computer science.Unless you are interested in Numerical Analysis (used heavily in contracting/simulations/engineering) then you want to go with the discrete option.
Never forget that computers are discrete machines themselves and are much better suited to discrete tasks than continuous ones (which is what you would be studying in the analysis course).Understanding graph theory, tree theory, and recursion (all topics covered heavily in most any introductory discreet mathematics course) will always be more useful to the computer scientist than understanding the fundamental theorem of calculus.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672382</id>
	<title>Re:Depends...</title>
	<author>Slash.Poop</author>
	<datestamp>1262804520000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>I should also mention that I am in insurance. (We can debate whether I am evil or not later)<br> <br>
Because of this I do have to use ALLOT of math. I am not math free. However nothing beyond the norm.</htmltext>
<tokenext>I should also mention that I am in insurance .
( We can debate whether I am evil or not later ) Because of this I do have to use ALLOT of math .
I am not math free .
However nothing beyond the norm .</tokentext>
<sentencetext>I should also mention that I am in insurance.
(We can debate whether I am evil or not later) 
Because of this I do have to use ALLOT of math.
I am not math free.
However nothing beyond the norm.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670182</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671304</id>
	<title>start with discrete, then take the other</title>
	<author>fusiongyro</author>
	<datestamp>1262800260000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Discrete math is "easier" because as someone who has written programs, you already have an intuitive understanding of some aspects of formal logic and set theory and the higher level stuff in that class is within reach of where you probably already are. If that class has anything to teach you, it will be immensely useful, in a fundamental way. Nobody manages to be a good programmer without understanding at least some of that stuff but a fair amount of it comes to you if you program. If it were 1870, that material would be just as hard to learn.</p><p>The other material is probably great and would be useful to many programmers but I had no use for any of that stuff. It's certainly a bit removed from pure CS which adds that mystique.</p><p>That said, there's no total ordering over knowledge. Take both. And read some <a href="http://www.cs.utexas.edu/users/EWD/" title="utexas.edu">EWD's</a> [utexas.edu] while you're at it.</p></htmltext>
<tokenext>Discrete math is " easier " because as someone who has written programs , you already have an intuitive understanding of some aspects of formal logic and set theory and the higher level stuff in that class is within reach of where you probably already are .
If that class has anything to teach you , it will be immensely useful , in a fundamental way .
Nobody manages to be a good programmer without understanding at least some of that stuff but a fair amount of it comes to you if you program .
If it were 1870 , that material would be just as hard to learn.The other material is probably great and would be useful to many programmers but I had no use for any of that stuff .
It 's certainly a bit removed from pure CS which adds that mystique.That said , there 's no total ordering over knowledge .
Take both .
And read some EWD 's [ utexas.edu ] while you 're at it .</tokentext>
<sentencetext>Discrete math is "easier" because as someone who has written programs, you already have an intuitive understanding of some aspects of formal logic and set theory and the higher level stuff in that class is within reach of where you probably already are.
If that class has anything to teach you, it will be immensely useful, in a fundamental way.
Nobody manages to be a good programmer without understanding at least some of that stuff but a fair amount of it comes to you if you program.
If it were 1870, that material would be just as hard to learn.The other material is probably great and would be useful to many programmers but I had no use for any of that stuff.
It's certainly a bit removed from pure CS which adds that mystique.That said, there's no total ordering over knowledge.
Take both.
And read some EWD's [utexas.edu] while you're at it.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670316</id>
	<title>As much as possible, but consider others</title>
	<author>FreelanceWizard</author>
	<datestamp>1262796600000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Optimally, you'll want to get as much math as you can, especially in the realm of proofs, number theory, and combinatorics. They're particularly useful because they directly map to computer science in computational complexity and computability. Knowledge of complexity and the ability to establish the best, average, and worst case performance of an algorithm is quite helpful in ensuring your programs run quickly -- especially if they have slow parts outside of your control (GC, I/O, etc.) or if you're working on large data sets where the difference between O(log n) and O(n log n) can be substantial. On that basis, I'd recommend taking discrete structures with graph theory. Personally, I don't see where the advantage of the selected math chapters course is for a software developer, unless you're planning on coding for domains such as engineering or quantitative finance; however, as I said, the more math you get, the easier certain topics will be for you (e.g., functional programming).</p><p>That said, you might also want to consider taking a course in computational linguistics if one's available; they're often offered out of your local psychology department. Computational linguistics deals with large to enormous data sets and will teach you how to work with techniques such as dynamic programming, caching, lambda expressions, tree traversal, and probabilistic models. It's a great fusion of math, linguistics, and computer science that I feel is an excellent capstone course. If you can't find such a course, I'd still take the general principle here and look for a course that will require you to integrate your computer science and programming experience with some other field. The more connections you can find between your pure computational knowledge and the real world, the better the developer you'll be.</p></htmltext>
<tokenext>Optimally , you 'll want to get as much math as you can , especially in the realm of proofs , number theory , and combinatorics .
They 're particularly useful because they directly map to computer science in computational complexity and computability .
Knowledge of complexity and the ability to establish the best , average , and worst case performance of an algorithm is quite helpful in ensuring your programs run quickly -- especially if they have slow parts outside of your control ( GC , I/O , etc .
) or if you 're working on large data sets where the difference between O ( log n ) and O ( n log n ) can be substantial .
On that basis , I 'd recommend taking discrete structures with graph theory .
Personally , I do n't see where the advantage of the selected math chapters course is for a software developer , unless you 're planning on coding for domains such as engineering or quantitative finance ; however , as I said , the more math you get , the easier certain topics will be for you ( e.g. , functional programming ) .That said , you might also want to consider taking a course in computational linguistics if one 's available ; they 're often offered out of your local psychology department .
Computational linguistics deals with large to enormous data sets and will teach you how to work with techniques such as dynamic programming , caching , lambda expressions , tree traversal , and probabilistic models .
It 's a great fusion of math , linguistics , and computer science that I feel is an excellent capstone course .
If you ca n't find such a course , I 'd still take the general principle here and look for a course that will require you to integrate your computer science and programming experience with some other field .
The more connections you can find between your pure computational knowledge and the real world , the better the developer you 'll be .</tokentext>
<sentencetext>Optimally, you'll want to get as much math as you can, especially in the realm of proofs, number theory, and combinatorics.
They're particularly useful because they directly map to computer science in computational complexity and computability.
Knowledge of complexity and the ability to establish the best, average, and worst case performance of an algorithm is quite helpful in ensuring your programs run quickly -- especially if they have slow parts outside of your control (GC, I/O, etc.
) or if you're working on large data sets where the difference between O(log n) and O(n log n) can be substantial.
On that basis, I'd recommend taking discrete structures with graph theory.
Personally, I don't see where the advantage of the selected math chapters course is for a software developer, unless you're planning on coding for domains such as engineering or quantitative finance; however, as I said, the more math you get, the easier certain topics will be for you (e.g., functional programming).That said, you might also want to consider taking a course in computational linguistics if one's available; they're often offered out of your local psychology department.
Computational linguistics deals with large to enormous data sets and will teach you how to work with techniques such as dynamic programming, caching, lambda expressions, tree traversal, and probabilistic models.
It's a great fusion of math, linguistics, and computer science that I feel is an excellent capstone course.
If you can't find such a course, I'd still take the general principle here and look for a course that will require you to integrate your computer science and programming experience with some other field.
The more connections you can find between your pure computational knowledge and the real world, the better the developer you'll be.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812</id>
	<title>The Second, If Not Both</title>
	<author>eldavojohn</author>
	<datestamp>1262794860000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>5</modscore>
	<htmltext><p><div class="quote"><p>It is no news that the greatest computer scientists and programmers are/were mathematicians.</p></div><p>I caution you that there are many other science professions which require math to varying degrees.  The above statement could also be true of phycisists, chemists and maybe even biologists.  The vectors, proof and algorithms that math provides a foundation to (or is) can be compared to the statistics that a biologist relies on or more generally processing empirical data in any science.  We teach our kids basic math so they understand home loans and taxation later in life.  Similarly, your best x in any science related field will likely have strong math skills to take what gets thrown at them.</p><p><div class="quote"><p>I have two choices: 'Discreet structures with graph theory' (discrete math; proofs, sets, algorithms and graphs) on one side, and 'Selected math chapters' (math analysis; vectors, euclidean space, differentials) on the other. I'm scared of the second one because it's said to be harder. But contrary to my own opinion, one assistant told me that it would be more useful for a programmer compared to the first subject. Then again, he's not a programmer.</p></div><p>But he's definitely correct.  The second is going to give you practical skills in programming -- a wide array of practical skills.  The first is most likely going to give you some automata theory for computers but unless you're going into theoretical research, the second is the obvious answer.  Graphics and games are all vectors, the web is becoming even more so with new browser rendering technologies.  Rendering is all euclidean space transposed onto a two dimensional plane (screen) using points (pixels).  Differentials are huge in the vision and image processing world and again, in graphics.  This is your obvious selection although I challenge you to take both.  Also, look for courses on classes that blur the lines between stats/math and computer science.  Like courses on error correcting codes or computer language design and theory.  <br> <br>

I don't know about you but I would rather take a seriously difficult course and learn a lot with a grade of C+ than take a seriously easy course and learn little with a grade of A+.</p><p><div class="quote"><p>Unfortunately, math doesn't return my love, and prefers me to struggle with it.</p></div><p>As a brief aside, it's entirely possible you simply were never exposed to fun math or been exposed to a really influential teacher.  It will not give you the joy that primary school math league gave me nor will it be a perfect substitute but <a href="http://www.amazon.com/Colossal-Book-Short-Puzzles-Problems/dp/0393061140/ref=sr\_1\_1?ie=UTF8&amp;s=books&amp;qid=1262790668&amp;sr=8-1" title="amazon.com" rel="nofollow">Martin Gardner</a> [amazon.com] has some really fun math.  While this won't get you excited about graph theory and linear equations, it might spark something in you to devour math regardless of how dry it is.  Talking about quadratic sieves in regards to finding primes is really boring stuff when it's a paper full of symbols.  But if you know what kind of power this holds in regards to cryptography, one can get really zealous about it.  Remember to help your kids with this should you decide to procreate.  <br> <br>

Also if you haven't read <a href="http://en.wikipedia.org/wiki/G\%C3\%B6del,\_Escher,\_Bach" title="wikipedia.org" rel="nofollow">Godel, Escher, Bach</a> [wikipedia.org], it might be time.  Copies of those sell for cheap used online.</p></div>
	</htmltext>
<tokenext>It is no news that the greatest computer scientists and programmers are/were mathematicians.I caution you that there are many other science professions which require math to varying degrees .
The above statement could also be true of phycisists , chemists and maybe even biologists .
The vectors , proof and algorithms that math provides a foundation to ( or is ) can be compared to the statistics that a biologist relies on or more generally processing empirical data in any science .
We teach our kids basic math so they understand home loans and taxation later in life .
Similarly , your best x in any science related field will likely have strong math skills to take what gets thrown at them.I have two choices : 'Discreet structures with graph theory ' ( discrete math ; proofs , sets , algorithms and graphs ) on one side , and 'Selected math chapters ' ( math analysis ; vectors , euclidean space , differentials ) on the other .
I 'm scared of the second one because it 's said to be harder .
But contrary to my own opinion , one assistant told me that it would be more useful for a programmer compared to the first subject .
Then again , he 's not a programmer.But he 's definitely correct .
The second is going to give you practical skills in programming -- a wide array of practical skills .
The first is most likely going to give you some automata theory for computers but unless you 're going into theoretical research , the second is the obvious answer .
Graphics and games are all vectors , the web is becoming even more so with new browser rendering technologies .
Rendering is all euclidean space transposed onto a two dimensional plane ( screen ) using points ( pixels ) .
Differentials are huge in the vision and image processing world and again , in graphics .
This is your obvious selection although I challenge you to take both .
Also , look for courses on classes that blur the lines between stats/math and computer science .
Like courses on error correcting codes or computer language design and theory .
I do n't know about you but I would rather take a seriously difficult course and learn a lot with a grade of C + than take a seriously easy course and learn little with a grade of A + .Unfortunately , math does n't return my love , and prefers me to struggle with it.As a brief aside , it 's entirely possible you simply were never exposed to fun math or been exposed to a really influential teacher .
It will not give you the joy that primary school math league gave me nor will it be a perfect substitute but Martin Gardner [ amazon.com ] has some really fun math .
While this wo n't get you excited about graph theory and linear equations , it might spark something in you to devour math regardless of how dry it is .
Talking about quadratic sieves in regards to finding primes is really boring stuff when it 's a paper full of symbols .
But if you know what kind of power this holds in regards to cryptography , one can get really zealous about it .
Remember to help your kids with this should you decide to procreate .
Also if you have n't read Godel , Escher , Bach [ wikipedia.org ] , it might be time .
Copies of those sell for cheap used online .</tokentext>
<sentencetext>It is no news that the greatest computer scientists and programmers are/were mathematicians.I caution you that there are many other science professions which require math to varying degrees.
The above statement could also be true of phycisists, chemists and maybe even biologists.
The vectors, proof and algorithms that math provides a foundation to (or is) can be compared to the statistics that a biologist relies on or more generally processing empirical data in any science.
We teach our kids basic math so they understand home loans and taxation later in life.
Similarly, your best x in any science related field will likely have strong math skills to take what gets thrown at them.I have two choices: 'Discreet structures with graph theory' (discrete math; proofs, sets, algorithms and graphs) on one side, and 'Selected math chapters' (math analysis; vectors, euclidean space, differentials) on the other.
I'm scared of the second one because it's said to be harder.
But contrary to my own opinion, one assistant told me that it would be more useful for a programmer compared to the first subject.
Then again, he's not a programmer.But he's definitely correct.
The second is going to give you practical skills in programming -- a wide array of practical skills.
The first is most likely going to give you some automata theory for computers but unless you're going into theoretical research, the second is the obvious answer.
Graphics and games are all vectors, the web is becoming even more so with new browser rendering technologies.
Rendering is all euclidean space transposed onto a two dimensional plane (screen) using points (pixels).
Differentials are huge in the vision and image processing world and again, in graphics.
This is your obvious selection although I challenge you to take both.
Also, look for courses on classes that blur the lines between stats/math and computer science.
Like courses on error correcting codes or computer language design and theory.
I don't know about you but I would rather take a seriously difficult course and learn a lot with a grade of C+ than take a seriously easy course and learn little with a grade of A+.Unfortunately, math doesn't return my love, and prefers me to struggle with it.As a brief aside, it's entirely possible you simply were never exposed to fun math or been exposed to a really influential teacher.
It will not give you the joy that primary school math league gave me nor will it be a perfect substitute but Martin Gardner [amazon.com] has some really fun math.
While this won't get you excited about graph theory and linear equations, it might spark something in you to devour math regardless of how dry it is.
Talking about quadratic sieves in regards to finding primes is really boring stuff when it's a paper full of symbols.
But if you know what kind of power this holds in regards to cryptography, one can get really zealous about it.
Remember to help your kids with this should you decide to procreate.
Also if you haven't read Godel, Escher, Bach [wikipedia.org], it might be time.
Copies of those sell for cheap used online.
	</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670666</id>
	<title>geometric algebra</title>
	<author>Pictish Prince</author>
	<datestamp>1262797860000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>As an alternative (or prelude) to the second group of subjects mentioned, you should take a look at <a href="http://en.wikipedia.org/wiki/Geometric\_algebra" title="wikipedia.org" rel="nofollow">geometric or Clifford algebra</a> [wikipedia.org].  It's far simpler and more intuitive.  If you're going to do 3D graphics, study the ins &amp; outs of <a href="http://en.wikipedia.org/wiki/Quaternion" title="wikipedia.org" rel="nofollow">quaternions</a> [wikipedia.org].  Using quaternion algebra, it's easy to do sophisticated operations with a bare minimum of computation.</htmltext>
<tokenext>As an alternative ( or prelude ) to the second group of subjects mentioned , you should take a look at geometric or Clifford algebra [ wikipedia.org ] .
It 's far simpler and more intuitive .
If you 're going to do 3D graphics , study the ins &amp; outs of quaternions [ wikipedia.org ] .
Using quaternion algebra , it 's easy to do sophisticated operations with a bare minimum of computation .</tokentext>
<sentencetext>As an alternative (or prelude) to the second group of subjects mentioned, you should take a look at geometric or Clifford algebra [wikipedia.org].
It's far simpler and more intuitive.
If you're going to do 3D graphics, study the ins &amp; outs of quaternions [wikipedia.org].
Using quaternion algebra, it's easy to do sophisticated operations with a bare minimum of computation.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30675984</id>
	<title>what a bunch of crap:</title>
	<author>geekoid</author>
	<datestamp>1262777220000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>""It is no news that the greatest computer scientists and programmers are/were mathematicians."</p><p>I just threw up a little.</p></htmltext>
<tokenext>" " It is no news that the greatest computer scientists and programmers are/were mathematicians .
" I just threw up a little .</tokentext>
<sentencetext>""It is no news that the greatest computer scientists and programmers are/were mathematicians.
"I just threw up a little.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30678224</id>
	<title>Math doesn't return the love</title>
	<author>steveha</author>
	<datestamp>1262792040000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>I suggest you get some books that make math more interesting.</p><p>For any software developer, the math in the "Aha!" books is appropriate.  I was able to understand this math in high school, so I'm sure hard-core math nerds will sneer that this is too easy, but I stand by the claim that these books are worth your time.</p><p><a href="http://books.google.com/books?id=3HzwNVMQOZkC&amp;dq=martin+gardner+aha&amp;printsec=frontcover&amp;source=bl&amp;ots=V8SApmfuR9&amp;sig=BIkCoetmk32ypVs2-TpTxiR3f6c&amp;hl=en&amp;ei=1URFS9KDDYHSMo3SsfUC&amp;sa=X&amp;oi=book\_result&amp;ct=result&amp;resnum=4&amp;ved=0CCQQ6AEwAw#v=onepage&amp;q=&amp;f=false" title="google.com">Aha!: A Two Volume Collection</a> [google.com] on Google Books</p><p><a href="http://www.amazon.com/Aha-Insight-Martin-Gardner/dp/071671017X" title="amazon.com">Aha! Insight</a> [amazon.com] on Amazon</p><p><a href="http://www.amazon.com/Aha-Gotcha-Paradoxes-Puzzle-Delight/dp/0716713616" title="amazon.com">Aha! Gotcha!</a> [amazon.com] on Amazon</p><p>From my own personal experience, I have never needed calculus or differential equations or any of that advanced sort of math in my whole career.  I'm now doing somewhat advanced DSP work, and even there I haven't needed advanced math.  (I don't entirely understand how the FFT works; I just know how to use its properties to get the result I need.  Other people wrote C versions of the FFT for me; I haven't needed to write it.)</p><p>The math that has been useful to me is basic logic stuff, to know how to write conditions for if statements and the like; O(n) estimations, to help you choose the best algorithm to solve your problem; and basic probability stuff, to help me understand how caches work and such.  So the first class sounds better to me than the second.</p><p>I'll recommend one more book to you.  It's a sort of encyclopedia of algorithms... it will expand your mind with possibilities (if you don't even know something exists, you won't be able to use it to solve your problems).  It's engagingly written, with "war stories" that make it more lively.</p><p><a href="http://books.google.com/books?id=6U7I4577l00C&amp;dq=the+algorithm+design+manual&amp;printsec=frontcover&amp;source=bn&amp;hl=en&amp;ei=Z0dFS46bF4W6NuH2-PMC&amp;sa=X&amp;oi=book\_result&amp;ct=result&amp;resnum=6&amp;ved=0CCYQ6AEwBQ#v=onepage&amp;q=&amp;f=false" title="google.com">The Algorithm Design Manual</a> [google.com] on Google Books</p><p><a href="http://www.amazon.com/Algorithm-Design-Manual-Steve-Skiena/dp/0387948600" title="amazon.com">The Algorithm Design Manual</a> [amazon.com] on Amazon</p><p><a href="http://www.algorist.com/" title="algorist.com">The author's web page for the book</a> [algorist.com]</p><p>steveha</p></htmltext>
<tokenext>I suggest you get some books that make math more interesting.For any software developer , the math in the " Aha !
" books is appropriate .
I was able to understand this math in high school , so I 'm sure hard-core math nerds will sneer that this is too easy , but I stand by the claim that these books are worth your time.Aha !
: A Two Volume Collection [ google.com ] on Google BooksAha !
Insight [ amazon.com ] on AmazonAha !
Gotcha ! [ amazon.com ] on AmazonFrom my own personal experience , I have never needed calculus or differential equations or any of that advanced sort of math in my whole career .
I 'm now doing somewhat advanced DSP work , and even there I have n't needed advanced math .
( I do n't entirely understand how the FFT works ; I just know how to use its properties to get the result I need .
Other people wrote C versions of the FFT for me ; I have n't needed to write it .
) The math that has been useful to me is basic logic stuff , to know how to write conditions for if statements and the like ; O ( n ) estimations , to help you choose the best algorithm to solve your problem ; and basic probability stuff , to help me understand how caches work and such .
So the first class sounds better to me than the second.I 'll recommend one more book to you .
It 's a sort of encyclopedia of algorithms... it will expand your mind with possibilities ( if you do n't even know something exists , you wo n't be able to use it to solve your problems ) .
It 's engagingly written , with " war stories " that make it more lively.The Algorithm Design Manual [ google.com ] on Google BooksThe Algorithm Design Manual [ amazon.com ] on AmazonThe author 's web page for the book [ algorist.com ] steveha</tokentext>
<sentencetext>I suggest you get some books that make math more interesting.For any software developer, the math in the "Aha!
" books is appropriate.
I was able to understand this math in high school, so I'm sure hard-core math nerds will sneer that this is too easy, but I stand by the claim that these books are worth your time.Aha!
: A Two Volume Collection [google.com] on Google BooksAha!
Insight [amazon.com] on AmazonAha!
Gotcha! [amazon.com] on AmazonFrom my own personal experience, I have never needed calculus or differential equations or any of that advanced sort of math in my whole career.
I'm now doing somewhat advanced DSP work, and even there I haven't needed advanced math.
(I don't entirely understand how the FFT works; I just know how to use its properties to get the result I need.
Other people wrote C versions of the FFT for me; I haven't needed to write it.
)The math that has been useful to me is basic logic stuff, to know how to write conditions for if statements and the like; O(n) estimations, to help you choose the best algorithm to solve your problem; and basic probability stuff, to help me understand how caches work and such.
So the first class sounds better to me than the second.I'll recommend one more book to you.
It's a sort of encyclopedia of algorithms... it will expand your mind with possibilities (if you don't even know something exists, you won't be able to use it to solve your problems).
It's engagingly written, with "war stories" that make it more lively.The Algorithm Design Manual [google.com] on Google BooksThe Algorithm Design Manual [amazon.com] on AmazonThe author's web page for the book [algorist.com]steveha</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671060</id>
	<title>Nuts to the second choice...</title>
	<author>Anonymous</author>
	<datestamp>1262799360000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Discrete math is 90\% or more of programming.  Von Neumann architecture digital computers (er.. what we all use) are inherently discrete entities.  You'll use the first course every day of your programming career, whether you are aware of it or not.  If you are only going to take one, then it has to be the first choice.</p><p>You should do both though: know the math 'cause you'll run into it somewhere and its a b**** learning on the fly.  If you go into robotics or control systems then the second choice will be useful, although a little FFT knowledge goes a long ways.</p><p>eh, have fun!</p></htmltext>
<tokenext>Discrete math is 90 \ % or more of programming .
Von Neumann architecture digital computers ( er.. what we all use ) are inherently discrete entities .
You 'll use the first course every day of your programming career , whether you are aware of it or not .
If you are only going to take one , then it has to be the first choice.You should do both though : know the math 'cause you 'll run into it somewhere and its a b * * * * learning on the fly .
If you go into robotics or control systems then the second choice will be useful , although a little FFT knowledge goes a long ways.eh , have fun !</tokentext>
<sentencetext>Discrete math is 90\% or more of programming.
Von Neumann architecture digital computers (er.. what we all use) are inherently discrete entities.
You'll use the first course every day of your programming career, whether you are aware of it or not.
If you are only going to take one, then it has to be the first choice.You should do both though: know the math 'cause you'll run into it somewhere and its a b**** learning on the fly.
If you go into robotics or control systems then the second choice will be useful, although a little FFT knowledge goes a long ways.eh, have fun!</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30673370</id>
	<title>Re:Does math pay?</title>
	<author>Anonymous</author>
	<datestamp>1262808660000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Of course math doesn't pay. Just look around you.<br>My professors make a fraction of what some of my friends do.</p><p>- A disgruntled graduate student</p></htmltext>
<tokenext>Of course math does n't pay .
Just look around you.My professors make a fraction of what some of my friends do.- A disgruntled graduate student</tokentext>
<sentencetext>Of course math doesn't pay.
Just look around you.My professors make a fraction of what some of my friends do.- A disgruntled graduate student</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671204</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672518</id>
	<title>Statistics</title>
	<author>wfolta</author>
	<datestamp>1262805000000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Class #1 sounds like the better of the two, and a better foundation for programming itself.</p><p>But I'll also add that I've been studying a lot about machine learning lately, and vectors/statistics are absolutely necessary. (And I've also found statistics to be the most counter-intuitive math I've been exposed to... it's taken SEVERAL exposures to it over the years to become reasonably comfortable.) And it's also quite important if you're doing any kind of research or if you're trying to KNOW whether method B actually improves on method A or not.</p></htmltext>
<tokenext>Class # 1 sounds like the better of the two , and a better foundation for programming itself.But I 'll also add that I 've been studying a lot about machine learning lately , and vectors/statistics are absolutely necessary .
( And I 've also found statistics to be the most counter-intuitive math I 've been exposed to... it 's taken SEVERAL exposures to it over the years to become reasonably comfortable .
) And it 's also quite important if you 're doing any kind of research or if you 're trying to KNOW whether method B actually improves on method A or not .</tokentext>
<sentencetext>Class #1 sounds like the better of the two, and a better foundation for programming itself.But I'll also add that I've been studying a lot about machine learning lately, and vectors/statistics are absolutely necessary.
(And I've also found statistics to be the most counter-intuitive math I've been exposed to... it's taken SEVERAL exposures to it over the years to become reasonably comfortable.
) And it's also quite important if you're doing any kind of research or if you're trying to KNOW whether method B actually improves on method A or not.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674208</id>
	<title>Re:take Discreet</title>
	<author>clone53421</author>
	<datestamp>1262769180000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Honestly? As someone who took both?</p><p>The set and graph theory are reasonably interesting, and so easy to grasp if you&rsquo;re coming from a computing background, that you&rsquo;d probably be able to learn as much in a few afternoons on Wikipedia as you would by taking that class. You&rsquo;ll probably start the class already knowing 80\% of the material, and learning a few new applications of it. (I&rsquo;m sort of assuming a certain level of proficiency when it comes to logic and planning algorithms, since the submitter said he&rsquo;d been &ldquo;hacking&rdquo; programs since he was a kid.)</p><p>Take Discrete Structures if you want a super-easy class that will basically be a waste of time and money. Yes, it&rsquo;ll look nice on your transcript and help your GPA, so perhaps not a <em>complete</em> waste.</p><p>Take the other math offering if you want to actually <em>learn</em> something.</p></htmltext>
<tokenext>Honestly ?
As someone who took both ? The set and graph theory are reasonably interesting , and so easy to grasp if you    re coming from a computing background , that you    d probably be able to learn as much in a few afternoons on Wikipedia as you would by taking that class .
You    ll probably start the class already knowing 80 \ % of the material , and learning a few new applications of it .
( I    m sort of assuming a certain level of proficiency when it comes to logic and planning algorithms , since the submitter said he    d been    hacking    programs since he was a kid .
) Take Discrete Structures if you want a super-easy class that will basically be a waste of time and money .
Yes , it    ll look nice on your transcript and help your GPA , so perhaps not a complete waste.Take the other math offering if you want to actually learn something .</tokentext>
<sentencetext>Honestly?
As someone who took both?The set and graph theory are reasonably interesting, and so easy to grasp if you’re coming from a computing background, that you’d probably be able to learn as much in a few afternoons on Wikipedia as you would by taking that class.
You’ll probably start the class already knowing 80\% of the material, and learning a few new applications of it.
(I’m sort of assuming a certain level of proficiency when it comes to logic and planning algorithms, since the submitter said he’d been “hacking” programs since he was a kid.
)Take Discrete Structures if you want a super-easy class that will basically be a waste of time and money.
Yes, it’ll look nice on your transcript and help your GPA, so perhaps not a complete waste.Take the other math offering if you want to actually learn something.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670068</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674278</id>
	<title>Computer Science</title>
	<author>Anonymous</author>
	<datestamp>1262769420000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>If you are majoring in Computer Science  I would definitely go with Discrete Class.  As you get into more advance computer science fields and plan a career which has to do with coming up with optimized solutions to problems.  However if you are aspiring to a game programming career dealing especially with Graphical programming vector analysis will very important.  Ideally I would take both because they would help your understanding of the math you will need to know, but one thing you have to realize is that when learning discrete requires a little different type of thinking.</p></htmltext>
<tokenext>If you are majoring in Computer Science I would definitely go with Discrete Class .
As you get into more advance computer science fields and plan a career which has to do with coming up with optimized solutions to problems .
However if you are aspiring to a game programming career dealing especially with Graphical programming vector analysis will very important .
Ideally I would take both because they would help your understanding of the math you will need to know , but one thing you have to realize is that when learning discrete requires a little different type of thinking .</tokentext>
<sentencetext>If you are majoring in Computer Science  I would definitely go with Discrete Class.
As you get into more advance computer science fields and plan a career which has to do with coming up with optimized solutions to problems.
However if you are aspiring to a game programming career dealing especially with Graphical programming vector analysis will very important.
Ideally I would take both because they would help your understanding of the math you will need to know, but one thing you have to realize is that when learning discrete requires a little different type of thinking.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30675068</id>
	<title>Discrete ftw</title>
	<author>RomulusNR</author>
	<datestamp>1262773260000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>He's on crack. By and large the discrete math will serve you better because it's the sort of thinking that is essential to programming algorithms.</p><p>That being said, if you intend to pursue work in graphics, or writing physics simulations or engineering software, the vectors/euclidean/differentials will be a big help. But that's really only for those cases. None of that is at all useful to the average developer.</p><p>Discrete math, logical conclusion, sets, graphs, and (duh) algorithms are a must though.</p><p>FWIW, before being a CS major I took a humanities philosophy class called Intro to Logic. After being a CS major I was required to take Discrete Math. I aced the latter because it was exactly what I'd learned in the former, with different notation and namespace.</p></htmltext>
<tokenext>He 's on crack .
By and large the discrete math will serve you better because it 's the sort of thinking that is essential to programming algorithms.That being said , if you intend to pursue work in graphics , or writing physics simulations or engineering software , the vectors/euclidean/differentials will be a big help .
But that 's really only for those cases .
None of that is at all useful to the average developer.Discrete math , logical conclusion , sets , graphs , and ( duh ) algorithms are a must though.FWIW , before being a CS major I took a humanities philosophy class called Intro to Logic .
After being a CS major I was required to take Discrete Math .
I aced the latter because it was exactly what I 'd learned in the former , with different notation and namespace .</tokentext>
<sentencetext>He's on crack.
By and large the discrete math will serve you better because it's the sort of thinking that is essential to programming algorithms.That being said, if you intend to pursue work in graphics, or writing physics simulations or engineering software, the vectors/euclidean/differentials will be a big help.
But that's really only for those cases.
None of that is at all useful to the average developer.Discrete math, logical conclusion, sets, graphs, and (duh) algorithms are a must though.FWIW, before being a CS major I took a humanities philosophy class called Intro to Logic.
After being a CS major I was required to take Discrete Math.
I aced the latter because it was exactly what I'd learned in the former, with different notation and namespace.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670220</id>
	<title>Re:Study what you enjoy</title>
	<author>boner</author>
	<datestamp>1262796300000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>4</modscore>
	<htmltext><p>I second that, study what you enjoy and see where your interest takes you. I struggled with statistics when I studied for my masters, but my current job is steep in statistics and I am much better at it. Funny how that goes.... It's a lot easier to learn a Math subject when there is a real need to understand it present, otherwise it can remain abstract and obtuse.</p><p>The other piece of advice:  do your homework, everyday, and don't give up.  Seriously, I was a B+ student until my math teacher started checking my homework - I told him that there were other students more deserving of his attention. Within a few weeks I was an A-student...</p><p>As for making a choice, I would do both, but take the easier one first.</p></htmltext>
<tokenext>I second that , study what you enjoy and see where your interest takes you .
I struggled with statistics when I studied for my masters , but my current job is steep in statistics and I am much better at it .
Funny how that goes.... It 's a lot easier to learn a Math subject when there is a real need to understand it present , otherwise it can remain abstract and obtuse.The other piece of advice : do your homework , everyday , and do n't give up .
Seriously , I was a B + student until my math teacher started checking my homework - I told him that there were other students more deserving of his attention .
Within a few weeks I was an A-student...As for making a choice , I would do both , but take the easier one first .</tokentext>
<sentencetext>I second that, study what you enjoy and see where your interest takes you.
I struggled with statistics when I studied for my masters, but my current job is steep in statistics and I am much better at it.
Funny how that goes.... It's a lot easier to learn a Math subject when there is a real need to understand it present, otherwise it can remain abstract and obtuse.The other piece of advice:  do your homework, everyday, and don't give up.
Seriously, I was a B+ student until my math teacher started checking my homework - I told him that there were other students more deserving of his attention.
Within a few weeks I was an A-student...As for making a choice, I would do both, but take the easier one first.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669840</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30673380</id>
	<title>Is your goal adequate or excellent programmer?</title>
	<author>ReedYoung</author>
	<datestamp>1262808720000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>And, if you give your best effort, are you up to the more challenging math curriculum?  Those are my only criteria for such decisions and all the answer I can offer to this question.</p></htmltext>
<tokenext>And , if you give your best effort , are you up to the more challenging math curriculum ?
Those are my only criteria for such decisions and all the answer I can offer to this question .</tokentext>
<sentencetext>And, if you give your best effort, are you up to the more challenging math curriculum?
Those are my only criteria for such decisions and all the answer I can offer to this question.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670176</id>
	<title>Take both now! It'll pay off.</title>
	<author>Anonymous</author>
	<datestamp>1262796180000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Take both for sure!<br>The first will strengthen you comprehension of logical constructs and help facilitate those times when you must create an algorithm to solve a tough problem as well as making it easier to understand the working nature of algorithms you apply every day, like searches and sorts, and the second will allow you to open the wide world of graphics and 3D computer modeling. I took both and constantly find discrete math concepts help me to structure my design and logical flow as well as helping understand others work, when approached as a system of logical functions, and i find vector, matrix and spatial math is immensely valuable any time i design a simulation, usually motion, in 2D/3D and of course in any instance where i want create a graphical application in 3D.<br>And, really, you're better off suffering both now instead of finding yourself in your professional career and needing to teach yourself a complex subject - i wish i had studied higher level maths as i find i have to teach myself if i want to learn them now...and as we all know, that takes lots of self discipline and time, two things i don't always have extra of.</p></htmltext>
<tokenext>Take both for sure ! The first will strengthen you comprehension of logical constructs and help facilitate those times when you must create an algorithm to solve a tough problem as well as making it easier to understand the working nature of algorithms you apply every day , like searches and sorts , and the second will allow you to open the wide world of graphics and 3D computer modeling .
I took both and constantly find discrete math concepts help me to structure my design and logical flow as well as helping understand others work , when approached as a system of logical functions , and i find vector , matrix and spatial math is immensely valuable any time i design a simulation , usually motion , in 2D/3D and of course in any instance where i want create a graphical application in 3D.And , really , you 're better off suffering both now instead of finding yourself in your professional career and needing to teach yourself a complex subject - i wish i had studied higher level maths as i find i have to teach myself if i want to learn them now...and as we all know , that takes lots of self discipline and time , two things i do n't always have extra of .</tokentext>
<sentencetext>Take both for sure!The first will strengthen you comprehension of logical constructs and help facilitate those times when you must create an algorithm to solve a tough problem as well as making it easier to understand the working nature of algorithms you apply every day, like searches and sorts, and the second will allow you to open the wide world of graphics and 3D computer modeling.
I took both and constantly find discrete math concepts help me to structure my design and logical flow as well as helping understand others work, when approached as a system of logical functions, and i find vector, matrix and spatial math is immensely valuable any time i design a simulation, usually motion, in 2D/3D and of course in any instance where i want create a graphical application in 3D.And, really, you're better off suffering both now instead of finding yourself in your professional career and needing to teach yourself a complex subject - i wish i had studied higher level maths as i find i have to teach myself if i want to learn them now...and as we all know, that takes lots of self discipline and time, two things i don't always have extra of.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30681460</id>
	<title>You'll enjoy Discrete Math for CS majors</title>
	<author>JeffLass</author>
	<datestamp>1262874420000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>When you have a chance read the article in Wikipedia entitled Discrete Mathematics. And then read the one entitled Linear Algebra.   It will help you make up your mind.  FWIW, when I was working on a Masters in Computer Science the two math courses that proved most useful were: Discrete Mathematics for Computer Science majors and Linear Algebra for Computer Science majors. The distinction "for computer science majors" implies a greater emphasis on process, implementation, and analysis and none on "proofs".  In that sense they are "practical" courses because it is assumed up front that the material presented is based on a solid foundation of proofs (referenced or 'appendicised' and "there's no need to get into all of that").  Math courses for mathematics majors and science education majors, in contrast, are entirely "proof" oriented because these people need to fully understand how to extend the absolute rigor of mathematical logic and theory, and also how to teach it.  BTW, reading about how math proofs were achieved, with their creative leaps o' logic, can be fascinating and rewarding when they're presented from a historical perspective.  It's remarkable how many proofs were actually locked down THOUSANDS of years ago.</htmltext>
<tokenext>When you have a chance read the article in Wikipedia entitled Discrete Mathematics .
And then read the one entitled Linear Algebra .
It will help you make up your mind .
FWIW , when I was working on a Masters in Computer Science the two math courses that proved most useful were : Discrete Mathematics for Computer Science majors and Linear Algebra for Computer Science majors .
The distinction " for computer science majors " implies a greater emphasis on process , implementation , and analysis and none on " proofs " .
In that sense they are " practical " courses because it is assumed up front that the material presented is based on a solid foundation of proofs ( referenced or 'appendicised ' and " there 's no need to get into all of that " ) .
Math courses for mathematics majors and science education majors , in contrast , are entirely " proof " oriented because these people need to fully understand how to extend the absolute rigor of mathematical logic and theory , and also how to teach it .
BTW , reading about how math proofs were achieved , with their creative leaps o ' logic , can be fascinating and rewarding when they 're presented from a historical perspective .
It 's remarkable how many proofs were actually locked down THOUSANDS of years ago .</tokentext>
<sentencetext>When you have a chance read the article in Wikipedia entitled Discrete Mathematics.
And then read the one entitled Linear Algebra.
It will help you make up your mind.
FWIW, when I was working on a Masters in Computer Science the two math courses that proved most useful were: Discrete Mathematics for Computer Science majors and Linear Algebra for Computer Science majors.
The distinction "for computer science majors" implies a greater emphasis on process, implementation, and analysis and none on "proofs".
In that sense they are "practical" courses because it is assumed up front that the material presented is based on a solid foundation of proofs (referenced or 'appendicised' and "there's no need to get into all of that").
Math courses for mathematics majors and science education majors, in contrast, are entirely "proof" oriented because these people need to fully understand how to extend the absolute rigor of mathematical logic and theory, and also how to teach it.
BTW, reading about how math proofs were achieved, with their creative leaps o' logic, can be fascinating and rewarding when they're presented from a historical perspective.
It's remarkable how many proofs were actually locked down THOUSANDS of years ago.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672000</id>
	<title>Re:The Second, If Not Both</title>
	<author>Anonymous</author>
	<datestamp>1262802960000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Or learn it at gunpoint (I'm in the process of watching The Wire, and there is cool scene where Wallace is asked by one of his kids about some addition and subtraction math problem that the kid can't understand. Wallace puts the example in terms of selling drugs and the kid gives an instant answer. When Wallace asks why she could solve that one, but not the first version, she answers: "'cause if you make a mistake, they fuck you up"., So, there)</p></htmltext>
<tokenext>Or learn it at gunpoint ( I 'm in the process of watching The Wire , and there is cool scene where Wallace is asked by one of his kids about some addition and subtraction math problem that the kid ca n't understand .
Wallace puts the example in terms of selling drugs and the kid gives an instant answer .
When Wallace asks why she could solve that one , but not the first version , she answers : " 'cause if you make a mistake , they fuck you up " . , So , there )</tokentext>
<sentencetext>Or learn it at gunpoint (I'm in the process of watching The Wire, and there is cool scene where Wallace is asked by one of his kids about some addition and subtraction math problem that the kid can't understand.
Wallace puts the example in terms of selling drugs and the kid gives an instant answer.
When Wallace asks why she could solve that one, but not the first version, she answers: "'cause if you make a mistake, they fuck you up"., So, there)</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670598</id>
	<title>Re:The Second, If Not Both</title>
	<author>Anonymous</author>
	<datestamp>1262797620000</datestamp>
	<modclass>Informativ</modclass>
	<modscore>5</modscore>
	<htmltext><p>I 100\% disagree with this post.</p><p>Almost *any* complex algorithmic task (programming) comes in the end, down to solving *some* graph theory problem.  The first one most definitely sounds more useful to a programmer.  This has applications in coming up with algorithms, understanding type systems, proving to some degree that your program works, understanding the logic involved in your program.  Sets and graphs are about the most important structures you will ever come across in programming.</p><p>The latter is pretty much only useful for people building 3D tools, to which the former is also applicable.</p></htmltext>
<tokenext>I 100 \ % disagree with this post.Almost * any * complex algorithmic task ( programming ) comes in the end , down to solving * some * graph theory problem .
The first one most definitely sounds more useful to a programmer .
This has applications in coming up with algorithms , understanding type systems , proving to some degree that your program works , understanding the logic involved in your program .
Sets and graphs are about the most important structures you will ever come across in programming.The latter is pretty much only useful for people building 3D tools , to which the former is also applicable .</tokentext>
<sentencetext>I 100\% disagree with this post.Almost *any* complex algorithmic task (programming) comes in the end, down to solving *some* graph theory problem.
The first one most definitely sounds more useful to a programmer.
This has applications in coming up with algorithms, understanding type systems, proving to some degree that your program works, understanding the logic involved in your program.
Sets and graphs are about the most important structures you will ever come across in programming.The latter is pretty much only useful for people building 3D tools, to which the former is also applicable.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670244</id>
	<title>Re:Study what you enjoy</title>
	<author>Carewolf</author>
	<datestamp>1262796360000</datestamp>
	<modclass>Informativ</modclass>
	<modscore>5</modscore>
	<htmltext><p>True not all fields require math, but just to answer the question. Yes, choose what you like:</p><p>If you want to do algorithms and language theory, you need discrete math, graph theory, etc.<br>If you want to do graphics and signal processing, you need calculus (also called math analysis), geometry and differential.<br>If you want to do human computer interface, you don't need math (or a brain).</p><p>If you want to kick ass, you need all the introductory math you put your hands on (advanced university level math is too theoretical though and only useful for quantum physics and math majors).</p></htmltext>
<tokenext>True not all fields require math , but just to answer the question .
Yes , choose what you like : If you want to do algorithms and language theory , you need discrete math , graph theory , etc.If you want to do graphics and signal processing , you need calculus ( also called math analysis ) , geometry and differential.If you want to do human computer interface , you do n't need math ( or a brain ) .If you want to kick ass , you need all the introductory math you put your hands on ( advanced university level math is too theoretical though and only useful for quantum physics and math majors ) .</tokentext>
<sentencetext>True not all fields require math, but just to answer the question.
Yes, choose what you like:If you want to do algorithms and language theory, you need discrete math, graph theory, etc.If you want to do graphics and signal processing, you need calculus (also called math analysis), geometry and differential.If you want to do human computer interface, you don't need math (or a brain).If you want to kick ass, you need all the introductory math you put your hands on (advanced university level math is too theoretical though and only useful for quantum physics and math majors).</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669840</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30682032</id>
	<title>Math vs Programming</title>
	<author>BlueFigToast</author>
	<datestamp>1262877960000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>I am horrid at math.  Math skills are far less important, then the ability to think logically and problem solving.

I have been a programmer for over 4 decades now - working on a variety of operating systems from Mainframes to Micros.

Did COBOL, Fortran, PL/I etc.

<a href="http://www.pkill-9.com/" title="pkill-9.com" rel="nofollow">http://www.pkill-9.com/</a> [pkill-9.com]

Wayno</htmltext>
<tokenext>I am horrid at math .
Math skills are far less important , then the ability to think logically and problem solving .
I have been a programmer for over 4 decades now - working on a variety of operating systems from Mainframes to Micros .
Did COBOL , Fortran , PL/I etc .
http : //www.pkill-9.com/ [ pkill-9.com ] Wayno</tokentext>
<sentencetext>I am horrid at math.
Math skills are far less important, then the ability to think logically and problem solving.
I have been a programmer for over 4 decades now - working on a variety of operating systems from Mainframes to Micros.
Did COBOL, Fortran, PL/I etc.
http://www.pkill-9.com/ [pkill-9.com]

Wayno</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670570</id>
	<title>A No-Brainer</title>
	<author>irexe</author>
	<datestamp>1262797500000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>
Pick the Discrete Math course. Really.
</p><p>
Consider this: first of all. there is plenty of software engineering to be done that doesn't require mathematics at all (web development, administrative systems, etc.). Second, for the jobs that require math from your second category (i.e., calculus and linear algebra), you almost always require the first category as well, lest you want to become one of those scientists who write unmaintainable scientist-code<nobr> <wbr></nobr>:-) Third, the jobs where that category of math is required are rare (game development: linear algebra, signal processing: linear algebra, calculus and function theory), and if you don't like math, you should probably not try get into those fields at all.
</p><p>
Background: I have an MSc in Computer Science (we don't have a major/minor system in The Netherlands) and I've always had a strong interest in mathematics, so I'm not afraid of either topic. I currently develop software for scientific applications in various application areas, where both these fields of mathematics are very important. My job is relatively rare compared to what most of my former uni-mates are doing. Most people I know have jobs which require algorithmic knowledge, but not calculus or linear algebra.
</p></htmltext>
<tokenext>Pick the Discrete Math course .
Really . Consider this : first of all .
there is plenty of software engineering to be done that does n't require mathematics at all ( web development , administrative systems , etc. ) .
Second , for the jobs that require math from your second category ( i.e. , calculus and linear algebra ) , you almost always require the first category as well , lest you want to become one of those scientists who write unmaintainable scientist-code : - ) Third , the jobs where that category of math is required are rare ( game development : linear algebra , signal processing : linear algebra , calculus and function theory ) , and if you do n't like math , you should probably not try get into those fields at all .
Background : I have an MSc in Computer Science ( we do n't have a major/minor system in The Netherlands ) and I 've always had a strong interest in mathematics , so I 'm not afraid of either topic .
I currently develop software for scientific applications in various application areas , where both these fields of mathematics are very important .
My job is relatively rare compared to what most of my former uni-mates are doing .
Most people I know have jobs which require algorithmic knowledge , but not calculus or linear algebra .</tokentext>
<sentencetext>
Pick the Discrete Math course.
Really.

Consider this: first of all.
there is plenty of software engineering to be done that doesn't require mathematics at all (web development, administrative systems, etc.).
Second, for the jobs that require math from your second category (i.e., calculus and linear algebra), you almost always require the first category as well, lest you want to become one of those scientists who write unmaintainable scientist-code :-) Third, the jobs where that category of math is required are rare (game development: linear algebra, signal processing: linear algebra, calculus and function theory), and if you don't like math, you should probably not try get into those fields at all.
Background: I have an MSc in Computer Science (we don't have a major/minor system in The Netherlands) and I've always had a strong interest in mathematics, so I'm not afraid of either topic.
I currently develop software for scientific applications in various application areas, where both these fields of mathematics are very important.
My job is relatively rare compared to what most of my former uni-mates are doing.
Most people I know have jobs which require algorithmic knowledge, but not calculus or linear algebra.
</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670114</id>
	<title>Re:The Second, If Not Both</title>
	<author>erikscott</author>
	<datestamp>1262795880000</datestamp>
	<modclass>Informativ</modclass>
	<modscore>2</modscore>
	<htmltext>A couple of thoughts -
<p>
The former will be really useful if you decide to work on database-related things.  Not just "using SQL to get my work done" but actually crafting the internals of a database.  Similarly useful for compilers - both of them have optimizers, and that's just one big graph traversal.  Too big to do in a useful amount of time, so all kinds of heuristics are used for graph pruning.  Go for it.
</p><p>
The latter is a good foundation for numerical analysis, a field occupied by a lot of engineers and fairly few CS type people.  It's a nice differentiator (pardon the absurdly weak pun).  You'd much, much rather try to find simulation work than, say, writing yet another inventory management application these days.
</p></htmltext>
<tokenext>A couple of thoughts - The former will be really useful if you decide to work on database-related things .
Not just " using SQL to get my work done " but actually crafting the internals of a database .
Similarly useful for compilers - both of them have optimizers , and that 's just one big graph traversal .
Too big to do in a useful amount of time , so all kinds of heuristics are used for graph pruning .
Go for it .
The latter is a good foundation for numerical analysis , a field occupied by a lot of engineers and fairly few CS type people .
It 's a nice differentiator ( pardon the absurdly weak pun ) .
You 'd much , much rather try to find simulation work than , say , writing yet another inventory management application these days .</tokentext>
<sentencetext>A couple of thoughts -

The former will be really useful if you decide to work on database-related things.
Not just "using SQL to get my work done" but actually crafting the internals of a database.
Similarly useful for compilers - both of them have optimizers, and that's just one big graph traversal.
Too big to do in a useful amount of time, so all kinds of heuristics are used for graph pruning.
Go for it.
The latter is a good foundation for numerical analysis, a field occupied by a lot of engineers and fairly few CS type people.
It's a nice differentiator (pardon the absurdly weak pun).
You'd much, much rather try to find simulation work than, say, writing yet another inventory management application these days.
</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670038</id>
	<title>Take the First</title>
	<author>Anonymous</author>
	<datestamp>1262795640000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>The first set of topics will give you a solid foundation that you can apply to many areas of programming.  I think Discreet Math, sets, algorithms, and graph theory can be used in a wide variety of fields to solve many types of problems.</p><p>The second set of topics will help you in some very specific programming tasks related primarily to games, AI, and graphics programming, which comprise a small fraction of total programming jobs.  Also, you don't typically need to be intimately familiar with vectors and euclidean spaces, beyond what a simple google search will tell you about them, in order to use them effectively.</p></htmltext>
<tokenext>The first set of topics will give you a solid foundation that you can apply to many areas of programming .
I think Discreet Math , sets , algorithms , and graph theory can be used in a wide variety of fields to solve many types of problems.The second set of topics will help you in some very specific programming tasks related primarily to games , AI , and graphics programming , which comprise a small fraction of total programming jobs .
Also , you do n't typically need to be intimately familiar with vectors and euclidean spaces , beyond what a simple google search will tell you about them , in order to use them effectively .</tokentext>
<sentencetext>The first set of topics will give you a solid foundation that you can apply to many areas of programming.
I think Discreet Math, sets, algorithms, and graph theory can be used in a wide variety of fields to solve many types of problems.The second set of topics will help you in some very specific programming tasks related primarily to games, AI, and graphics programming, which comprise a small fraction of total programming jobs.
Also, you don't typically need to be intimately familiar with vectors and euclidean spaces, beyond what a simple google search will tell you about them, in order to use them effectively.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670956</id>
	<title>What's the rest of your curriculum?</title>
	<author>qcontinuum</author>
	<datestamp>1262798940000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>It really depends on what the rest of your curriculum looks like.  If you're in a Computer Science program it is likely that you already have a required Algorithms course, usually with some sort of discrete math prerequisite.  In that class you'll have the most important math concepts for computer science hammered into your brain.  In that case, I'd take the vectors course because it covers math which, while very useful for a large number of fields, usually doesn't get covered in a CS curriculum.<br>If, on the other hand, you're in some other discipline and are looking to improve your programming skills either for work or for your own enlightenment, take the discrete course.  It'll do a much better job at improving your programming skills, and will expose you to some very interesting parts of math that most primary- and secondary- school curricula ignore.</p></htmltext>
<tokenext>It really depends on what the rest of your curriculum looks like .
If you 're in a Computer Science program it is likely that you already have a required Algorithms course , usually with some sort of discrete math prerequisite .
In that class you 'll have the most important math concepts for computer science hammered into your brain .
In that case , I 'd take the vectors course because it covers math which , while very useful for a large number of fields , usually does n't get covered in a CS curriculum.If , on the other hand , you 're in some other discipline and are looking to improve your programming skills either for work or for your own enlightenment , take the discrete course .
It 'll do a much better job at improving your programming skills , and will expose you to some very interesting parts of math that most primary- and secondary- school curricula ignore .</tokentext>
<sentencetext>It really depends on what the rest of your curriculum looks like.
If you're in a Computer Science program it is likely that you already have a required Algorithms course, usually with some sort of discrete math prerequisite.
In that class you'll have the most important math concepts for computer science hammered into your brain.
In that case, I'd take the vectors course because it covers math which, while very useful for a large number of fields, usually doesn't get covered in a CS curriculum.If, on the other hand, you're in some other discipline and are looking to improve your programming skills either for work or for your own enlightenment, take the discrete course.
It'll do a much better job at improving your programming skills, and will expose you to some very interesting parts of math that most primary- and secondary- school curricula ignore.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670368</id>
	<title>LOGIC is needed. not mathematics per se.</title>
	<author>Anonymous</author>
	<datestamp>1262796840000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>programming is about logic. causes and effects. about interactions in between created, derived logic sets.</p><p>mathematics is a much more bigger procedural set which bases all its procedures and operations and practices on the framework of logic. its, therefore, a derived set.</p><p>what you need to know good is logic. if you are able to utilize logic good, you will be able to do good programming. being a mathematician would help only because you would sharpen your logic skills while working on mathematical problems. if you already have a good logic skill, or you have other ways to develop your logic skills, you dont need to take on mathematics.</p><p>after all, the basis of all thought is logic. the keenness about understanding base interactions and cause effect relationships in between concepts. anything else is derived.</p></htmltext>
<tokenext>programming is about logic .
causes and effects .
about interactions in between created , derived logic sets.mathematics is a much more bigger procedural set which bases all its procedures and operations and practices on the framework of logic .
its , therefore , a derived set.what you need to know good is logic .
if you are able to utilize logic good , you will be able to do good programming .
being a mathematician would help only because you would sharpen your logic skills while working on mathematical problems .
if you already have a good logic skill , or you have other ways to develop your logic skills , you dont need to take on mathematics.after all , the basis of all thought is logic .
the keenness about understanding base interactions and cause effect relationships in between concepts .
anything else is derived .</tokentext>
<sentencetext>programming is about logic.
causes and effects.
about interactions in between created, derived logic sets.mathematics is a much more bigger procedural set which bases all its procedures and operations and practices on the framework of logic.
its, therefore, a derived set.what you need to know good is logic.
if you are able to utilize logic good, you will be able to do good programming.
being a mathematician would help only because you would sharpen your logic skills while working on mathematical problems.
if you already have a good logic skill, or you have other ways to develop your logic skills, you dont need to take on mathematics.after all, the basis of all thought is logic.
the keenness about understanding base interactions and cause effect relationships in between concepts.
anything else is derived.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670094</id>
	<title>Neither</title>
	<author>biggerboy</author>
	<datestamp>1262795820000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Take other classes, like Econ 101. Get a broad education, and with real life applicability.</p><p>Plus the chicks are hotter.</p></htmltext>
<tokenext>Take other classes , like Econ 101 .
Get a broad education , and with real life applicability.Plus the chicks are hotter .</tokentext>
<sentencetext>Take other classes, like Econ 101.
Get a broad education, and with real life applicability.Plus the chicks are hotter.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671332</id>
	<title>Math, Smath.</title>
	<author>DarthVain</author>
	<datestamp>1262800380000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>I got a CS degree, and I was required to take a whole bunch of math courses. Which I think is bunk. I mostly work with information systems as a disclaimer, but other than your usually high school math, the only stuff I use even remotely regularly is perhaps 1st and 2nd year statistics (which by the way is boring as hell, with possibly the exception of probability as you can use it for gambling). The rest of it, I mean it is somewhat useful as back ground material, but I doubt I have ever used Calc or Linear Algebra for anything. I took Binary Algebra also, and while interesting, it was more computer science than it was math. Most the math that I took I would say has been useless to me, and I could have better benefited from additional CS courses or perhaps the ability to take additional electives to generalize a bit more.</p><p>CS unless you are doing it for academia, or a really hardcore field, really depends on what you are doing with it. If I hiring someone to write code for a physics program, having some advanced math might be useful, however having a more advanced understanding of Physics would likely be even more useful. Heck having a Philosophy course on logic might help some people more. Anyway I think all the math requirements they have for CS are a bit much in most cases. I know I feel I could have saved myself a lot of work in university (math and I were not friends) and directed it elsewhere more useful.</p></htmltext>
<tokenext>I got a CS degree , and I was required to take a whole bunch of math courses .
Which I think is bunk .
I mostly work with information systems as a disclaimer , but other than your usually high school math , the only stuff I use even remotely regularly is perhaps 1st and 2nd year statistics ( which by the way is boring as hell , with possibly the exception of probability as you can use it for gambling ) .
The rest of it , I mean it is somewhat useful as back ground material , but I doubt I have ever used Calc or Linear Algebra for anything .
I took Binary Algebra also , and while interesting , it was more computer science than it was math .
Most the math that I took I would say has been useless to me , and I could have better benefited from additional CS courses or perhaps the ability to take additional electives to generalize a bit more.CS unless you are doing it for academia , or a really hardcore field , really depends on what you are doing with it .
If I hiring someone to write code for a physics program , having some advanced math might be useful , however having a more advanced understanding of Physics would likely be even more useful .
Heck having a Philosophy course on logic might help some people more .
Anyway I think all the math requirements they have for CS are a bit much in most cases .
I know I feel I could have saved myself a lot of work in university ( math and I were not friends ) and directed it elsewhere more useful .</tokentext>
<sentencetext>I got a CS degree, and I was required to take a whole bunch of math courses.
Which I think is bunk.
I mostly work with information systems as a disclaimer, but other than your usually high school math, the only stuff I use even remotely regularly is perhaps 1st and 2nd year statistics (which by the way is boring as hell, with possibly the exception of probability as you can use it for gambling).
The rest of it, I mean it is somewhat useful as back ground material, but I doubt I have ever used Calc or Linear Algebra for anything.
I took Binary Algebra also, and while interesting, it was more computer science than it was math.
Most the math that I took I would say has been useless to me, and I could have better benefited from additional CS courses or perhaps the ability to take additional electives to generalize a bit more.CS unless you are doing it for academia, or a really hardcore field, really depends on what you are doing with it.
If I hiring someone to write code for a physics program, having some advanced math might be useful, however having a more advanced understanding of Physics would likely be even more useful.
Heck having a Philosophy course on logic might help some people more.
Anyway I think all the math requirements they have for CS are a bit much in most cases.
I know I feel I could have saved myself a lot of work in university (math and I were not friends) and directed it elsewhere more useful.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674900</id>
	<title>Based on a Wide Variety of Experience...</title>
	<author>taoboy</author>
	<datestamp>1262772540000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>...in both developing and teaching, here's my take:</p><p>Computing:<br>
&nbsp; &nbsp; - Some kind of hardware (microprocessor, etc) course</p><p>Computational Math:<br>
&nbsp; &nbsp; - Discrete Math: Logic, Sets, Relations<br>
&nbsp; &nbsp; - Algorithms and Complexity</p><p>Application Math:<br>
&nbsp; &nbsp; - The Calculus<br>
&nbsp; &nbsp; - Statistics<br>
&nbsp; &nbsp; - Geometry &amp; Trigonometry<br>
&nbsp; &nbsp; - etc... (depending on the industry to which you're attracted)</p><p>I really believe that the computational math is strongly supported by an understanding of the practical implementation of stored program computers.  This helps both your programming and debugging/troubleshooting, in that you understand the impact of your little creation on the hardware.</p><p>Application math is application-dependent, ha-ha.  I went for a long time both as a developer and teacher before I encountered advanced statistics or differential calculus; there are more folks out there doing this in aerospace than you might think.</p><p>I think the distinction between computational and application math helps to compartmentalize your consideration...</p></htmltext>
<tokenext>...in both developing and teaching , here 's my take : Computing :     - Some kind of hardware ( microprocessor , etc ) courseComputational Math :     - Discrete Math : Logic , Sets , Relations     - Algorithms and ComplexityApplication Math :     - The Calculus     - Statistics     - Geometry &amp; Trigonometry     - etc... ( depending on the industry to which you 're attracted ) I really believe that the computational math is strongly supported by an understanding of the practical implementation of stored program computers .
This helps both your programming and debugging/troubleshooting , in that you understand the impact of your little creation on the hardware.Application math is application-dependent , ha-ha .
I went for a long time both as a developer and teacher before I encountered advanced statistics or differential calculus ; there are more folks out there doing this in aerospace than you might think.I think the distinction between computational and application math helps to compartmentalize your consideration.. .</tokentext>
<sentencetext>...in both developing and teaching, here's my take:Computing:
    - Some kind of hardware (microprocessor, etc) courseComputational Math:
    - Discrete Math: Logic, Sets, Relations
    - Algorithms and ComplexityApplication Math:
    - The Calculus
    - Statistics
    - Geometry &amp; Trigonometry
    - etc... (depending on the industry to which you're attracted)I really believe that the computational math is strongly supported by an understanding of the practical implementation of stored program computers.
This helps both your programming and debugging/troubleshooting, in that you understand the impact of your little creation on the hardware.Application math is application-dependent, ha-ha.
I went for a long time both as a developer and teacher before I encountered advanced statistics or differential calculus; there are more folks out there doing this in aerospace than you might think.I think the distinction between computational and application math helps to compartmentalize your consideration...</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670694</id>
	<title>Discreet structures with graph theory</title>
	<author>Anonymous</author>
	<datestamp>1262797920000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Discreet structures with graph theory.  It is less mathey.  I hated Trig and Calc but I rember enjoying Discreet Structures because I just got it.  It was pretty easy to get through and what math I learned helped me in the 400 level courses way more than Trig or Calc (the real mathey class)</p><p>Mathey (pronounces "math-e" )<br>def. A course that requires more addition, subtraction, multiplication, and divison and less math theory.<br>usage. Algebra is more mathey than Geometery because my Algebra problems take half a page to find for X and in Geometry I get to draw circles and triangles.</p><p>Hope this helps</p></htmltext>
<tokenext>Discreet structures with graph theory .
It is less mathey .
I hated Trig and Calc but I rember enjoying Discreet Structures because I just got it .
It was pretty easy to get through and what math I learned helped me in the 400 level courses way more than Trig or Calc ( the real mathey class ) Mathey ( pronounces " math-e " ) def .
A course that requires more addition , subtraction , multiplication , and divison and less math theory.usage .
Algebra is more mathey than Geometery because my Algebra problems take half a page to find for X and in Geometry I get to draw circles and triangles.Hope this helps</tokentext>
<sentencetext>Discreet structures with graph theory.
It is less mathey.
I hated Trig and Calc but I rember enjoying Discreet Structures because I just got it.
It was pretty easy to get through and what math I learned helped me in the 400 level courses way more than Trig or Calc (the real mathey class)Mathey (pronounces "math-e" )def.
A course that requires more addition, subtraction, multiplication, and divison and less math theory.usage.
Algebra is more mathey than Geometery because my Algebra problems take half a page to find for X and in Geometry I get to draw circles and triangles.Hope this helps</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30678590</id>
	<title>Somebody is selling you a math course</title>
	<author>Anonymous</author>
	<datestamp>1262795040000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext>I suspect the grad student is trying to sell you on the course. You can get by on high-school algebra, and almost any kind of math beyond that will help, because its the kind of math you will learn to program. Algorithmic courses are always good, but geometric and trig courses are good for graphics. So, in which direction do you want to go?</htmltext>
<tokenext>I suspect the grad student is trying to sell you on the course .
You can get by on high-school algebra , and almost any kind of math beyond that will help , because its the kind of math you will learn to program .
Algorithmic courses are always good , but geometric and trig courses are good for graphics .
So , in which direction do you want to go ?</tokentext>
<sentencetext>I suspect the grad student is trying to sell you on the course.
You can get by on high-school algebra, and almost any kind of math beyond that will help, because its the kind of math you will learn to program.
Algorithmic courses are always good, but geometric and trig courses are good for graphics.
So, in which direction do you want to go?</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669966</id>
	<title>If you select the non-euclidian option</title>
	<author>Anonymous</author>
	<datestamp>1262795460000</datestamp>
	<modclass>Funny</modclass>
	<modscore>2</modscore>
	<htmltext><p>Don't rent the attic room in that really old house. No matter how cheap it is.</p></htmltext>
<tokenext>Do n't rent the attic room in that really old house .
No matter how cheap it is .</tokentext>
<sentencetext>Don't rent the attic room in that really old house.
No matter how cheap it is.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670432</id>
	<title>Take BOTH courses, in the order you listed them.</title>
	<author>Slipped\_Disk</author>
	<datestamp>1262797140000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>2</modscore>
	<htmltext>You should probably take both of these courses: requirements aside, both are important for a truly solid CS education.<br>
<br>
Take Discrete Structures first, especially since it has graph theory rolled into it.  This will be more directly applicable to your CS coursework as discrete math and graph theory pop up EVERYWHERE, and when you get out into the real world you'll benefit from a solid understanding of these concepts.<br>
Math Analysis will be useful too, as will the linear algebra components that seem to be buried in that class somewhere.<br>
<br>
As others have said, make sure you get a good professor.  Sit in on a lecture if they'll let you.  A dull, droning, Ben Stein type teaching either of those courses will cure your insomnia, but your GPA will suffer.<br>
<br>
Final word of wisdom: Do not take the advice of a random (non-CS) teaching assistant, "general" academic advisor, or (ESPECIALLY) Slashdot.  They're idiots (even me).  Talk to other students, professors in your department or your major advisor for course order recommendations.</htmltext>
<tokenext>You should probably take both of these courses : requirements aside , both are important for a truly solid CS education .
Take Discrete Structures first , especially since it has graph theory rolled into it .
This will be more directly applicable to your CS coursework as discrete math and graph theory pop up EVERYWHERE , and when you get out into the real world you 'll benefit from a solid understanding of these concepts .
Math Analysis will be useful too , as will the linear algebra components that seem to be buried in that class somewhere .
As others have said , make sure you get a good professor .
Sit in on a lecture if they 'll let you .
A dull , droning , Ben Stein type teaching either of those courses will cure your insomnia , but your GPA will suffer .
Final word of wisdom : Do not take the advice of a random ( non-CS ) teaching assistant , " general " academic advisor , or ( ESPECIALLY ) Slashdot .
They 're idiots ( even me ) .
Talk to other students , professors in your department or your major advisor for course order recommendations .</tokentext>
<sentencetext>You should probably take both of these courses: requirements aside, both are important for a truly solid CS education.
Take Discrete Structures first, especially since it has graph theory rolled into it.
This will be more directly applicable to your CS coursework as discrete math and graph theory pop up EVERYWHERE, and when you get out into the real world you'll benefit from a solid understanding of these concepts.
Math Analysis will be useful too, as will the linear algebra components that seem to be buried in that class somewhere.
As others have said, make sure you get a good professor.
Sit in on a lecture if they'll let you.
A dull, droning, Ben Stein type teaching either of those courses will cure your insomnia, but your GPA will suffer.
Final word of wisdom: Do not take the advice of a random (non-CS) teaching assistant, "general" academic advisor, or (ESPECIALLY) Slashdot.
They're idiots (even me).
Talk to other students, professors in your department or your major advisor for course order recommendations.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670378</id>
	<title>Useful Math</title>
	<author>orclevegam</author>
	<datestamp>1262796900000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>The problem with the relationship between math and programming is that math is of absolutely no use to a programmer, except when it is. That's a rather obtuse way of saying that all the math in the world won't make you a better programmer if you don't already have the foundations of programming, but if you've already mastered most facets of programming knowing more math will help you. Depending on exactly what you're doing, and with what languages you're doing it, you'll get more or less use out of different math fields and theories, but exactly what you'll find useful is going to vary wildly from project to project and language to language. Of course your basics like algebra will never steer you wrong, and to a lesser extent calculus can be useful. Beyond that a light sprinkling of statistics, basic boolean logic theory, and the odd bits and pieces from set theory are all you'll really need unless you're using something specific for the project at hand in which case you'll probably need to brush up on whatever it is anyway. Since your in school now you might as well expose yourself to as wide a range of maths as possible in case something should happen to prove useful down the line, but I wouldn't be too terribly worried about it if you struggle with anything specific as you probably won't need it anyway, and if you do you can worry about it then. The most important thing to take away from it all is a basic understanding of what's out there available to you so you know what to go looking for in the future.</htmltext>
<tokenext>The problem with the relationship between math and programming is that math is of absolutely no use to a programmer , except when it is .
That 's a rather obtuse way of saying that all the math in the world wo n't make you a better programmer if you do n't already have the foundations of programming , but if you 've already mastered most facets of programming knowing more math will help you .
Depending on exactly what you 're doing , and with what languages you 're doing it , you 'll get more or less use out of different math fields and theories , but exactly what you 'll find useful is going to vary wildly from project to project and language to language .
Of course your basics like algebra will never steer you wrong , and to a lesser extent calculus can be useful .
Beyond that a light sprinkling of statistics , basic boolean logic theory , and the odd bits and pieces from set theory are all you 'll really need unless you 're using something specific for the project at hand in which case you 'll probably need to brush up on whatever it is anyway .
Since your in school now you might as well expose yourself to as wide a range of maths as possible in case something should happen to prove useful down the line , but I would n't be too terribly worried about it if you struggle with anything specific as you probably wo n't need it anyway , and if you do you can worry about it then .
The most important thing to take away from it all is a basic understanding of what 's out there available to you so you know what to go looking for in the future .</tokentext>
<sentencetext>The problem with the relationship between math and programming is that math is of absolutely no use to a programmer, except when it is.
That's a rather obtuse way of saying that all the math in the world won't make you a better programmer if you don't already have the foundations of programming, but if you've already mastered most facets of programming knowing more math will help you.
Depending on exactly what you're doing, and with what languages you're doing it, you'll get more or less use out of different math fields and theories, but exactly what you'll find useful is going to vary wildly from project to project and language to language.
Of course your basics like algebra will never steer you wrong, and to a lesser extent calculus can be useful.
Beyond that a light sprinkling of statistics, basic boolean logic theory, and the odd bits and pieces from set theory are all you'll really need unless you're using something specific for the project at hand in which case you'll probably need to brush up on whatever it is anyway.
Since your in school now you might as well expose yourself to as wide a range of maths as possible in case something should happen to prove useful down the line, but I wouldn't be too terribly worried about it if you struggle with anything specific as you probably won't need it anyway, and if you do you can worry about it then.
The most important thing to take away from it all is a basic understanding of what's out there available to you so you know what to go looking for in the future.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670180</id>
	<title>It's all about algorithms</title>
	<author>Tharsis</author>
	<datestamp>1262796180000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>2</modscore>
	<htmltext><p>Programming is about algorithms. Proving them, or better yet, deriving them (you may find deriving is a lot easier than proving, I did). Graphs may come into play, but that depends on your particular interest, they do give a great insight into complexity though. Knowledge of sets is extremely useful.<br>To me the first looks absolutely essential for a computer scientist. The second is nice if your interest lies in that direction, but it doesn't have anything to do with programming in general (it does seem essential for a mathematician though).</p><p>My advice: Learn Logic rather than math. It is far more useful.</p></htmltext>
<tokenext>Programming is about algorithms .
Proving them , or better yet , deriving them ( you may find deriving is a lot easier than proving , I did ) .
Graphs may come into play , but that depends on your particular interest , they do give a great insight into complexity though .
Knowledge of sets is extremely useful.To me the first looks absolutely essential for a computer scientist .
The second is nice if your interest lies in that direction , but it does n't have anything to do with programming in general ( it does seem essential for a mathematician though ) .My advice : Learn Logic rather than math .
It is far more useful .</tokentext>
<sentencetext>Programming is about algorithms.
Proving them, or better yet, deriving them (you may find deriving is a lot easier than proving, I did).
Graphs may come into play, but that depends on your particular interest, they do give a great insight into complexity though.
Knowledge of sets is extremely useful.To me the first looks absolutely essential for a computer scientist.
The second is nice if your interest lies in that direction, but it doesn't have anything to do with programming in general (it does seem essential for a mathematician though).My advice: Learn Logic rather than math.
It is far more useful.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670818</id>
	<title>Take neither. Learn more OOAD.</title>
	<author>Anonymous</author>
	<datestamp>1262798340000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>I've worked in startups, small companies and am currently a principal eng for one of the top 3 largest software companies in the world. I've worked on, designed, coded business apps and tech platform apps. I've built apps that require linear and non-linear optimization, data mining, (mathy-things) but have no formal academic math training at all. From my perspective the deficit in engineering isn't math, it's analysis skills- being able to come up with a sound, maintainable, robust design from top to bottom. There are a number engineers under me who have graduate degrees from MIT, Stanford, etc who are math geniuses but seem completely unable to think in a way that takes advantage of what OO has to offer. Their code is a tight knot of a thousand lines of loops and conditional statements which demonstrate their genius but ultimately is brittle, un-extensible and inaccessible to most people.</p></htmltext>
<tokenext>I 've worked in startups , small companies and am currently a principal eng for one of the top 3 largest software companies in the world .
I 've worked on , designed , coded business apps and tech platform apps .
I 've built apps that require linear and non-linear optimization , data mining , ( mathy-things ) but have no formal academic math training at all .
From my perspective the deficit in engineering is n't math , it 's analysis skills- being able to come up with a sound , maintainable , robust design from top to bottom .
There are a number engineers under me who have graduate degrees from MIT , Stanford , etc who are math geniuses but seem completely unable to think in a way that takes advantage of what OO has to offer .
Their code is a tight knot of a thousand lines of loops and conditional statements which demonstrate their genius but ultimately is brittle , un-extensible and inaccessible to most people .</tokentext>
<sentencetext>I've worked in startups, small companies and am currently a principal eng for one of the top 3 largest software companies in the world.
I've worked on, designed, coded business apps and tech platform apps.
I've built apps that require linear and non-linear optimization, data mining, (mathy-things) but have no formal academic math training at all.
From my perspective the deficit in engineering isn't math, it's analysis skills- being able to come up with a sound, maintainable, robust design from top to bottom.
There are a number engineers under me who have graduate degrees from MIT, Stanford, etc who are math geniuses but seem completely unable to think in a way that takes advantage of what OO has to offer.
Their code is a tight knot of a thousand lines of loops and conditional statements which demonstrate their genius but ultimately is brittle, un-extensible and inaccessible to most people.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30677322</id>
	<title>Re:Set Theory / Boolean Logic</title>
	<author>bill\_mcgonigle</author>
	<datestamp>1262785140000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><blockquote><div><p> <i>I constantly run into people screwing stuff up because they get lost in the logic of stuff like "if this is part of that group but not contained in this set".</i></p></div> </blockquote><p>BTDT.  Practice is probably important too.  I once needed to write a 'like google' search parser, and the first one wasn't at all right.  Then I stopped to think about it properly and it wasn't really all that hard.</p></div>
	</htmltext>
<tokenext>I constantly run into people screwing stuff up because they get lost in the logic of stuff like " if this is part of that group but not contained in this set " .
BTDT. Practice is probably important too .
I once needed to write a 'like google ' search parser , and the first one was n't at all right .
Then I stopped to think about it properly and it was n't really all that hard .</tokentext>
<sentencetext> I constantly run into people screwing stuff up because they get lost in the logic of stuff like "if this is part of that group but not contained in this set".
BTDT.  Practice is probably important too.
I once needed to write a 'like google' search parser, and the first one wasn't at all right.
Then I stopped to think about it properly and it wasn't really all that hard.
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669958</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30676952</id>
	<title>Re:take Discreet</title>
	<author>Anonymous</author>
	<datestamp>1262782620000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Be very quiet when you are doing the math.</p></htmltext>
<tokenext>Be very quiet when you are doing the math .</tokentext>
<sentencetext>Be very quiet when you are doing the math.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671498</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669976</id>
	<title>English first</title>
	<author>Anonymous</author>
	<datestamp>1262795520000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext>If I were you, based on your submission, I'd work on my English first.

All the math in the world won't make you a better programmer in the field if your written communication is that poor.</htmltext>
<tokenext>If I were you , based on your submission , I 'd work on my English first .
All the math in the world wo n't make you a better programmer in the field if your written communication is that poor .</tokentext>
<sentencetext>If I were you, based on your submission, I'd work on my English first.
All the math in the world won't make you a better programmer in the field if your written communication is that poor.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30673718</id>
	<title>Both skillsets are needed</title>
	<author>Roger W Moore</author>
	<datestamp>1262810340000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>4</modscore>
	<htmltext><p><div class="quote"><p>"...then hand over their work to skilled software engineers that are qualified to turn it into good software."</p></div><p>
As a physicist I only have to look at the code we use and write to see your initial point (try looking at ROOT from CERN for C++ that will make you want to cry!). However your solution simply does not work. You cannot "hand it over" to a non-expert in the area because the usage and purpose of the code is something that they do not understand and so the result will be unusable (there was one program I remember as a grad student which was a beautiful design but the overhead was so large that one senior physicist calculated that he would be retired before it had finished one pass through the data!). The best scientific code I have seen is generally written by an expert in the field who has experience of good software design. Even close collaboration between physicists and software engineers rarely works because neither side is willing to compromise functionality for design or vice versa.</p></div>
	</htmltext>
<tokenext>" ...then hand over their work to skilled software engineers that are qualified to turn it into good software .
" As a physicist I only have to look at the code we use and write to see your initial point ( try looking at ROOT from CERN for C + + that will make you want to cry ! ) .
However your solution simply does not work .
You can not " hand it over " to a non-expert in the area because the usage and purpose of the code is something that they do not understand and so the result will be unusable ( there was one program I remember as a grad student which was a beautiful design but the overhead was so large that one senior physicist calculated that he would be retired before it had finished one pass through the data ! ) .
The best scientific code I have seen is generally written by an expert in the field who has experience of good software design .
Even close collaboration between physicists and software engineers rarely works because neither side is willing to compromise functionality for design or vice versa .</tokentext>
<sentencetext>"...then hand over their work to skilled software engineers that are qualified to turn it into good software.
"
As a physicist I only have to look at the code we use and write to see your initial point (try looking at ROOT from CERN for C++ that will make you want to cry!).
However your solution simply does not work.
You cannot "hand it over" to a non-expert in the area because the usage and purpose of the code is something that they do not understand and so the result will be unusable (there was one program I remember as a grad student which was a beautiful design but the overhead was so large that one senior physicist calculated that he would be retired before it had finished one pass through the data!).
The best scientific code I have seen is generally written by an expert in the field who has experience of good software design.
Even close collaboration between physicists and software engineers rarely works because neither side is willing to compromise functionality for design or vice versa.
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671092</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672360</id>
	<title>Re:Physicists?</title>
	<author>yttrstein</author>
	<datestamp>1262804400000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>"but I think most of the great software engineers in the past were physicists and electrical engineers."  --- which is, like good computer science, simply applied mathematics.</htmltext>
<tokenext>" but I think most of the great software engineers in the past were physicists and electrical engineers .
" --- which is , like good computer science , simply applied mathematics .</tokentext>
<sentencetext>"but I think most of the great software engineers in the past were physicists and electrical engineers.
"  --- which is, like good computer science, simply applied mathematics.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669802</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671168</id>
	<title>Well, what do you think you want to program?</title>
	<author>Anonymous</author>
	<datestamp>1262799780000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>2</modscore>
	<htmltext><p>If you're writing GUI programs, implementing business logic, accessing databases, and doing many of the workaday tasks of the grunts of the technology world, you don't need much math.  Plenty of people have become very good professional developers with neither a degree in math or computer science.</p><p>However, mathy programming is (to some people) more fun, and if you angle yourself correctly, it's harder and a more rare skill set, so you can get more money.  Knowing math is also pretty important if you want to become a professor of computer science, which if you care more about vacation time and benefits than salary, is one of the sweetest gigs going.</p><p>Combinatorics, probability, linear algebra, and graph theory are probably the most applicable to the widest range of problems.  I'd put combinatorics at the top of the list, since it's going to be used to figure out the time and space complexity of any complicated data structure or algorithm.  If you want to do anything with peer to peer software or networking, then graph theory is more or less essential.  Linear algebra is all over any simulation of physics (games, control software for vehicles, pretty much anything with some sort of sensor or motor) as well as finance (there is mad money in financial computing, not as much as two years ago, but still a lot).  Probability is good for figuring out things like hash collisions, average performance of algorithms.</p><p>Number theory is used almost exclusively for crytography.  Which is an awesome thing to work with.  The NSA has a lot of good jobs if you're cool with that morally.</p><p>If it was 30 years ago and more programming jobs required the actual manipulation of 1s and 0s, then boolean algebra and discrete math would be at the top of the list.  They still do if you want to work with embedded systems, compilers, or anything under the umbrella of EE/CS.</p><p>Numerical computing (like if you wanted to build MATLAB) uses all sorts of math, and I'm sure there's someone somewhere simulating quantum physics who's up to their neck in Abstract Algebra (which is a fascinating subject if you've got the stomach for some tough proofs)</p><p>There's probably not much undergraduate math that ISN'T useful for writing code in some problem domain or another.</p><p>If you want a good book on the kind of very useful computer math that isn't taught to undergrads nearly enough, check out Hacker's Delight by Henry Warren.  It's a beautiful little book that will come in very handy if you ever need to write efficient C or assembly. And if you dig it then dive into the insanity mandala that is Donald Knuth's The Art of Computer Programming.</p></htmltext>
<tokenext>If you 're writing GUI programs , implementing business logic , accessing databases , and doing many of the workaday tasks of the grunts of the technology world , you do n't need much math .
Plenty of people have become very good professional developers with neither a degree in math or computer science.However , mathy programming is ( to some people ) more fun , and if you angle yourself correctly , it 's harder and a more rare skill set , so you can get more money .
Knowing math is also pretty important if you want to become a professor of computer science , which if you care more about vacation time and benefits than salary , is one of the sweetest gigs going.Combinatorics , probability , linear algebra , and graph theory are probably the most applicable to the widest range of problems .
I 'd put combinatorics at the top of the list , since it 's going to be used to figure out the time and space complexity of any complicated data structure or algorithm .
If you want to do anything with peer to peer software or networking , then graph theory is more or less essential .
Linear algebra is all over any simulation of physics ( games , control software for vehicles , pretty much anything with some sort of sensor or motor ) as well as finance ( there is mad money in financial computing , not as much as two years ago , but still a lot ) .
Probability is good for figuring out things like hash collisions , average performance of algorithms.Number theory is used almost exclusively for crytography .
Which is an awesome thing to work with .
The NSA has a lot of good jobs if you 're cool with that morally.If it was 30 years ago and more programming jobs required the actual manipulation of 1s and 0s , then boolean algebra and discrete math would be at the top of the list .
They still do if you want to work with embedded systems , compilers , or anything under the umbrella of EE/CS.Numerical computing ( like if you wanted to build MATLAB ) uses all sorts of math , and I 'm sure there 's someone somewhere simulating quantum physics who 's up to their neck in Abstract Algebra ( which is a fascinating subject if you 've got the stomach for some tough proofs ) There 's probably not much undergraduate math that IS N'T useful for writing code in some problem domain or another.If you want a good book on the kind of very useful computer math that is n't taught to undergrads nearly enough , check out Hacker 's Delight by Henry Warren .
It 's a beautiful little book that will come in very handy if you ever need to write efficient C or assembly .
And if you dig it then dive into the insanity mandala that is Donald Knuth 's The Art of Computer Programming .</tokentext>
<sentencetext>If you're writing GUI programs, implementing business logic, accessing databases, and doing many of the workaday tasks of the grunts of the technology world, you don't need much math.
Plenty of people have become very good professional developers with neither a degree in math or computer science.However, mathy programming is (to some people) more fun, and if you angle yourself correctly, it's harder and a more rare skill set, so you can get more money.
Knowing math is also pretty important if you want to become a professor of computer science, which if you care more about vacation time and benefits than salary, is one of the sweetest gigs going.Combinatorics, probability, linear algebra, and graph theory are probably the most applicable to the widest range of problems.
I'd put combinatorics at the top of the list, since it's going to be used to figure out the time and space complexity of any complicated data structure or algorithm.
If you want to do anything with peer to peer software or networking, then graph theory is more or less essential.
Linear algebra is all over any simulation of physics (games, control software for vehicles, pretty much anything with some sort of sensor or motor) as well as finance (there is mad money in financial computing, not as much as two years ago, but still a lot).
Probability is good for figuring out things like hash collisions, average performance of algorithms.Number theory is used almost exclusively for crytography.
Which is an awesome thing to work with.
The NSA has a lot of good jobs if you're cool with that morally.If it was 30 years ago and more programming jobs required the actual manipulation of 1s and 0s, then boolean algebra and discrete math would be at the top of the list.
They still do if you want to work with embedded systems, compilers, or anything under the umbrella of EE/CS.Numerical computing (like if you wanted to build MATLAB) uses all sorts of math, and I'm sure there's someone somewhere simulating quantum physics who's up to their neck in Abstract Algebra (which is a fascinating subject if you've got the stomach for some tough proofs)There's probably not much undergraduate math that ISN'T useful for writing code in some problem domain or another.If you want a good book on the kind of very useful computer math that isn't taught to undergrads nearly enough, check out Hacker's Delight by Henry Warren.
It's a beautiful little book that will come in very handy if you ever need to write efficient C or assembly.
And if you dig it then dive into the insanity mandala that is Donald Knuth's The Art of Computer Programming.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670546</id>
	<title>Re:The Second, If Not Both</title>
	<author>Anonymous</author>
	<datestamp>1262797500000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p><div class="quote"><p>Also, look for courses on classes that blur the lines between stats/math and computer science.  Like courses on error correcting codes or computer language design and theory.</p></div><p>Error correcting codes was the first time I actually felt challenged in college. It was frikken hard for me, and the sad part is that what I had trouble with was simple arithmetic (binary and modulo a polynomial). Never before had something as simple as adding and multiplying been so hard, and long division of two polynomials was just terrible for me (that god they were binary, so most terms canceled out, otherwise I would probably still be writing them out).</p></div>
	</htmltext>
<tokenext>Also , look for courses on classes that blur the lines between stats/math and computer science .
Like courses on error correcting codes or computer language design and theory.Error correcting codes was the first time I actually felt challenged in college .
It was frikken hard for me , and the sad part is that what I had trouble with was simple arithmetic ( binary and modulo a polynomial ) .
Never before had something as simple as adding and multiplying been so hard , and long division of two polynomials was just terrible for me ( that god they were binary , so most terms canceled out , otherwise I would probably still be writing them out ) .</tokentext>
<sentencetext>Also, look for courses on classes that blur the lines between stats/math and computer science.
Like courses on error correcting codes or computer language design and theory.Error correcting codes was the first time I actually felt challenged in college.
It was frikken hard for me, and the sad part is that what I had trouble with was simple arithmetic (binary and modulo a polynomial).
Never before had something as simple as adding and multiplying been so hard, and long division of two polynomials was just terrible for me (that god they were binary, so most terms canceled out, otherwise I would probably still be writing them out).
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670190</id>
	<title>Linear Algebra</title>
	<author>Anonymous</author>
	<datestamp>1262796180000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>
Linear algebra is how every single difficult problem is ultimately solved on a computer.
</p><p>
Ordinary Differential Equations (ODEs), Partial Differential Equations (PDEs), Vector graphics manipulations, etc. are always reduced to a system of linear equations to produce an approximate solution.
</p><p>
Learn linear algebra first, how to program its solutions, then move on from there.
</p></htmltext>
<tokenext>Linear algebra is how every single difficult problem is ultimately solved on a computer .
Ordinary Differential Equations ( ODEs ) , Partial Differential Equations ( PDEs ) , Vector graphics manipulations , etc .
are always reduced to a system of linear equations to produce an approximate solution .
Learn linear algebra first , how to program its solutions , then move on from there .</tokentext>
<sentencetext>
Linear algebra is how every single difficult problem is ultimately solved on a computer.
Ordinary Differential Equations (ODEs), Partial Differential Equations (PDEs), Vector graphics manipulations, etc.
are always reduced to a system of linear equations to produce an approximate solution.
Learn linear algebra first, how to program its solutions, then move on from there.
</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671052</id>
	<title>It's changed. Get more number-crunching.</title>
	<author>Animats</author>
	<datestamp>1262799300000</datestamp>
	<modclass>Interestin</modclass>
	<modscore>2</modscore>
	<htmltext><p>
I have a MSCS from Stanford (1985), and the field has changed since then. Back then, it was all about discrite math - number theory, combinatorics, mathematical logic, computability, and proofs.  There was no number-crunching at all in the curriculum. Of course, back then, an FPU was an extra-cost option on a PC.  I've actually done <a href="http://www.animats.com/papers/verifier/verifiermanual.pdf" title="animats.com">automated program verification work.</a> [animats.com] But outside of IC design (where formal methods are routinely used), there's not much of that going on now.  Now, number-crunching has come to the fore.
</p><p>
In the 1990s, I spent several years on what turned into ragdoll physics for games.  That's all about differential equations and number-crunching.  I had a hard time switching over.  But I finally got used to deterministic number-crunching.  I have no mathematical intuition for it, though; I took it up too late in life.
</p><p>
Now, the leading edge of computer science is probabilistic number-crunching.  Take a look at Stanford's <a href="http://cs229.stanford.edu/" title="stanford.edu">CS229 - Machine Learning</a> [stanford.edu] class.  That's the technology that's driving AI now, and it's working across a broad range of domains. The logicians are out, and the statisticians are in.</p></htmltext>
<tokenext>I have a MSCS from Stanford ( 1985 ) , and the field has changed since then .
Back then , it was all about discrite math - number theory , combinatorics , mathematical logic , computability , and proofs .
There was no number-crunching at all in the curriculum .
Of course , back then , an FPU was an extra-cost option on a PC .
I 've actually done automated program verification work .
[ animats.com ] But outside of IC design ( where formal methods are routinely used ) , there 's not much of that going on now .
Now , number-crunching has come to the fore .
In the 1990s , I spent several years on what turned into ragdoll physics for games .
That 's all about differential equations and number-crunching .
I had a hard time switching over .
But I finally got used to deterministic number-crunching .
I have no mathematical intuition for it , though ; I took it up too late in life .
Now , the leading edge of computer science is probabilistic number-crunching .
Take a look at Stanford 's CS229 - Machine Learning [ stanford.edu ] class .
That 's the technology that 's driving AI now , and it 's working across a broad range of domains .
The logicians are out , and the statisticians are in .</tokentext>
<sentencetext>
I have a MSCS from Stanford (1985), and the field has changed since then.
Back then, it was all about discrite math - number theory, combinatorics, mathematical logic, computability, and proofs.
There was no number-crunching at all in the curriculum.
Of course, back then, an FPU was an extra-cost option on a PC.
I've actually done automated program verification work.
[animats.com] But outside of IC design (where formal methods are routinely used), there's not much of that going on now.
Now, number-crunching has come to the fore.
In the 1990s, I spent several years on what turned into ragdoll physics for games.
That's all about differential equations and number-crunching.
I had a hard time switching over.
But I finally got used to deterministic number-crunching.
I have no mathematical intuition for it, though; I took it up too late in life.
Now, the leading edge of computer science is probabilistic number-crunching.
Take a look at Stanford's CS229 - Machine Learning [stanford.edu] class.
That's the technology that's driving AI now, and it's working across a broad range of domains.
The logicians are out, and the statisticians are in.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30677346</id>
	<title>Both?</title>
	<author>Anonymous</author>
	<datestamp>1262785260000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>In my CSE program, we were required to take both.  Much lost sleep, but worth it.<br>Disclaimer: Math has always kicked my ass.</p></htmltext>
<tokenext>In my CSE program , we were required to take both .
Much lost sleep , but worth it.Disclaimer : Math has always kicked my ass .</tokentext>
<sentencetext>In my CSE program, we were required to take both.
Much lost sleep, but worth it.Disclaimer: Math has always kicked my ass.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30675210</id>
	<title>Anonymous Coward</title>
	<author>Anonymous</author>
	<datestamp>1262773920000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Definitely, Discrete math... that is what you would be using a lot as a programmer. specially database, web, network etc</p><p>differentials and all that are more for engineers and researchers. Or if you get into 3d modeling and those kind of thigs.</p></htmltext>
<tokenext>Definitely , Discrete math... that is what you would be using a lot as a programmer .
specially database , web , network etcdifferentials and all that are more for engineers and researchers .
Or if you get into 3d modeling and those kind of thigs .</tokentext>
<sentencetext>Definitely, Discrete math... that is what you would be using a lot as a programmer.
specially database, web, network etcdifferentials and all that are more for engineers and researchers.
Or if you get into 3d modeling and those kind of thigs.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670158</id>
	<title>Discrete math</title>
	<author>Dennis Sheil</author>
	<datestamp>1262796060000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>For my Computer Science degree, both of those courses were required.<p>If you are only going to take one, I would recommend discrete math.  It is more programmer oriented - algorithms, solving problems with discrete math, doing proofs for equations and so on.  This is the stuff that comes up in programming again and again and again.
</p><p>
As far as the other math subject you mention, differential calculus and so on, that also comes up in programming, and it is good thing to know it.
</p><p>
But if one or the other, discrete mathematics is more important to understand in order to do programming.</p></htmltext>
<tokenext>For my Computer Science degree , both of those courses were required.If you are only going to take one , I would recommend discrete math .
It is more programmer oriented - algorithms , solving problems with discrete math , doing proofs for equations and so on .
This is the stuff that comes up in programming again and again and again .
As far as the other math subject you mention , differential calculus and so on , that also comes up in programming , and it is good thing to know it .
But if one or the other , discrete mathematics is more important to understand in order to do programming .</tokentext>
<sentencetext>For my Computer Science degree, both of those courses were required.If you are only going to take one, I would recommend discrete math.
It is more programmer oriented - algorithms, solving problems with discrete math, doing proofs for equations and so on.
This is the stuff that comes up in programming again and again and again.
As far as the other math subject you mention, differential calculus and so on, that also comes up in programming, and it is good thing to know it.
But if one or the other, discrete mathematics is more important to understand in order to do programming.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671946</id>
	<title>Re:Linear Algebra</title>
	<author>Anonymous</author>
	<datestamp>1262802840000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Or just use Matlab.</p></htmltext>
<tokenext>Or just use Matlab .</tokentext>
<sentencetext>Or just use Matlab.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670190</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30676330</id>
	<title>Abstractions</title>
	<author>Anonymous</author>
	<datestamp>1262779020000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Mathematics and software programming are most definitely intertwined and mathematics can definitely support your programming, I would not necessarily try to suggest one set of courses over another - rather there are benefits to either stream and it depends on the specific problems you end up tackling, so it might be best to go with the stream you enjoy the most. Better to have to work at something that might be hard, yet you enjoy, rather than something that is just hard.</p><p>With the touchy-feely stuff out of the way, below is a quick account of my experience:</p><p>I have an MSc in Mathematics. However, I have always loved programming, and taught my self to program over the years. Today I work professionally as a free-lance developer. I would say that my mathematical training has been indispensable, but not because of specific knowledge of vector spaces or differential equations (most of which I no longer remember or ever use) etc. but rather because of the mode of thinking I learnt. Mathematics is built upon layer after layer of carefully constructed (well defined) abstractions. For me this is most clearly seen in abstract algebra, or topology etc.</p><p>The key underlying principle that is critical to building complex software systems is abstraction. If you can understand how to create clean well defined abstractions of the problem at hand, then you will be able to build complex yet flexible software. In programming languages these abstractions are directly supported via constructs such as interfaces, inheritance, libraries, procedures etc. or indirectly via patterns and principles such as inversion of control, loose coupling, delegates etc.</p><p>All complex software systems rely on such abstractions.</p><p>In contrast, I would say that only a small percentage of the code developed ever relies heavily on specific algorithmic knowledge (e.g. linear algebra for 3D graphics, or hashing algorithms or cryptography, or specific knowledge of red-black trees for hash table implementations). Very often these are simple imported via a suitable library, or coded based on a well know reference implementation, or developed in conjunction with an expert in the specific field.</p><p>So, in summary, if you have some special area of interest that would be supported by a specific tool set, then clearly you should pick that up. Otherwise, any well taught mathematics course (irrespective of the specific subject matter) should highlight the abstractions that enable related concepts to work together, and emphasise the need for well defined definitions in order for things to be computable.</p></htmltext>
<tokenext>Mathematics and software programming are most definitely intertwined and mathematics can definitely support your programming , I would not necessarily try to suggest one set of courses over another - rather there are benefits to either stream and it depends on the specific problems you end up tackling , so it might be best to go with the stream you enjoy the most .
Better to have to work at something that might be hard , yet you enjoy , rather than something that is just hard.With the touchy-feely stuff out of the way , below is a quick account of my experience : I have an MSc in Mathematics .
However , I have always loved programming , and taught my self to program over the years .
Today I work professionally as a free-lance developer .
I would say that my mathematical training has been indispensable , but not because of specific knowledge of vector spaces or differential equations ( most of which I no longer remember or ever use ) etc .
but rather because of the mode of thinking I learnt .
Mathematics is built upon layer after layer of carefully constructed ( well defined ) abstractions .
For me this is most clearly seen in abstract algebra , or topology etc.The key underlying principle that is critical to building complex software systems is abstraction .
If you can understand how to create clean well defined abstractions of the problem at hand , then you will be able to build complex yet flexible software .
In programming languages these abstractions are directly supported via constructs such as interfaces , inheritance , libraries , procedures etc .
or indirectly via patterns and principles such as inversion of control , loose coupling , delegates etc.All complex software systems rely on such abstractions.In contrast , I would say that only a small percentage of the code developed ever relies heavily on specific algorithmic knowledge ( e.g .
linear algebra for 3D graphics , or hashing algorithms or cryptography , or specific knowledge of red-black trees for hash table implementations ) .
Very often these are simple imported via a suitable library , or coded based on a well know reference implementation , or developed in conjunction with an expert in the specific field.So , in summary , if you have some special area of interest that would be supported by a specific tool set , then clearly you should pick that up .
Otherwise , any well taught mathematics course ( irrespective of the specific subject matter ) should highlight the abstractions that enable related concepts to work together , and emphasise the need for well defined definitions in order for things to be computable .</tokentext>
<sentencetext>Mathematics and software programming are most definitely intertwined and mathematics can definitely support your programming, I would not necessarily try to suggest one set of courses over another - rather there are benefits to either stream and it depends on the specific problems you end up tackling, so it might be best to go with the stream you enjoy the most.
Better to have to work at something that might be hard, yet you enjoy, rather than something that is just hard.With the touchy-feely stuff out of the way, below is a quick account of my experience:I have an MSc in Mathematics.
However, I have always loved programming, and taught my self to program over the years.
Today I work professionally as a free-lance developer.
I would say that my mathematical training has been indispensable, but not because of specific knowledge of vector spaces or differential equations (most of which I no longer remember or ever use) etc.
but rather because of the mode of thinking I learnt.
Mathematics is built upon layer after layer of carefully constructed (well defined) abstractions.
For me this is most clearly seen in abstract algebra, or topology etc.The key underlying principle that is critical to building complex software systems is abstraction.
If you can understand how to create clean well defined abstractions of the problem at hand, then you will be able to build complex yet flexible software.
In programming languages these abstractions are directly supported via constructs such as interfaces, inheritance, libraries, procedures etc.
or indirectly via patterns and principles such as inversion of control, loose coupling, delegates etc.All complex software systems rely on such abstractions.In contrast, I would say that only a small percentage of the code developed ever relies heavily on specific algorithmic knowledge (e.g.
linear algebra for 3D graphics, or hashing algorithms or cryptography, or specific knowledge of red-black trees for hash table implementations).
Very often these are simple imported via a suitable library, or coded based on a well know reference implementation, or developed in conjunction with an expert in the specific field.So, in summary, if you have some special area of interest that would be supported by a specific tool set, then clearly you should pick that up.
Otherwise, any well taught mathematics course (irrespective of the specific subject matter) should highlight the abstractions that enable related concepts to work together, and emphasise the need for well defined definitions in order for things to be computable.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671204</id>
	<title>Does math pay?</title>
	<author>Kagato</author>
	<datestamp>1262799960000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>3</modscore>
	<htmltext><p>The programmers I know who do serious math, such as very complex DSP algorithms, game programming, complex statistics analysis, etc. get paid a fraction of what a I do for business/consumer web apps.  That's not to say there aren't some brilliant folks out there getting paid a lot of money to do complex mathematical program, but they seem to be the exception, not the rule.  Most of my work tends to be logic monkey stuff.  Algebra I and II would cover it the stuff I do.  I say current with tech, know how to talk to business folks, and get paid very well for my services.</p><p>Even when I do things like insurance rating and underwriting application; the Actuary has already done the hard math and distilled it into a fairly very simple table of rating factors that are handled using simple arithmetic.</p><p>It's kind'a sad to see Advanced Math only pays for a small percentage of programmers.</p></htmltext>
<tokenext>The programmers I know who do serious math , such as very complex DSP algorithms , game programming , complex statistics analysis , etc .
get paid a fraction of what a I do for business/consumer web apps .
That 's not to say there are n't some brilliant folks out there getting paid a lot of money to do complex mathematical program , but they seem to be the exception , not the rule .
Most of my work tends to be logic monkey stuff .
Algebra I and II would cover it the stuff I do .
I say current with tech , know how to talk to business folks , and get paid very well for my services.Even when I do things like insurance rating and underwriting application ; the Actuary has already done the hard math and distilled it into a fairly very simple table of rating factors that are handled using simple arithmetic.It 's kind'a sad to see Advanced Math only pays for a small percentage of programmers .</tokentext>
<sentencetext>The programmers I know who do serious math, such as very complex DSP algorithms, game programming, complex statistics analysis, etc.
get paid a fraction of what a I do for business/consumer web apps.
That's not to say there aren't some brilliant folks out there getting paid a lot of money to do complex mathematical program, but they seem to be the exception, not the rule.
Most of my work tends to be logic monkey stuff.
Algebra I and II would cover it the stuff I do.
I say current with tech, know how to talk to business folks, and get paid very well for my services.Even when I do things like insurance rating and underwriting application; the Actuary has already done the hard math and distilled it into a fairly very simple table of rating factors that are handled using simple arithmetic.It's kind'a sad to see Advanced Math only pays for a small percentage of programmers.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671376</id>
	<title>Re:The Second, If Not Both</title>
	<author>Anonymous</author>
	<datestamp>1262800560000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Very well put.</p></htmltext>
<tokenext>Very well put .</tokentext>
<sentencetext>Very well put.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670800</id>
	<title>It's a broad brush...</title>
	<author>doc6502</author>
	<datestamp>1262798280000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>Years ago, I met the guy who ran the company who made most of the wheels for Rollerblade.  He's not a chemist, or an engineer.  He's a former helicopter pilot who flew soldiers in and out of the jungles of Vietnam and later became a contract helicopter bush pilot, doing firespotting and transport for the US Forest Service.  When he realized he was getting sick of risking his life for not much pay and very little thanks, he started looking for something else to do.  Through a friend, he heard that IBM was looking for someone to assist them with an issue with rubber compounds-- they needed a specific rubber formulation for parts that wouldn't degrade even under the worst conditions.  He didn't know a thing about rubber, but figured it couldn't hurt to give it a crack.  Six months of studying, phone calls, etc, he got a line on it and contacted a friend who worked at a rubber company to produce a prototype.  They did, and he presented it to IBM and won a contract, which grew into a business, etc.

The point I'm making is that an open mind is substanitally more important than the chunks of knowledge that you're going to get from a degree.  The best programmers I've met had college degrees or no college degrees.  One had a master's in Speech Pathology (he ended up designing and implementing lease accounting systems).  Another flunked out of college and traded his drum kit for a computer so he could play games (and ended up learning the system from the ground up).  Another was driving a forklift in a warehouse and realized the picker routes the ordering system was generating were wrong or hugely inefficent (and ended up redesigning and eventually rewriting the picker system).  In each case, they learned the skills they needed along the way.

Having said that, the kind of maths you're looking at are good to have "in the toolkit", not so much for a specific skill, but because they give you a different way of looking at data, problems, solutions, testing, and implementation.</htmltext>
<tokenext>Years ago , I met the guy who ran the company who made most of the wheels for Rollerblade .
He 's not a chemist , or an engineer .
He 's a former helicopter pilot who flew soldiers in and out of the jungles of Vietnam and later became a contract helicopter bush pilot , doing firespotting and transport for the US Forest Service .
When he realized he was getting sick of risking his life for not much pay and very little thanks , he started looking for something else to do .
Through a friend , he heard that IBM was looking for someone to assist them with an issue with rubber compounds-- they needed a specific rubber formulation for parts that would n't degrade even under the worst conditions .
He did n't know a thing about rubber , but figured it could n't hurt to give it a crack .
Six months of studying , phone calls , etc , he got a line on it and contacted a friend who worked at a rubber company to produce a prototype .
They did , and he presented it to IBM and won a contract , which grew into a business , etc .
The point I 'm making is that an open mind is substanitally more important than the chunks of knowledge that you 're going to get from a degree .
The best programmers I 've met had college degrees or no college degrees .
One had a master 's in Speech Pathology ( he ended up designing and implementing lease accounting systems ) .
Another flunked out of college and traded his drum kit for a computer so he could play games ( and ended up learning the system from the ground up ) .
Another was driving a forklift in a warehouse and realized the picker routes the ordering system was generating were wrong or hugely inefficent ( and ended up redesigning and eventually rewriting the picker system ) .
In each case , they learned the skills they needed along the way .
Having said that , the kind of maths you 're looking at are good to have " in the toolkit " , not so much for a specific skill , but because they give you a different way of looking at data , problems , solutions , testing , and implementation .</tokentext>
<sentencetext>Years ago, I met the guy who ran the company who made most of the wheels for Rollerblade.
He's not a chemist, or an engineer.
He's a former helicopter pilot who flew soldiers in and out of the jungles of Vietnam and later became a contract helicopter bush pilot, doing firespotting and transport for the US Forest Service.
When he realized he was getting sick of risking his life for not much pay and very little thanks, he started looking for something else to do.
Through a friend, he heard that IBM was looking for someone to assist them with an issue with rubber compounds-- they needed a specific rubber formulation for parts that wouldn't degrade even under the worst conditions.
He didn't know a thing about rubber, but figured it couldn't hurt to give it a crack.
Six months of studying, phone calls, etc, he got a line on it and contacted a friend who worked at a rubber company to produce a prototype.
They did, and he presented it to IBM and won a contract, which grew into a business, etc.
The point I'm making is that an open mind is substanitally more important than the chunks of knowledge that you're going to get from a degree.
The best programmers I've met had college degrees or no college degrees.
One had a master's in Speech Pathology (he ended up designing and implementing lease accounting systems).
Another flunked out of college and traded his drum kit for a computer so he could play games (and ended up learning the system from the ground up).
Another was driving a forklift in a warehouse and realized the picker routes the ordering system was generating were wrong or hugely inefficent (and ended up redesigning and eventually rewriting the picker system).
In each case, they learned the skills they needed along the way.
Having said that, the kind of maths you're looking at are good to have "in the toolkit", not so much for a specific skill, but because they give you a different way of looking at data, problems, solutions, testing, and implementation.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671718</id>
	<title>Combinatorics and graph theory....</title>
	<author>magbottle</author>
	<datestamp>1262801940000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Are most useful, in general, for comp-sci (compsy?, har)</p><p>Go for  'Discreet structures with graph theory' . Or both.</p></htmltext>
<tokenext>Are most useful , in general , for comp-sci ( compsy ? , har ) Go for 'Discreet structures with graph theory ' .
Or both .</tokentext>
<sentencetext>Are most useful, in general, for comp-sci (compsy?, har)Go for  'Discreet structures with graph theory' .
Or both.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671798</id>
	<title>Courses to take? Hmmmm (thoughts of an Autodidact)</title>
	<author>flajann</author>
	<datestamp>1262802240000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>I have never had a problem with mathematics, as is evidenced by the fact that I managed to teach myself calculus by age 13. I can pick up mathematics quickly, and have dabbled in a wide variety of math topics from matrices to advanced calculus to number theory to fractals and chaos theory too... even touched a bit on lie algebras. I have yet to find my limits.<p>

Mathematics, unlike the poster, was my first love. My interests in computers grew directly out of my love for mathematics.</p><p>

Alas, not everyone is so predisposed. I have never taken a "math course" outside of high-school, and was bored to tears by what the high-school had to offer. Oh well.</p><p>

Enough of me tooting my own horn, the math courses you choose to take, beyond the fundamental stuff like logic, set theory, and discrete systems, should reflect your eventual goals with your computer science/software engineering career. If you want to delve into, say, bioinformatics, you will need some stuff, for instance, with combinatorics, just for starters. If you are going into physics, then obviously all the calculus and vector courses you can get your hands on will be your focus. If you just want to work in boring IT departments or deal with databases, then you'll need some database theory - related courses, etc.</p><p>

If you want to be able to do anything and everything, then go broad and deep. But you really have to *love* mathematics. Math can be extremely fun; the way it's typically taught would lead you to believe otherwise. It all depends on the teacher. Forget high-school math -- totally useless.</p></htmltext>
<tokenext>I have never had a problem with mathematics , as is evidenced by the fact that I managed to teach myself calculus by age 13 .
I can pick up mathematics quickly , and have dabbled in a wide variety of math topics from matrices to advanced calculus to number theory to fractals and chaos theory too... even touched a bit on lie algebras .
I have yet to find my limits .
Mathematics , unlike the poster , was my first love .
My interests in computers grew directly out of my love for mathematics .
Alas , not everyone is so predisposed .
I have never taken a " math course " outside of high-school , and was bored to tears by what the high-school had to offer .
Oh well .
Enough of me tooting my own horn , the math courses you choose to take , beyond the fundamental stuff like logic , set theory , and discrete systems , should reflect your eventual goals with your computer science/software engineering career .
If you want to delve into , say , bioinformatics , you will need some stuff , for instance , with combinatorics , just for starters .
If you are going into physics , then obviously all the calculus and vector courses you can get your hands on will be your focus .
If you just want to work in boring IT departments or deal with databases , then you 'll need some database theory - related courses , etc .
If you want to be able to do anything and everything , then go broad and deep .
But you really have to * love * mathematics .
Math can be extremely fun ; the way it 's typically taught would lead you to believe otherwise .
It all depends on the teacher .
Forget high-school math -- totally useless .</tokentext>
<sentencetext>I have never had a problem with mathematics, as is evidenced by the fact that I managed to teach myself calculus by age 13.
I can pick up mathematics quickly, and have dabbled in a wide variety of math topics from matrices to advanced calculus to number theory to fractals and chaos theory too... even touched a bit on lie algebras.
I have yet to find my limits.
Mathematics, unlike the poster, was my first love.
My interests in computers grew directly out of my love for mathematics.
Alas, not everyone is so predisposed.
I have never taken a "math course" outside of high-school, and was bored to tears by what the high-school had to offer.
Oh well.
Enough of me tooting my own horn, the math courses you choose to take, beyond the fundamental stuff like logic, set theory, and discrete systems, should reflect your eventual goals with your computer science/software engineering career.
If you want to delve into, say, bioinformatics, you will need some stuff, for instance, with combinatorics, just for starters.
If you are going into physics, then obviously all the calculus and vector courses you can get your hands on will be your focus.
If you just want to work in boring IT departments or deal with databases, then you'll need some database theory - related courses, etc.
If you want to be able to do anything and everything, then go broad and deep.
But you really have to *love* mathematics.
Math can be extremely fun; the way it's typically taught would lead you to believe otherwise.
It all depends on the teacher.
Forget high-school math -- totally useless.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672486</id>
	<title>Depends on what kind of programming you want to do</title>
	<author>cowbutt</author>
	<datestamp>1262804940000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>The 'discreet structures with graph theory' course sounds like it'll be more use for things like systems programming, databases, compilers and the like, whilst the other sounds like it'll be more use if you want to go into graphics or scientific programming.</p></htmltext>
<tokenext>The 'discreet structures with graph theory ' course sounds like it 'll be more use for things like systems programming , databases , compilers and the like , whilst the other sounds like it 'll be more use if you want to go into graphics or scientific programming .</tokentext>
<sentencetext>The 'discreet structures with graph theory' course sounds like it'll be more use for things like systems programming, databases, compilers and the like, whilst the other sounds like it'll be more use if you want to go into graphics or scientific programming.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671214</id>
	<title>Discrete math is more widely applicable</title>
	<author>MtHuurne</author>
	<datestamp>1262800020000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>In my opinion discrete math is useful for almost any kind of programming. Being able to do proofs helps you ensure your programs are correct. Sets and graphs are useful data structures for many different application domains. I work as a software engineer and I don't think I could do my job well without discrete math.</p><p>Math analysis is useful when dealing with physics or signal processing (lossy audio/video compression, for example). Vectors are useful for computer graphics and coding theory (crypto and error detection/correction). But it is domain knowledge, in my opinion, not a generic programming background. In other words, when programming in some fields you can't do without it, but in other fields you will never use it.</p><p>In practice, the math analysis you need is often already solved for you. For example, for audio/video compression you'll most likely work with existing codecs (from a library or implemented in hardware) instead of writing your own. And it is not recommended to do your own crypto implementation unless you are an expert in the field. Of course someone will have to design the codec and write the crypto library, but unless you actually enjoy analysis enough to study it thoroughly for several years, that person won't be you.</p><p>Note that any educational institution you may want to study at in the future might have a different opinion on this, or just require the "hardest" type to get only the bright and/or hard working students, so look into that before you choose.</p><p>I did both, by the way, and in my experience discrete math relies more on insight and analysis relies more on practice. I got good grades, but only by doing a lot of exercises: I think my analysis homework took me almost half of my total homework effort.</p></htmltext>
<tokenext>In my opinion discrete math is useful for almost any kind of programming .
Being able to do proofs helps you ensure your programs are correct .
Sets and graphs are useful data structures for many different application domains .
I work as a software engineer and I do n't think I could do my job well without discrete math.Math analysis is useful when dealing with physics or signal processing ( lossy audio/video compression , for example ) .
Vectors are useful for computer graphics and coding theory ( crypto and error detection/correction ) .
But it is domain knowledge , in my opinion , not a generic programming background .
In other words , when programming in some fields you ca n't do without it , but in other fields you will never use it.In practice , the math analysis you need is often already solved for you .
For example , for audio/video compression you 'll most likely work with existing codecs ( from a library or implemented in hardware ) instead of writing your own .
And it is not recommended to do your own crypto implementation unless you are an expert in the field .
Of course someone will have to design the codec and write the crypto library , but unless you actually enjoy analysis enough to study it thoroughly for several years , that person wo n't be you.Note that any educational institution you may want to study at in the future might have a different opinion on this , or just require the " hardest " type to get only the bright and/or hard working students , so look into that before you choose.I did both , by the way , and in my experience discrete math relies more on insight and analysis relies more on practice .
I got good grades , but only by doing a lot of exercises : I think my analysis homework took me almost half of my total homework effort .</tokentext>
<sentencetext>In my opinion discrete math is useful for almost any kind of programming.
Being able to do proofs helps you ensure your programs are correct.
Sets and graphs are useful data structures for many different application domains.
I work as a software engineer and I don't think I could do my job well without discrete math.Math analysis is useful when dealing with physics or signal processing (lossy audio/video compression, for example).
Vectors are useful for computer graphics and coding theory (crypto and error detection/correction).
But it is domain knowledge, in my opinion, not a generic programming background.
In other words, when programming in some fields you can't do without it, but in other fields you will never use it.In practice, the math analysis you need is often already solved for you.
For example, for audio/video compression you'll most likely work with existing codecs (from a library or implemented in hardware) instead of writing your own.
And it is not recommended to do your own crypto implementation unless you are an expert in the field.
Of course someone will have to design the codec and write the crypto library, but unless you actually enjoy analysis enough to study it thoroughly for several years, that person won't be you.Note that any educational institution you may want to study at in the future might have a different opinion on this, or just require the "hardest" type to get only the bright and/or hard working students, so look into that before you choose.I did both, by the way, and in my experience discrete math relies more on insight and analysis relies more on practice.
I got good grades, but only by doing a lot of exercises: I think my analysis homework took me almost half of my total homework effort.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670052</id>
	<title>Only need algebra for most grunt programming work</title>
	<author>Anonymous</author>
	<datestamp>1262795700000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>For most business related programming you really only need a good grasp of algebra and some set theory (for SQL), the basics covered in high school will suffice. If you want to get into some serious Wall Street level quant programmer jobs and bill more than $250/hr (yes, for real) then you need an advanced degree in Maths. Not sure what you need for 3D game programming. Bottom line however, if you just want to crank out business apps then algebra is all you really need.</p></htmltext>
<tokenext>For most business related programming you really only need a good grasp of algebra and some set theory ( for SQL ) , the basics covered in high school will suffice .
If you want to get into some serious Wall Street level quant programmer jobs and bill more than $ 250/hr ( yes , for real ) then you need an advanced degree in Maths .
Not sure what you need for 3D game programming .
Bottom line however , if you just want to crank out business apps then algebra is all you really need .</tokentext>
<sentencetext>For most business related programming you really only need a good grasp of algebra and some set theory (for SQL), the basics covered in high school will suffice.
If you want to get into some serious Wall Street level quant programmer jobs and bill more than $250/hr (yes, for real) then you need an advanced degree in Maths.
Not sure what you need for 3D game programming.
Bottom line however, if you just want to crank out business apps then algebra is all you really need.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674436</id>
	<title>Wrong approach</title>
	<author>kitserve</author>
	<datestamp>1262770080000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>The way I see it, the OP is approaching this question from the wrong side. I did things the other way round - I have a PhD in maths and ended up in computing. The reason that I studied maths, and the reason I now work in IT, is because that's what interested me at the time. Pick whichever course you find more interesting. You are likely to get better marks and end up being steered towards work that suits you later on. Treating maths like a chore that has to be done so you can get on with programming is the wrong way to go about it - take an interest in the maths itself and the rest will follow.</p><p>Incidentally, every job I have had has been programming related and I have used maths from both areas that the OP mentions in my work in the past. The work I currently do involves virtually no maths. This is because I realised I would like to interact with end-users and non-technical people some of the time I'm working, and (in my experience) the hardcore maths side of programming tends away from that sort of interaction. Difficult is not the same as boring, I find understanding people and turning their requests and ideas into useful code much more difficult than bashing out maths code, but ultimately it's proved more rewarding. Follow your interests, even if they may be difficult, and I think you will be happier for it.</p></htmltext>
<tokenext>The way I see it , the OP is approaching this question from the wrong side .
I did things the other way round - I have a PhD in maths and ended up in computing .
The reason that I studied maths , and the reason I now work in IT , is because that 's what interested me at the time .
Pick whichever course you find more interesting .
You are likely to get better marks and end up being steered towards work that suits you later on .
Treating maths like a chore that has to be done so you can get on with programming is the wrong way to go about it - take an interest in the maths itself and the rest will follow.Incidentally , every job I have had has been programming related and I have used maths from both areas that the OP mentions in my work in the past .
The work I currently do involves virtually no maths .
This is because I realised I would like to interact with end-users and non-technical people some of the time I 'm working , and ( in my experience ) the hardcore maths side of programming tends away from that sort of interaction .
Difficult is not the same as boring , I find understanding people and turning their requests and ideas into useful code much more difficult than bashing out maths code , but ultimately it 's proved more rewarding .
Follow your interests , even if they may be difficult , and I think you will be happier for it .</tokentext>
<sentencetext>The way I see it, the OP is approaching this question from the wrong side.
I did things the other way round - I have a PhD in maths and ended up in computing.
The reason that I studied maths, and the reason I now work in IT, is because that's what interested me at the time.
Pick whichever course you find more interesting.
You are likely to get better marks and end up being steered towards work that suits you later on.
Treating maths like a chore that has to be done so you can get on with programming is the wrong way to go about it - take an interest in the maths itself and the rest will follow.Incidentally, every job I have had has been programming related and I have used maths from both areas that the OP mentions in my work in the past.
The work I currently do involves virtually no maths.
This is because I realised I would like to interact with end-users and non-technical people some of the time I'm working, and (in my experience) the hardcore maths side of programming tends away from that sort of interaction.
Difficult is not the same as boring, I find understanding people and turning their requests and ideas into useful code much more difficult than bashing out maths code, but ultimately it's proved more rewarding.
Follow your interests, even if they may be difficult, and I think you will be happier for it.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670382</id>
	<title>Can slashdot get rid of "Ask Slashdot?"</title>
	<author>Anonymous</author>
	<datestamp>1262796900000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>1</modscore>
	<htmltext><p>Or at least remove it from RSS? I swear, it feels like half the "news" that comes through the RSS are these banal, you should have asked them on a forum, questions. I pay attention to slashdot for the news, for the things that you see here first, not this banal "gee, I have a question that I really should have asked on a niche message board" chatter. At the very least, would it be possible to simply do an RSS feed WITHOUT the ask slashdot waste of time so that my RSS reader isn't constantly warning me of "news" that is simply a waste of time?</p></htmltext>
<tokenext>Or at least remove it from RSS ?
I swear , it feels like half the " news " that comes through the RSS are these banal , you should have asked them on a forum , questions .
I pay attention to slashdot for the news , for the things that you see here first , not this banal " gee , I have a question that I really should have asked on a niche message board " chatter .
At the very least , would it be possible to simply do an RSS feed WITHOUT the ask slashdot waste of time so that my RSS reader is n't constantly warning me of " news " that is simply a waste of time ?</tokentext>
<sentencetext>Or at least remove it from RSS?
I swear, it feels like half the "news" that comes through the RSS are these banal, you should have asked them on a forum, questions.
I pay attention to slashdot for the news, for the things that you see here first, not this banal "gee, I have a question that I really should have asked on a niche message board" chatter.
At the very least, would it be possible to simply do an RSS feed WITHOUT the ask slashdot waste of time so that my RSS reader isn't constantly warning me of "news" that is simply a waste of time?</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671862</id>
	<title>Re:Take Both</title>
	<author>DoktorFaust</author>
	<datestamp>1262802540000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>That's a really annoying answer, but completely correct.</p><p>The math classes aren't just about learning the topics, but learning how to approach a problem. I think your goal should be to have strong enough fundamentals in mathematics that when you encounter a math problem in a topic you haven't seen before, you are comfortable pulling out a book and figuring out how to solve it. It sounds like you're not very comfortable with mathematics, so a good solution is to take enough classes that you do become comfortable.</p></htmltext>
<tokenext>That 's a really annoying answer , but completely correct.The math classes are n't just about learning the topics , but learning how to approach a problem .
I think your goal should be to have strong enough fundamentals in mathematics that when you encounter a math problem in a topic you have n't seen before , you are comfortable pulling out a book and figuring out how to solve it .
It sounds like you 're not very comfortable with mathematics , so a good solution is to take enough classes that you do become comfortable .</tokentext>
<sentencetext>That's a really annoying answer, but completely correct.The math classes aren't just about learning the topics, but learning how to approach a problem.
I think your goal should be to have strong enough fundamentals in mathematics that when you encounter a math problem in a topic you haven't seen before, you are comfortable pulling out a book and figuring out how to solve it.
It sounds like you're not very comfortable with mathematics, so a good solution is to take enough classes that you do become comfortable.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669830</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30676100</id>
	<title>Re:What? Math for programmers?</title>
	<author>geekoid</author>
	<datestamp>1262777880000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>computers only add, they don't subtract..well they do but they do it by adding.</p></htmltext>
<tokenext>computers only add , they do n't subtract..well they do but they do it by adding .</tokentext>
<sentencetext>computers only add, they don't subtract..well they do but they do it by adding.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670164</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674638</id>
	<title>Re:Physicists?</title>
	<author>khallow</author>
	<datestamp>1262771040000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>1</modscore>
	<htmltext><p><div class="quote"><p>Using stuff like LAPACK, BLAS, CSparse, Matlab-type code etc is pure masochism for software engineers like myself.</p></div><p>Then cover it with a friendly API layer. A lot of that stuff predates modern object oriented programming. So there's no reason to expect it to look pretty, no matter who wrote it.</p></div>
	</htmltext>
<tokenext>Using stuff like LAPACK , BLAS , CSparse , Matlab-type code etc is pure masochism for software engineers like myself.Then cover it with a friendly API layer .
A lot of that stuff predates modern object oriented programming .
So there 's no reason to expect it to look pretty , no matter who wrote it .</tokentext>
<sentencetext>Using stuff like LAPACK, BLAS, CSparse, Matlab-type code etc is pure masochism for software engineers like myself.Then cover it with a friendly API layer.
A lot of that stuff predates modern object oriented programming.
So there's no reason to expect it to look pretty, no matter who wrote it.
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671092</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670062</id>
	<title>both of those!</title>
	<author>Anonymous</author>
	<datestamp>1262795700000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>I do computational biology.  Both of those would be useful.</p></htmltext>
<tokenext>I do computational biology .
Both of those would be useful .</tokentext>
<sentencetext>I do computational biology.
Both of those would be useful.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670336</id>
	<title>Discrete Math</title>
	<author>Anonymous</author>
	<datestamp>1262796720000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>If you can only take one, definitely take Discrete Math.</p><p>It should not be an easy class if Math does not like you, but the algorithm and graphing portion are very large programming topics.  Sets certainly are too, but proofs are more of an academic game.</p><p>The other stuff, vector algebra, etc, are useful topics, but not nearly as useful as understanding algorithms and graphing (if you understand graph theory, then it helps a great deal with understanding a lot of very important programming paradigms).</p></htmltext>
<tokenext>If you can only take one , definitely take Discrete Math.It should not be an easy class if Math does not like you , but the algorithm and graphing portion are very large programming topics .
Sets certainly are too , but proofs are more of an academic game.The other stuff , vector algebra , etc , are useful topics , but not nearly as useful as understanding algorithms and graphing ( if you understand graph theory , then it helps a great deal with understanding a lot of very important programming paradigms ) .</tokentext>
<sentencetext>If you can only take one, definitely take Discrete Math.It should not be an easy class if Math does not like you, but the algorithm and graphing portion are very large programming topics.
Sets certainly are too, but proofs are more of an academic game.The other stuff, vector algebra, etc, are useful topics, but not nearly as useful as understanding algorithms and graphing (if you understand graph theory, then it helps a great deal with understanding a lot of very important programming paradigms).</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671102</id>
	<title>Take the easiest course</title>
	<author>tarlss</author>
	<datestamp>1262799480000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>Which is discrete math.

Vector math is highly specialized. If you're not good with math by now, you're never really truely going to excel at it. This isn't a terrible thing, just have no illusions of becoming a John Nash. The fact is if you plan on going into Vector programming you're going to be using math ALL THE DAMN TIME.

The fact that you even asked this question tells me that you probably don't want to do calculus for the rest of your life. That's fine. Be a happy person and take discrete math only and get on with your life.

You probably won't be programming the latest and greatest 3d Engine vectoring programs ever, but programming basic graphics and the like and the fundamentals of programming will always be within your reach. In terms of game programming, you might not be contributing directly to the graphic/arts department, but you will have a solid shot at overall game logic, dialogue trees, game mechanics and pretty much everything else that isn't 3d modeling.

Quite frankly 3d modeling is all done by artists with fancy packages these days, Vector programming is mostly useful for writing those packages, rendering apps, and hardware stuff. Very niche, probably not something that's too exciting unless you were into it at an early age.</htmltext>
<tokenext>Which is discrete math .
Vector math is highly specialized .
If you 're not good with math by now , you 're never really truely going to excel at it .
This is n't a terrible thing , just have no illusions of becoming a John Nash .
The fact is if you plan on going into Vector programming you 're going to be using math ALL THE DAMN TIME .
The fact that you even asked this question tells me that you probably do n't want to do calculus for the rest of your life .
That 's fine .
Be a happy person and take discrete math only and get on with your life .
You probably wo n't be programming the latest and greatest 3d Engine vectoring programs ever , but programming basic graphics and the like and the fundamentals of programming will always be within your reach .
In terms of game programming , you might not be contributing directly to the graphic/arts department , but you will have a solid shot at overall game logic , dialogue trees , game mechanics and pretty much everything else that is n't 3d modeling .
Quite frankly 3d modeling is all done by artists with fancy packages these days , Vector programming is mostly useful for writing those packages , rendering apps , and hardware stuff .
Very niche , probably not something that 's too exciting unless you were into it at an early age .</tokentext>
<sentencetext>Which is discrete math.
Vector math is highly specialized.
If you're not good with math by now, you're never really truely going to excel at it.
This isn't a terrible thing, just have no illusions of becoming a John Nash.
The fact is if you plan on going into Vector programming you're going to be using math ALL THE DAMN TIME.
The fact that you even asked this question tells me that you probably don't want to do calculus for the rest of your life.
That's fine.
Be a happy person and take discrete math only and get on with your life.
You probably won't be programming the latest and greatest 3d Engine vectoring programs ever, but programming basic graphics and the like and the fundamentals of programming will always be within your reach.
In terms of game programming, you might not be contributing directly to the graphic/arts department, but you will have a solid shot at overall game logic, dialogue trees, game mechanics and pretty much everything else that isn't 3d modeling.
Quite frankly 3d modeling is all done by artists with fancy packages these days, Vector programming is mostly useful for writing those packages, rendering apps, and hardware stuff.
Very niche, probably not something that's too exciting unless you were into it at an early age.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30679294</id>
	<title>Re:The Second, If Not Both</title>
	<author>Anonymous</author>
	<datestamp>1262802120000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>As someone who just had an interview with Google today, I disagree with the above opinion.  I was given a question in discrete mathematics; I've never been given anything regarding differentials or vectors.  Discrete math is required curriculum for many CS programs.  I would suggest taking discrete over the others any day, as it's much more practical.</p></htmltext>
<tokenext>As someone who just had an interview with Google today , I disagree with the above opinion .
I was given a question in discrete mathematics ; I 've never been given anything regarding differentials or vectors .
Discrete math is required curriculum for many CS programs .
I would suggest taking discrete over the others any day , as it 's much more practical .</tokentext>
<sentencetext>As someone who just had an interview with Google today, I disagree with the above opinion.
I was given a question in discrete mathematics; I've never been given anything regarding differentials or vectors.
Discrete math is required curriculum for many CS programs.
I would suggest taking discrete over the others any day, as it's much more practical.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670392</id>
	<title>Know your Algebra</title>
	<author>Anonymous</author>
	<datestamp>1262796900000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>I am not a programmer by trade but have written lots of small programs over the years.  I first majored in electrical engineering and later switched and graduated as a math major.  One thing I know from experience, the study of math continually sharpens your analytical abilities.</p><p>I cannot speak to the latter course you mentioned, but the Discreet class that I took was one of my favorites because of it's practical application of logic to several different areas of Math.</p><p>I contend that the most important field of math for programmers is algebra.  I worked in a computer lab while attending college and most of the questions arose out of a lack of understanding of algebra.</p></htmltext>
<tokenext>I am not a programmer by trade but have written lots of small programs over the years .
I first majored in electrical engineering and later switched and graduated as a math major .
One thing I know from experience , the study of math continually sharpens your analytical abilities.I can not speak to the latter course you mentioned , but the Discreet class that I took was one of my favorites because of it 's practical application of logic to several different areas of Math.I contend that the most important field of math for programmers is algebra .
I worked in a computer lab while attending college and most of the questions arose out of a lack of understanding of algebra .</tokentext>
<sentencetext>I am not a programmer by trade but have written lots of small programs over the years.
I first majored in electrical engineering and later switched and graduated as a math major.
One thing I know from experience, the study of math continually sharpens your analytical abilities.I cannot speak to the latter course you mentioned, but the Discreet class that I took was one of my favorites because of it's practical application of logic to several different areas of Math.I contend that the most important field of math for programmers is algebra.
I worked in a computer lab while attending college and most of the questions arose out of a lack of understanding of algebra.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670990</id>
	<title>Re:The Second, If Not Both</title>
	<author>wedge3d</author>
	<datestamp>1262799060000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>Excellent response.

May I only add that there is a good overview of the types of math used by many programmers in the MIT Open Course "Mathematics for Computer Science"<br>
<a href="http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-042JSpring-2005/LectureNotes/index.htm" title="mit.edu" rel="nofollow">http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-042JSpring-2005/LectureNotes/index.htm</a> [mit.edu]</htmltext>
<tokenext>Excellent response .
May I only add that there is a good overview of the types of math used by many programmers in the MIT Open Course " Mathematics for Computer Science " http : //ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-042JSpring-2005/LectureNotes/index.htm [ mit.edu ]</tokentext>
<sentencetext>Excellent response.
May I only add that there is a good overview of the types of math used by many programmers in the MIT Open Course "Mathematics for Computer Science"
http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-042JSpring-2005/LectureNotes/index.htm [mit.edu]</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670086</id>
	<title>I'd say it depends what you want to program</title>
	<author>Anonymous</author>
	<datestamp>1262795760000</datestamp>
	<modclass>Informativ</modclass>
	<modscore>3</modscore>
	<htmltext><p>I'm not directly familiar with either course (and the one-word summaries are a bit limited for providing informed advice!) but it sounds to me like the first one would be generally useful and you should take it regardless of what programming you intend to do - it sounds like it covers sort of the "mathematical fundamentals of programming". The second sounds more like it's useful for certain *types* of programming - perhaps 3d or game programming. Unlikely to be terribly useful for writing database-backed web applications, for example.</p></htmltext>
<tokenext>I 'm not directly familiar with either course ( and the one-word summaries are a bit limited for providing informed advice !
) but it sounds to me like the first one would be generally useful and you should take it regardless of what programming you intend to do - it sounds like it covers sort of the " mathematical fundamentals of programming " .
The second sounds more like it 's useful for certain * types * of programming - perhaps 3d or game programming .
Unlikely to be terribly useful for writing database-backed web applications , for example .</tokentext>
<sentencetext>I'm not directly familiar with either course (and the one-word summaries are a bit limited for providing informed advice!
) but it sounds to me like the first one would be generally useful and you should take it regardless of what programming you intend to do - it sounds like it covers sort of the "mathematical fundamentals of programming".
The second sounds more like it's useful for certain *types* of programming - perhaps 3d or game programming.
Unlikely to be terribly useful for writing database-backed web applications, for example.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30681710</id>
	<title>Re:Both skillsets are needed</title>
	<author>Anonymous</author>
	<datestamp>1262876040000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>I'm an experienced software dev from the games industry, who helped out with optimising some detector code written in R about a year or so ago. The physicist in question had cobbled together a collection of R modules (written in C++ by various people around in the world, in various states of bad or badder) which were used to process large data sets. The first problem was simply a data layout issue. Each module required the data in a different format, so 5 or 6 data conversions had to be performed on the data set before the required result was found.</p><p>It's not entirely true to say that an experienced software dev can't understand code from a scientist - most experienced devs are more than capable of determining the purpose of 90\% of code fairly easily (since large swathes are simply there to load / save files, re-organise data, re-format data, init, shutdown etc etc). Then every so often you hit a function where you think, WTF?  But that's not a blocker if you work in the right way! </p><p>Anyhow, the process I used to optimise the code was as follows:</p><p><b>1) Identify the bottlenecks</b> </p><p>It was pretty obvious early on that the main problems with the code were primarily the result of inefficient data structures, numerous data conversions. Those problems combined with the sheer volume of data that had to be processed was a performance killer . </p><p><b>2) Protect yourself from accidentally introduced bugs. </b> </p><p>I forced the physicist to go off and write extensive unit tests for each separate part of the pipeline. This gave me test data sets at each point, which easily enabled me to know when I introduced any bugs. </p><p><b>3) Continued communication is vital!</b> </p><p>This step looks redundant? Is it ok to remove? Is this the way you want the data to be stored? Or was that simply for a historical reason? (would have preferred to do it that way, but time constraints scuppered that idea...)</p><p>Anyhow, after a week or two, all of the C++ modules had be merged into a single bespoke module, specifically optimised for the job in hand. The data conversions had been removed. A lossless compression scheme was introduced into the data file formats, which drastically reduced the time to read/write the files across the network. Numerous memory and threading optimisations were added to improve performance in some of the analysis sections. Due to the unit testing process, each additional optimisation was an incremental improvement over the previous version - at no point did the code stop functioning!</p><p>It was an illuminating experience anyway - for both parties! By the end of it, the physicist was very keen on these new fangled software development concepts such as unit tests, version control, and (shock horror!) code documentation!   Without usage of those engineering practices, the entire exercise would have complete and total failure.....</p></htmltext>
<tokenext>I 'm an experienced software dev from the games industry , who helped out with optimising some detector code written in R about a year or so ago .
The physicist in question had cobbled together a collection of R modules ( written in C + + by various people around in the world , in various states of bad or badder ) which were used to process large data sets .
The first problem was simply a data layout issue .
Each module required the data in a different format , so 5 or 6 data conversions had to be performed on the data set before the required result was found.It 's not entirely true to say that an experienced software dev ca n't understand code from a scientist - most experienced devs are more than capable of determining the purpose of 90 \ % of code fairly easily ( since large swathes are simply there to load / save files , re-organise data , re-format data , init , shutdown etc etc ) .
Then every so often you hit a function where you think , WTF ?
But that 's not a blocker if you work in the right way !
Anyhow , the process I used to optimise the code was as follows : 1 ) Identify the bottlenecks It was pretty obvious early on that the main problems with the code were primarily the result of inefficient data structures , numerous data conversions .
Those problems combined with the sheer volume of data that had to be processed was a performance killer .
2 ) Protect yourself from accidentally introduced bugs .
I forced the physicist to go off and write extensive unit tests for each separate part of the pipeline .
This gave me test data sets at each point , which easily enabled me to know when I introduced any bugs .
3 ) Continued communication is vital !
This step looks redundant ?
Is it ok to remove ?
Is this the way you want the data to be stored ?
Or was that simply for a historical reason ?
( would have preferred to do it that way , but time constraints scuppered that idea... ) Anyhow , after a week or two , all of the C + + modules had be merged into a single bespoke module , specifically optimised for the job in hand .
The data conversions had been removed .
A lossless compression scheme was introduced into the data file formats , which drastically reduced the time to read/write the files across the network .
Numerous memory and threading optimisations were added to improve performance in some of the analysis sections .
Due to the unit testing process , each additional optimisation was an incremental improvement over the previous version - at no point did the code stop functioning ! It was an illuminating experience anyway - for both parties !
By the end of it , the physicist was very keen on these new fangled software development concepts such as unit tests , version control , and ( shock horror !
) code documentation !
Without usage of those engineering practices , the entire exercise would have complete and total failure.... .</tokentext>
<sentencetext>I'm an experienced software dev from the games industry, who helped out with optimising some detector code written in R about a year or so ago.
The physicist in question had cobbled together a collection of R modules (written in C++ by various people around in the world, in various states of bad or badder) which were used to process large data sets.
The first problem was simply a data layout issue.
Each module required the data in a different format, so 5 or 6 data conversions had to be performed on the data set before the required result was found.It's not entirely true to say that an experienced software dev can't understand code from a scientist - most experienced devs are more than capable of determining the purpose of 90\% of code fairly easily (since large swathes are simply there to load / save files, re-organise data, re-format data, init, shutdown etc etc).
Then every so often you hit a function where you think, WTF?
But that's not a blocker if you work in the right way!
Anyhow, the process I used to optimise the code was as follows:1) Identify the bottlenecks It was pretty obvious early on that the main problems with the code were primarily the result of inefficient data structures, numerous data conversions.
Those problems combined with the sheer volume of data that had to be processed was a performance killer .
2) Protect yourself from accidentally introduced bugs.
I forced the physicist to go off and write extensive unit tests for each separate part of the pipeline.
This gave me test data sets at each point, which easily enabled me to know when I introduced any bugs.
3) Continued communication is vital!
This step looks redundant?
Is it ok to remove?
Is this the way you want the data to be stored?
Or was that simply for a historical reason?
(would have preferred to do it that way, but time constraints scuppered that idea...)Anyhow, after a week or two, all of the C++ modules had be merged into a single bespoke module, specifically optimised for the job in hand.
The data conversions had been removed.
A lossless compression scheme was introduced into the data file formats, which drastically reduced the time to read/write the files across the network.
Numerous memory and threading optimisations were added to improve performance in some of the analysis sections.
Due to the unit testing process, each additional optimisation was an incremental improvement over the previous version - at no point did the code stop functioning!It was an illuminating experience anyway - for both parties!
By the end of it, the physicist was very keen on these new fangled software development concepts such as unit tests, version control, and (shock horror!
) code documentation!
Without usage of those engineering practices, the entire exercise would have complete and total failure.....</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30673718</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670400</id>
	<title>Another vote for Discrete</title>
	<author>SocialEngineer</author>
	<datestamp>1262796960000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>The bulk of what you learn in that class you will end up using in some practical sense, especially algorithms, if you have no prior study of such.  Plus, discrete math (to me) was a more enjoyable subject.</htmltext>
<tokenext>The bulk of what you learn in that class you will end up using in some practical sense , especially algorithms , if you have no prior study of such .
Plus , discrete math ( to me ) was a more enjoyable subject .</tokentext>
<sentencetext>The bulk of what you learn in that class you will end up using in some practical sense, especially algorithms, if you have no prior study of such.
Plus, discrete math (to me) was a more enjoyable subject.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671324</id>
	<title>Not just for games</title>
	<author>Anonymous</author>
	<datestamp>1262800320000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Other than the obvious "take both" I would suggest the second. Understanding that stuff is NOT just useful for games programming as many have stated -- it is a gateway into all of the mathematical sciences and will change the way you understand, cast and reason about technical problems. The important parts of the first are relatively easier to pick up by self-study and the rest isn't all that useful for solving "real world" problems. Yeah, computers are discrete, but double precision floating point is good enough to be worth getting comfortable with real numbers.</p><p>My only reservation would be that "Selected Math Chapters" sounds a bit dodgy. A lame lecturer/syllabus could make it harder than it needs to be.</p></htmltext>
<tokenext>Other than the obvious " take both " I would suggest the second .
Understanding that stuff is NOT just useful for games programming as many have stated -- it is a gateway into all of the mathematical sciences and will change the way you understand , cast and reason about technical problems .
The important parts of the first are relatively easier to pick up by self-study and the rest is n't all that useful for solving " real world " problems .
Yeah , computers are discrete , but double precision floating point is good enough to be worth getting comfortable with real numbers.My only reservation would be that " Selected Math Chapters " sounds a bit dodgy .
A lame lecturer/syllabus could make it harder than it needs to be .</tokentext>
<sentencetext>Other than the obvious "take both" I would suggest the second.
Understanding that stuff is NOT just useful for games programming as many have stated -- it is a gateway into all of the mathematical sciences and will change the way you understand, cast and reason about technical problems.
The important parts of the first are relatively easier to pick up by self-study and the rest isn't all that useful for solving "real world" problems.
Yeah, computers are discrete, but double precision floating point is good enough to be worth getting comfortable with real numbers.My only reservation would be that "Selected Math Chapters" sounds a bit dodgy.
A lame lecturer/syllabus could make it harder than it needs to be.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670162</id>
	<title>Graph Theory</title>
	<author>bstamour</author>
	<datestamp>1262796120000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>If I had to choose one of the two listed, I would go with the first. As a student currently finishing his CS Undergrad I can tell you that discrete maths like Combinatorics and Graph Theory will help you much more than Continuous maths like analysis and calculus. I'm not saying Calculus isn't important -- it is to an extent when you're working with the design and analysis of algorithms, but Graph Theory is something that you should not miss out on.
<br>
Graph Theory is used all over CS: it can be used to model network flow, it can be used in AI to represent search spaces, and don't forget that the majority of cool data structures fall directly from Graph Theory. If you're looking for more practical uses, think of the flow of a computer program. You can use vertices to represent states of your program such as assignments, branches, and so on. Connecting these states with edges determines the flow of your program.
<br>
Plus, overall Graph Theory is fun to do! The proofs are rigorous, but everything is very easy to visualize. If you're having trouble with a concept, in most cases it's easy to draw up a graph and see for yourself that some theorem holds. All in all, it's quite an experience, and as a Computer guy you'll definitely get more practical uses out of it.</htmltext>
<tokenext>If I had to choose one of the two listed , I would go with the first .
As a student currently finishing his CS Undergrad I can tell you that discrete maths like Combinatorics and Graph Theory will help you much more than Continuous maths like analysis and calculus .
I 'm not saying Calculus is n't important -- it is to an extent when you 're working with the design and analysis of algorithms , but Graph Theory is something that you should not miss out on .
Graph Theory is used all over CS : it can be used to model network flow , it can be used in AI to represent search spaces , and do n't forget that the majority of cool data structures fall directly from Graph Theory .
If you 're looking for more practical uses , think of the flow of a computer program .
You can use vertices to represent states of your program such as assignments , branches , and so on .
Connecting these states with edges determines the flow of your program .
Plus , overall Graph Theory is fun to do !
The proofs are rigorous , but everything is very easy to visualize .
If you 're having trouble with a concept , in most cases it 's easy to draw up a graph and see for yourself that some theorem holds .
All in all , it 's quite an experience , and as a Computer guy you 'll definitely get more practical uses out of it .</tokentext>
<sentencetext>If I had to choose one of the two listed, I would go with the first.
As a student currently finishing his CS Undergrad I can tell you that discrete maths like Combinatorics and Graph Theory will help you much more than Continuous maths like analysis and calculus.
I'm not saying Calculus isn't important -- it is to an extent when you're working with the design and analysis of algorithms, but Graph Theory is something that you should not miss out on.
Graph Theory is used all over CS: it can be used to model network flow, it can be used in AI to represent search spaces, and don't forget that the majority of cool data structures fall directly from Graph Theory.
If you're looking for more practical uses, think of the flow of a computer program.
You can use vertices to represent states of your program such as assignments, branches, and so on.
Connecting these states with edges determines the flow of your program.
Plus, overall Graph Theory is fun to do!
The proofs are rigorous, but everything is very easy to visualize.
If you're having trouble with a concept, in most cases it's easy to draw up a graph and see for yourself that some theorem holds.
All in all, it's quite an experience, and as a Computer guy you'll definitely get more practical uses out of it.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670428</id>
	<title>Practically speaking</title>
	<author>nodrogluap</author>
	<datestamp>1262797140000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Discrete if you plan on developing algorithms or data structures</p><p>Vectors etc. if you plan on doing 3D graphics or physical process simulations.</p><p>During my programming career, I have used every math and stats I've ever learned in a course.  So like tohers say, take both.  By the way, discrete was my worst mark, but also where I learned the most.</p></htmltext>
<tokenext>Discrete if you plan on developing algorithms or data structuresVectors etc .
if you plan on doing 3D graphics or physical process simulations.During my programming career , I have used every math and stats I 've ever learned in a course .
So like tohers say , take both .
By the way , discrete was my worst mark , but also where I learned the most .</tokentext>
<sentencetext>Discrete if you plan on developing algorithms or data structuresVectors etc.
if you plan on doing 3D graphics or physical process simulations.During my programming career, I have used every math and stats I've ever learned in a course.
So like tohers say, take both.
By the way, discrete was my worst mark, but also where I learned the most.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670934</id>
	<title>The first, at least</title>
	<author>Anonymous</author>
	<datestamp>1262798760000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>I'm a mathematician who develops methods for partial differential eqns, and who spends a hell of a lot of time programming.  While the second course would be a great class for you to take (and you ought to if you can manage it at some point), the first will be *far* more valuable to a programmer/computer scientist.  That's been my own personal experience.</p></htmltext>
<tokenext>I 'm a mathematician who develops methods for partial differential eqns , and who spends a hell of a lot of time programming .
While the second course would be a great class for you to take ( and you ought to if you can manage it at some point ) , the first will be * far * more valuable to a programmer/computer scientist .
That 's been my own personal experience .</tokentext>
<sentencetext>I'm a mathematician who develops methods for partial differential eqns, and who spends a hell of a lot of time programming.
While the second course would be a great class for you to take (and you ought to if you can manage it at some point), the first will be *far* more valuable to a programmer/computer scientist.
That's been my own personal experience.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30673320</id>
	<title>Re:Physicists?</title>
	<author>bughunter</author>
	<datestamp>1262808480000</datestamp>
	<modclass>Interestin</modclass>
	<modscore>4</modscore>
	<htmltext>I think you're confusing the art of programming with the engineering of software systems.  The minds that are good at one are generally not good at the other, and training for one often comes at the expense of the other.  Very few are good at both, though I have worked with such people.

The former requires an intimate understanding of the science and mathematics underlying problems to be solved, whether they are actuarial algorithms for life insurance or physical engines for FPS video games.  Physics and math are the foundation upon which the necessary intuitive, creative leaps can be made to solve problems in a robust, elegant manner.  Turning the crank on an existing process isn't good enough.

The latter is fundamentally systems engineering: identifying and quantifying assumptions, risks, and resource limits; chunking problems and deriving requirements; and lots and lots of bookkeeping and documentation.  The bookkeeping and documentation parts are the kinds of things that many physicists and electrical engineers have to be cajoled and browbeaten into.  Software engineering can seem very, very tedious to a creative mind.

Now, which did the GP mean?  I think the former.  But I think you are talking about the latter, and you are both correct.</htmltext>
<tokenext>I think you 're confusing the art of programming with the engineering of software systems .
The minds that are good at one are generally not good at the other , and training for one often comes at the expense of the other .
Very few are good at both , though I have worked with such people .
The former requires an intimate understanding of the science and mathematics underlying problems to be solved , whether they are actuarial algorithms for life insurance or physical engines for FPS video games .
Physics and math are the foundation upon which the necessary intuitive , creative leaps can be made to solve problems in a robust , elegant manner .
Turning the crank on an existing process is n't good enough .
The latter is fundamentally systems engineering : identifying and quantifying assumptions , risks , and resource limits ; chunking problems and deriving requirements ; and lots and lots of bookkeeping and documentation .
The bookkeeping and documentation parts are the kinds of things that many physicists and electrical engineers have to be cajoled and browbeaten into .
Software engineering can seem very , very tedious to a creative mind .
Now , which did the GP mean ?
I think the former .
But I think you are talking about the latter , and you are both correct .</tokentext>
<sentencetext>I think you're confusing the art of programming with the engineering of software systems.
The minds that are good at one are generally not good at the other, and training for one often comes at the expense of the other.
Very few are good at both, though I have worked with such people.
The former requires an intimate understanding of the science and mathematics underlying problems to be solved, whether they are actuarial algorithms for life insurance or physical engines for FPS video games.
Physics and math are the foundation upon which the necessary intuitive, creative leaps can be made to solve problems in a robust, elegant manner.
Turning the crank on an existing process isn't good enough.
The latter is fundamentally systems engineering: identifying and quantifying assumptions, risks, and resource limits; chunking problems and deriving requirements; and lots and lots of bookkeeping and documentation.
The bookkeeping and documentation parts are the kinds of things that many physicists and electrical engineers have to be cajoled and browbeaten into.
Software engineering can seem very, very tedious to a creative mind.
Now, which did the GP mean?
I think the former.
But I think you are talking about the latter, and you are both correct.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671092</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674068</id>
	<title>Re:The Second, If Not Both</title>
	<author>duanes1967</author>
	<datestamp>1262768700000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>I was once told that every advanced math course or science course you take will add at least $1000 per year to your base pay.  After 30 years, I think that number needs to be inflation adjusted... so, multiply by 3.  If you can make $35K as an entry level code pounder - take a few advanced classes and you are at $50K.  Get an Engineering degree (another half dozen courses) and you are at $65.  A master's degree in Engineering will easily push $100K.  Once you start working, you can earn about triple the base pay over time.

My personal favorites are Discrete Math, Data Structures, Diff Eq., and Partial Diff. Eq., plus some thermodynamics.  Interestingly, math and physics classes all look the same after a certain point.

Programmers are easy to come by.... Math and Science geeks that can write decent code are much, much more difficult to find. - And are paid accordingly!</htmltext>
<tokenext>I was once told that every advanced math course or science course you take will add at least $ 1000 per year to your base pay .
After 30 years , I think that number needs to be inflation adjusted... so , multiply by 3 .
If you can make $ 35K as an entry level code pounder - take a few advanced classes and you are at $ 50K .
Get an Engineering degree ( another half dozen courses ) and you are at $ 65 .
A master 's degree in Engineering will easily push $ 100K .
Once you start working , you can earn about triple the base pay over time .
My personal favorites are Discrete Math , Data Structures , Diff Eq. , and Partial Diff .
Eq. , plus some thermodynamics .
Interestingly , math and physics classes all look the same after a certain point .
Programmers are easy to come by.... Math and Science geeks that can write decent code are much , much more difficult to find .
- And are paid accordingly !</tokentext>
<sentencetext>I was once told that every advanced math course or science course you take will add at least $1000 per year to your base pay.
After 30 years, I think that number needs to be inflation adjusted... so, multiply by 3.
If you can make $35K as an entry level code pounder - take a few advanced classes and you are at $50K.
Get an Engineering degree (another half dozen courses) and you are at $65.
A master's degree in Engineering will easily push $100K.
Once you start working, you can earn about triple the base pay over time.
My personal favorites are Discrete Math, Data Structures, Diff Eq., and Partial Diff.
Eq., plus some thermodynamics.
Interestingly, math and physics classes all look the same after a certain point.
Programmers are easy to come by.... Math and Science geeks that can write decent code are much, much more difficult to find.
- And are paid accordingly!</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30679986</id>
	<title>Which has the better prof?</title>
	<author>Eli Gottlieb</author>
	<datestamp>1262897700000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>If you're serious about Computer Science and becoming a programmer you will eventually need to take a course in discrete mathematics, and ideally for a broader skill-set you ought to take both the classes you've listed.  However, to decide for this coming semester, pick the course with the better professor.  In my experience, the quality of professors in =200-level math courses varies really, really widely, and that can make the difference between getting a C+ after not learning much and receiving an A after taking one of the most enlightening courses of your life.  Pick the one that most points towards the latter scenario this semester, and just make sure to have taken both by the time you graduate.</p></htmltext>
<tokenext>If you 're serious about Computer Science and becoming a programmer you will eventually need to take a course in discrete mathematics , and ideally for a broader skill-set you ought to take both the classes you 've listed .
However , to decide for this coming semester , pick the course with the better professor .
In my experience , the quality of professors in = 200-level math courses varies really , really widely , and that can make the difference between getting a C + after not learning much and receiving an A after taking one of the most enlightening courses of your life .
Pick the one that most points towards the latter scenario this semester , and just make sure to have taken both by the time you graduate .</tokentext>
<sentencetext>If you're serious about Computer Science and becoming a programmer you will eventually need to take a course in discrete mathematics, and ideally for a broader skill-set you ought to take both the classes you've listed.
However, to decide for this coming semester, pick the course with the better professor.
In my experience, the quality of professors in =200-level math courses varies really, really widely, and that can make the difference between getting a C+ after not learning much and receiving an A after taking one of the most enlightening courses of your life.
Pick the one that most points towards the latter scenario this semester, and just make sure to have taken both by the time you graduate.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670186</id>
	<title>The class you want is called 'Numerical Analysis'</title>
	<author>shawnap</author>
	<datestamp>1262796180000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>Start by not taking anything called 'Selected Math Chapters'.<br>
Analysis, multivariate calc, and differential equations are fundamental subjects. If you want a background in math then you need more than just the first third of each.</htmltext>
<tokenext>Start by not taking anything called 'Selected Math Chapters' .
Analysis , multivariate calc , and differential equations are fundamental subjects .
If you want a background in math then you need more than just the first third of each .</tokentext>
<sentencetext>Start by not taking anything called 'Selected Math Chapters'.
Analysis, multivariate calc, and differential equations are fundamental subjects.
If you want a background in math then you need more than just the first third of each.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671290</id>
	<title>Logic and Statistics</title>
	<author>foo fighter</author>
	<datestamp>1262800260000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>All of the suggestions that have been modded to 5 are too high level, in my opinion.</p><p>The most useful mathematical tools to **anyone**, IMHO, are logic and statistics. (I'm not considering arithmetic or algebra "math" for this discussion.)</p><p>Logic, or pure math, is often a second-year undergraduate course for math programs at liberal art schools in the US. It's often called "intro to math", "abstract math", or "number theory" (though strictly speaking number theory should be considered a subset of logic/pure math, but a good and fun course to take after a intro to logic course). It is important because it teaches you how to generalize and analyze problems in a rigorous manner, basically how to reason.</p><p>Statistics should follow after logic since the tools learned in logic will be used to build the tools of statistics. Statistics is important because it teaches you how to rigorously collect, interpret, and model data, basically how to make educated guesses about what happened in the past what might happen in the future.</p><p>These tools are what have made human progress so amazing, and serve as the foundation for the rest of science. While you won't explicitly use them every time you write code, they will be the bedrock that makes it possible to convert difficult, real-world problems into good code.</p><p>Two additional suggestions: discrete math will help you understand how computers work at a fundamental level, and numerical analysis (continuous math) will help you figure out where errors will occur and how to deal with them. These are tools that turn you from a code monkey into a systems analyst.</p></htmltext>
<tokenext>All of the suggestions that have been modded to 5 are too high level , in my opinion.The most useful mathematical tools to * * anyone * * , IMHO , are logic and statistics .
( I 'm not considering arithmetic or algebra " math " for this discussion .
) Logic , or pure math , is often a second-year undergraduate course for math programs at liberal art schools in the US .
It 's often called " intro to math " , " abstract math " , or " number theory " ( though strictly speaking number theory should be considered a subset of logic/pure math , but a good and fun course to take after a intro to logic course ) .
It is important because it teaches you how to generalize and analyze problems in a rigorous manner , basically how to reason.Statistics should follow after logic since the tools learned in logic will be used to build the tools of statistics .
Statistics is important because it teaches you how to rigorously collect , interpret , and model data , basically how to make educated guesses about what happened in the past what might happen in the future.These tools are what have made human progress so amazing , and serve as the foundation for the rest of science .
While you wo n't explicitly use them every time you write code , they will be the bedrock that makes it possible to convert difficult , real-world problems into good code.Two additional suggestions : discrete math will help you understand how computers work at a fundamental level , and numerical analysis ( continuous math ) will help you figure out where errors will occur and how to deal with them .
These are tools that turn you from a code monkey into a systems analyst .</tokentext>
<sentencetext>All of the suggestions that have been modded to 5 are too high level, in my opinion.The most useful mathematical tools to **anyone**, IMHO, are logic and statistics.
(I'm not considering arithmetic or algebra "math" for this discussion.
)Logic, or pure math, is often a second-year undergraduate course for math programs at liberal art schools in the US.
It's often called "intro to math", "abstract math", or "number theory" (though strictly speaking number theory should be considered a subset of logic/pure math, but a good and fun course to take after a intro to logic course).
It is important because it teaches you how to generalize and analyze problems in a rigorous manner, basically how to reason.Statistics should follow after logic since the tools learned in logic will be used to build the tools of statistics.
Statistics is important because it teaches you how to rigorously collect, interpret, and model data, basically how to make educated guesses about what happened in the past what might happen in the future.These tools are what have made human progress so amazing, and serve as the foundation for the rest of science.
While you won't explicitly use them every time you write code, they will be the bedrock that makes it possible to convert difficult, real-world problems into good code.Two additional suggestions: discrete math will help you understand how computers work at a fundamental level, and numerical analysis (continuous math) will help you figure out where errors will occur and how to deal with them.
These are tools that turn you from a code monkey into a systems analyst.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671904</id>
	<title>Probably won't matter</title>
	<author>LinuxFreakus</author>
	<datestamp>1262802660000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>It won't matter which one you take, whatever job you end up doing, you will be solving specific types of problems based on the type of work. If you are smart you will become skilled at those types of problems just by working with it all the time.  College is not there to teach you everything you need for your future job, it just isn't possible and employers know this.  Companies look for smart people who have the aptitude to learn as both technology and your job requirements evolve. </p><p>Trust me, I barely passed my high level/advanced math course, but when it comes time to put it in practice in real life rather being stuck in an academic/testing environment, it suddenly makes a lot more sense when you actually know what it is useful for.  The grades you get in classes typically have little to do with how you will perform in real life unless there are other reasons such as irresponsible/self destructive behavior which could make you difficult to employ.  The most important thing is that you "get" programming.  I can't tell you how many otherwise intelligent people there are out there who just don't "get" programming, it almost seems like it is a genetic trait.</p></htmltext>
<tokenext>It wo n't matter which one you take , whatever job you end up doing , you will be solving specific types of problems based on the type of work .
If you are smart you will become skilled at those types of problems just by working with it all the time .
College is not there to teach you everything you need for your future job , it just is n't possible and employers know this .
Companies look for smart people who have the aptitude to learn as both technology and your job requirements evolve .
Trust me , I barely passed my high level/advanced math course , but when it comes time to put it in practice in real life rather being stuck in an academic/testing environment , it suddenly makes a lot more sense when you actually know what it is useful for .
The grades you get in classes typically have little to do with how you will perform in real life unless there are other reasons such as irresponsible/self destructive behavior which could make you difficult to employ .
The most important thing is that you " get " programming .
I ca n't tell you how many otherwise intelligent people there are out there who just do n't " get " programming , it almost seems like it is a genetic trait .</tokentext>
<sentencetext>It won't matter which one you take, whatever job you end up doing, you will be solving specific types of problems based on the type of work.
If you are smart you will become skilled at those types of problems just by working with it all the time.
College is not there to teach you everything you need for your future job, it just isn't possible and employers know this.
Companies look for smart people who have the aptitude to learn as both technology and your job requirements evolve.
Trust me, I barely passed my high level/advanced math course, but when it comes time to put it in practice in real life rather being stuck in an academic/testing environment, it suddenly makes a lot more sense when you actually know what it is useful for.
The grades you get in classes typically have little to do with how you will perform in real life unless there are other reasons such as irresponsible/self destructive behavior which could make you difficult to employ.
The most important thing is that you "get" programming.
I can't tell you how many otherwise intelligent people there are out there who just don't "get" programming, it almost seems like it is a genetic trait.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670000</id>
	<title>Re:The Second, If Not Both</title>
	<author>DeadDecoy</author>
	<datestamp>1262795520000</datestamp>
	<modclass>Interestin</modclass>
	<modscore>5</modscore>
	<htmltext>As a programmer, I've found statistics to be another useful branch of mathematics. It can be more functional when collaborating with others to do number crunching and can having varying degrees of difficulty from drop-dead-easy to omgwtfbbq. Also, probability and statistics in general, are often incorporated in machine learning to make the computer handle non-deterministic problems; good for programming AIs and such. Personally, I always liked learning the 'harder' thing as that might expose my brain to concepts or ways of thinking that I wasn't already familiar with. But regardless, math isn't too bad if you take the time and effort to understand it.</htmltext>
<tokenext>As a programmer , I 've found statistics to be another useful branch of mathematics .
It can be more functional when collaborating with others to do number crunching and can having varying degrees of difficulty from drop-dead-easy to omgwtfbbq .
Also , probability and statistics in general , are often incorporated in machine learning to make the computer handle non-deterministic problems ; good for programming AIs and such .
Personally , I always liked learning the 'harder ' thing as that might expose my brain to concepts or ways of thinking that I was n't already familiar with .
But regardless , math is n't too bad if you take the time and effort to understand it .</tokentext>
<sentencetext>As a programmer, I've found statistics to be another useful branch of mathematics.
It can be more functional when collaborating with others to do number crunching and can having varying degrees of difficulty from drop-dead-easy to omgwtfbbq.
Also, probability and statistics in general, are often incorporated in machine learning to make the computer handle non-deterministic problems; good for programming AIs and such.
Personally, I always liked learning the 'harder' thing as that might expose my brain to concepts or ways of thinking that I wasn't already familiar with.
But regardless, math isn't too bad if you take the time and effort to understand it.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670172</id>
	<title>Take both</title>
	<author>xZgf6xHx2uhoAj9D</author>
	<datestamp>1262796120000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>2</modscore>
	<htmltext>You could take an entire math degree and still not have enough math to be a decent computer scientist (being a programmer is another matter, I suppose). Discrete math (or at least I hope you meant to say "discrete". "Discreet" math would be much less useful) is extremely useful for all areas of computer science. Analysis is extremely useful for a lot of areas of computer science, but I don't think as comprehensively as discrete math.</htmltext>
<tokenext>You could take an entire math degree and still not have enough math to be a decent computer scientist ( being a programmer is another matter , I suppose ) .
Discrete math ( or at least I hope you meant to say " discrete " .
" Discreet " math would be much less useful ) is extremely useful for all areas of computer science .
Analysis is extremely useful for a lot of areas of computer science , but I do n't think as comprehensively as discrete math .</tokentext>
<sentencetext>You could take an entire math degree and still not have enough math to be a decent computer scientist (being a programmer is another matter, I suppose).
Discrete math (or at least I hope you meant to say "discrete".
"Discreet" math would be much less useful) is extremely useful for all areas of computer science.
Analysis is extremely useful for a lot of areas of computer science, but I don't think as comprehensively as discrete math.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30675286</id>
	<title>This question is easy to answer</title>
	<author>prefec2</author>
	<datestamp>1262774280000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Go for graph theory, sets, etc. as these things appear in CS all over the place. Graph theory stuff can be used with DFAs and other automata and Petri-nets. It can also help in managing semantic data. Sets are used for almost everything. In my actual position I will develop a domain specific language (DSL) which includes the description of some sort of automaton maybe something based on sync charts. Also the DSL shall be able describe things on different abstraction levels or for different abstraction levels. And on the upper level networks have to be described and verified analytically (if possible). This all involves graph theory. Vectors, euclidean space, differentials (analysis) is used mostly in simulations and sometimes (rarely) in stochastic/statistics. So go for the graphs. I also recommend learning something about description logic, Turing machines, horn clauses, languages etc. (but that should be already part of the required curriculum in any Bachelor program).</p></htmltext>
<tokenext>Go for graph theory , sets , etc .
as these things appear in CS all over the place .
Graph theory stuff can be used with DFAs and other automata and Petri-nets .
It can also help in managing semantic data .
Sets are used for almost everything .
In my actual position I will develop a domain specific language ( DSL ) which includes the description of some sort of automaton maybe something based on sync charts .
Also the DSL shall be able describe things on different abstraction levels or for different abstraction levels .
And on the upper level networks have to be described and verified analytically ( if possible ) .
This all involves graph theory .
Vectors , euclidean space , differentials ( analysis ) is used mostly in simulations and sometimes ( rarely ) in stochastic/statistics .
So go for the graphs .
I also recommend learning something about description logic , Turing machines , horn clauses , languages etc .
( but that should be already part of the required curriculum in any Bachelor program ) .</tokentext>
<sentencetext>Go for graph theory, sets, etc.
as these things appear in CS all over the place.
Graph theory stuff can be used with DFAs and other automata and Petri-nets.
It can also help in managing semantic data.
Sets are used for almost everything.
In my actual position I will develop a domain specific language (DSL) which includes the description of some sort of automaton maybe something based on sync charts.
Also the DSL shall be able describe things on different abstraction levels or for different abstraction levels.
And on the upper level networks have to be described and verified analytically (if possible).
This all involves graph theory.
Vectors, euclidean space, differentials (analysis) is used mostly in simulations and sometimes (rarely) in stochastic/statistics.
So go for the graphs.
I also recommend learning something about description logic, Turing machines, horn clauses, languages etc.
(but that should be already part of the required curriculum in any Bachelor program).</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670772</id>
	<title>Anonymous Coward</title>
	<author>Anonymous</author>
	<datestamp>1262798160000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>I am a mathematician (set theory and topology) and a programmer. 'Discreet structures with graph theory' (discrete math; proofs, sets, algorithms and graphs) is more applicable to programming, but there's a catch. At the undergraduate level, "sets" probably mean "naive set theory". (In naive set theory, the statement "x is an element of y" means that "y is a set".) Naive set theory is not mathematics. What you need as a programmer is Constructable Set Theory, which is mathematics, but is usually not taught at the undergraduate level. (In Constructable Set Theory, the statement "x is an element of y" means "x is a set". y may only be a class. Knowing the difference between a set and a class is important.) So, my advice is to take as many math courses as you can (it's just programming in disguise) and sort out the fine points later.</p></htmltext>
<tokenext>I am a mathematician ( set theory and topology ) and a programmer .
'Discreet structures with graph theory ' ( discrete math ; proofs , sets , algorithms and graphs ) is more applicable to programming , but there 's a catch .
At the undergraduate level , " sets " probably mean " naive set theory " .
( In naive set theory , the statement " x is an element of y " means that " y is a set " .
) Naive set theory is not mathematics .
What you need as a programmer is Constructable Set Theory , which is mathematics , but is usually not taught at the undergraduate level .
( In Constructable Set Theory , the statement " x is an element of y " means " x is a set " .
y may only be a class .
Knowing the difference between a set and a class is important .
) So , my advice is to take as many math courses as you can ( it 's just programming in disguise ) and sort out the fine points later .</tokentext>
<sentencetext>I am a mathematician (set theory and topology) and a programmer.
'Discreet structures with graph theory' (discrete math; proofs, sets, algorithms and graphs) is more applicable to programming, but there's a catch.
At the undergraduate level, "sets" probably mean "naive set theory".
(In naive set theory, the statement "x is an element of y" means that "y is a set".
) Naive set theory is not mathematics.
What you need as a programmer is Constructable Set Theory, which is mathematics, but is usually not taught at the undergraduate level.
(In Constructable Set Theory, the statement "x is an element of y" means "x is a set".
y may only be a class.
Knowing the difference between a set and a class is important.
) So, my advice is to take as many math courses as you can (it's just programming in disguise) and sort out the fine points later.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671642</id>
	<title>discrete math or both</title>
	<author>awilden</author>
	<datestamp>1262801580000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Of course discreet math would mean that it's subtle and below the radar, which is an interesting concept but probably not worth university credit.</p><p>If you have to choose between the two, then discrete math is really the best one.  As a long time programmer and CS professor, the basic concepts of graph theory and propositional logic are probably the most useful subfields of math to computer scientists, especially when a class like that includes stuff about functions (i.e. prove/disprove that if f is 1-1 and g is 1-1, then (f o g) is 1-1).  Even if it doesn't, you need to understand deMorgan's law at a deep level, and that sometimes a complicated logic expression can be simplified down to nothing if you just think about it.  The concept of a graph is incredibly useful for representing data of all kinds and even if you don't remember the relationship between the number of edges and vertices in a tree, seeing graphs once will give you a really useful abstraction that handles heaps and heaps of real problems you'll encounter as a professional.</p><p>People tend to fear and/or discount a class like your discrete math one because it involves proofs, and few programmers use proofs in their programming.  But IMHO, the point of teaching proofs is not that programmers should be good at proofs.  It's that writing proofs requires you to learn a system with a completely new set of rules, and apply those rules very carefully to achieve your result (aka, teaching you a new kind programming and helping you hone those skills so when your boss drops a new language manual on your desk and says you need to be programming in it in 48 hours, you stand a chance of succeeding).</p><p>Also, doing (real) proofs requires you to think really deeply about problems.  I tell students mathematicians do proofs to 1) show something is always true, 2) learn something deeper about the problem itself.  Both are useful in programming, but #2 is especially so, because that sort of thinking is what enables a programmer to keep track of the forest for the trees.  When you're debugging annoying bug #257, you're more likely to notice that this larger solution will solve #257 plus a whole bunch of other annoyances at the same time.</p><p>As many others have said, the vector math is great for graphics and signal processing.  But I think the best thing you can get out of that class is an intuitive understanding of the concept of a vector-space, because if you get that, it's useful across a far wider swath of programming than just graphics and signal processing.  Unfortunately, you don't often learn that, because in a standard linear algebra class what you learn about vector spaces is proving their rank, their null space and a whole bunch of stuff that I don't think has much application even when you're doing graphics and signal processing.</p><p>Finally, since I'm already on my soap-box, I'll point out that you might actually enjoy discrete math in spite of your dislike of math.    All the math you've likely seen so far is what mathematicians consider Analysis.  The other two big branches of math are called Algebra (you'd see a bit of this in discrete, but it has nothing to do with what you learned in high school), and Geometry/Topology (which doesn't have much to do with what you learned in high school).  I never enjoyed Analysis that much and there was some serious arm twisting to get me to try the other two branches.  But I found out that Algebra used most of the same thought processes that I'd already developed with programming, and it took my programming to a whole other level, not because I often directly used that kind of math in my code, but because it helped my brain think in a more abstract way which let me tackle harder problems in code than I could before.</p><p>It's like lifting weights -- I don't think I often do things on a day to day basis that could be classified as a military press or a leg curl, but I know that if I life it just makes me a stronger and healthier person and that's good enough for me.</p></htmltext>
<tokenext>Of course discreet math would mean that it 's subtle and below the radar , which is an interesting concept but probably not worth university credit.If you have to choose between the two , then discrete math is really the best one .
As a long time programmer and CS professor , the basic concepts of graph theory and propositional logic are probably the most useful subfields of math to computer scientists , especially when a class like that includes stuff about functions ( i.e .
prove/disprove that if f is 1-1 and g is 1-1 , then ( f o g ) is 1-1 ) .
Even if it does n't , you need to understand deMorgan 's law at a deep level , and that sometimes a complicated logic expression can be simplified down to nothing if you just think about it .
The concept of a graph is incredibly useful for representing data of all kinds and even if you do n't remember the relationship between the number of edges and vertices in a tree , seeing graphs once will give you a really useful abstraction that handles heaps and heaps of real problems you 'll encounter as a professional.People tend to fear and/or discount a class like your discrete math one because it involves proofs , and few programmers use proofs in their programming .
But IMHO , the point of teaching proofs is not that programmers should be good at proofs .
It 's that writing proofs requires you to learn a system with a completely new set of rules , and apply those rules very carefully to achieve your result ( aka , teaching you a new kind programming and helping you hone those skills so when your boss drops a new language manual on your desk and says you need to be programming in it in 48 hours , you stand a chance of succeeding ) .Also , doing ( real ) proofs requires you to think really deeply about problems .
I tell students mathematicians do proofs to 1 ) show something is always true , 2 ) learn something deeper about the problem itself .
Both are useful in programming , but # 2 is especially so , because that sort of thinking is what enables a programmer to keep track of the forest for the trees .
When you 're debugging annoying bug # 257 , you 're more likely to notice that this larger solution will solve # 257 plus a whole bunch of other annoyances at the same time.As many others have said , the vector math is great for graphics and signal processing .
But I think the best thing you can get out of that class is an intuitive understanding of the concept of a vector-space , because if you get that , it 's useful across a far wider swath of programming than just graphics and signal processing .
Unfortunately , you do n't often learn that , because in a standard linear algebra class what you learn about vector spaces is proving their rank , their null space and a whole bunch of stuff that I do n't think has much application even when you 're doing graphics and signal processing.Finally , since I 'm already on my soap-box , I 'll point out that you might actually enjoy discrete math in spite of your dislike of math .
All the math you 've likely seen so far is what mathematicians consider Analysis .
The other two big branches of math are called Algebra ( you 'd see a bit of this in discrete , but it has nothing to do with what you learned in high school ) , and Geometry/Topology ( which does n't have much to do with what you learned in high school ) .
I never enjoyed Analysis that much and there was some serious arm twisting to get me to try the other two branches .
But I found out that Algebra used most of the same thought processes that I 'd already developed with programming , and it took my programming to a whole other level , not because I often directly used that kind of math in my code , but because it helped my brain think in a more abstract way which let me tackle harder problems in code than I could before.It 's like lifting weights -- I do n't think I often do things on a day to day basis that could be classified as a military press or a leg curl , but I know that if I life it just makes me a stronger and healthier person and that 's good enough for me .</tokentext>
<sentencetext>Of course discreet math would mean that it's subtle and below the radar, which is an interesting concept but probably not worth university credit.If you have to choose between the two, then discrete math is really the best one.
As a long time programmer and CS professor, the basic concepts of graph theory and propositional logic are probably the most useful subfields of math to computer scientists, especially when a class like that includes stuff about functions (i.e.
prove/disprove that if f is 1-1 and g is 1-1, then (f o g) is 1-1).
Even if it doesn't, you need to understand deMorgan's law at a deep level, and that sometimes a complicated logic expression can be simplified down to nothing if you just think about it.
The concept of a graph is incredibly useful for representing data of all kinds and even if you don't remember the relationship between the number of edges and vertices in a tree, seeing graphs once will give you a really useful abstraction that handles heaps and heaps of real problems you'll encounter as a professional.People tend to fear and/or discount a class like your discrete math one because it involves proofs, and few programmers use proofs in their programming.
But IMHO, the point of teaching proofs is not that programmers should be good at proofs.
It's that writing proofs requires you to learn a system with a completely new set of rules, and apply those rules very carefully to achieve your result (aka, teaching you a new kind programming and helping you hone those skills so when your boss drops a new language manual on your desk and says you need to be programming in it in 48 hours, you stand a chance of succeeding).Also, doing (real) proofs requires you to think really deeply about problems.
I tell students mathematicians do proofs to 1) show something is always true, 2) learn something deeper about the problem itself.
Both are useful in programming, but #2 is especially so, because that sort of thinking is what enables a programmer to keep track of the forest for the trees.
When you're debugging annoying bug #257, you're more likely to notice that this larger solution will solve #257 plus a whole bunch of other annoyances at the same time.As many others have said, the vector math is great for graphics and signal processing.
But I think the best thing you can get out of that class is an intuitive understanding of the concept of a vector-space, because if you get that, it's useful across a far wider swath of programming than just graphics and signal processing.
Unfortunately, you don't often learn that, because in a standard linear algebra class what you learn about vector spaces is proving their rank, their null space and a whole bunch of stuff that I don't think has much application even when you're doing graphics and signal processing.Finally, since I'm already on my soap-box, I'll point out that you might actually enjoy discrete math in spite of your dislike of math.
All the math you've likely seen so far is what mathematicians consider Analysis.
The other two big branches of math are called Algebra (you'd see a bit of this in discrete, but it has nothing to do with what you learned in high school), and Geometry/Topology (which doesn't have much to do with what you learned in high school).
I never enjoyed Analysis that much and there was some serious arm twisting to get me to try the other two branches.
But I found out that Algebra used most of the same thought processes that I'd already developed with programming, and it took my programming to a whole other level, not because I often directly used that kind of math in my code, but because it helped my brain think in a more abstract way which let me tackle harder problems in code than I could before.It's like lifting weights -- I don't think I often do things on a day to day basis that could be classified as a military press or a leg curl, but I know that if I life it just makes me a stronger and healthier person and that's good enough for me.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30673422</id>
	<title>Don't Ask a Math Geek What Math to Take...</title>
	<author>tiberus</author>
	<datestamp>1262808840000</datestamp>
	<modclass>None</modclass>
	<modscore>2</modscore>
	<htmltext><p><div class="quote"><p>But contrary to my own opinion, one assistant told me that it would be more useful for a programmer compared to the first subject. Then again, he's not a programmer.</p></div><p>In general I would say, it's a good think you asked for programmer geeks to comment and didn't take the math geeks advice.  My wife, an early childhood teacher, took a math class titled "Teaching Math for Early Childhood Educators".  It was taught my someone in the Math PhD Program where she was taking her education classes at the time.
</p><p>
When they suggested to the instructor that they would never use what they were being taught (note: there were special educators in this class as well), his response was "Sure you'll use it, it's fun and easy."  Several of them couldn't control their laughter.  I was tutoring her thought matrix algebra and teaching her the shortcuts (He only taught them formal methods).  She still gives me that "I will set you ablaze" look when it comes to mind, guess we can survive anything.
</p><p>
The good advice is to take what interests you, what you think you can survive and seems to apply to what you want to do as a programmer pretty much in that order.  I'm a member of the more math can never hurt when your a programmer but, it might lead to divorce.</p></div>
	</htmltext>
<tokenext>But contrary to my own opinion , one assistant told me that it would be more useful for a programmer compared to the first subject .
Then again , he 's not a programmer.In general I would say , it 's a good think you asked for programmer geeks to comment and did n't take the math geeks advice .
My wife , an early childhood teacher , took a math class titled " Teaching Math for Early Childhood Educators " .
It was taught my someone in the Math PhD Program where she was taking her education classes at the time .
When they suggested to the instructor that they would never use what they were being taught ( note : there were special educators in this class as well ) , his response was " Sure you 'll use it , it 's fun and easy .
" Several of them could n't control their laughter .
I was tutoring her thought matrix algebra and teaching her the shortcuts ( He only taught them formal methods ) .
She still gives me that " I will set you ablaze " look when it comes to mind , guess we can survive anything .
The good advice is to take what interests you , what you think you can survive and seems to apply to what you want to do as a programmer pretty much in that order .
I 'm a member of the more math can never hurt when your a programmer but , it might lead to divorce .</tokentext>
<sentencetext>But contrary to my own opinion, one assistant told me that it would be more useful for a programmer compared to the first subject.
Then again, he's not a programmer.In general I would say, it's a good think you asked for programmer geeks to comment and didn't take the math geeks advice.
My wife, an early childhood teacher, took a math class titled "Teaching Math for Early Childhood Educators".
It was taught my someone in the Math PhD Program where she was taking her education classes at the time.
When they suggested to the instructor that they would never use what they were being taught (note: there were special educators in this class as well), his response was "Sure you'll use it, it's fun and easy.
"  Several of them couldn't control their laughter.
I was tutoring her thought matrix algebra and teaching her the shortcuts (He only taught them formal methods).
She still gives me that "I will set you ablaze" look when it comes to mind, guess we can survive anything.
The good advice is to take what interests you, what you think you can survive and seems to apply to what you want to do as a programmer pretty much in that order.
I'm a member of the more math can never hurt when your a programmer but, it might lead to divorce.
	</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670580</id>
	<title>Pianos have keys too</title>
	<author>ClogHammer</author>
	<datestamp>1262797560000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext>You should have been a music major if you want to program.</htmltext>
<tokenext>You should have been a music major if you want to program .</tokentext>
<sentencetext>You should have been a music major if you want to program.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670538</id>
	<title>Both, and a good essay class</title>
	<author>abulafia</author>
	<datestamp>1262797440000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>You don't say what you want to do, long term. If you want to do interesting things in programming, then certainly, pile up the math, and don't shy from hard courses - you want to be pushed here.</p><p>Something to keep in mind, however, is that coding isn't all about 'l33t algorithm skills. Rather a lot of it is using other people's APIs, and if you're good, creating the same. This, fundamentally, is a communications problem, not a coding problem. It has been my experience that the best coders are also very solid communicators, and I don't believe this is coincidental. Even if you think you write well now, learn to be better at it. This is also future-proofing; even after the Singularity, metahumans will still communicate, and in the mean-time, you may find that you don't want to code for the rest of your life. People mock English majors a lot, but working your writing skills is something that is very, very broadly applicable.</p></htmltext>
<tokenext>You do n't say what you want to do , long term .
If you want to do interesting things in programming , then certainly , pile up the math , and do n't shy from hard courses - you want to be pushed here.Something to keep in mind , however , is that coding is n't all about 'l33t algorithm skills .
Rather a lot of it is using other people 's APIs , and if you 're good , creating the same .
This , fundamentally , is a communications problem , not a coding problem .
It has been my experience that the best coders are also very solid communicators , and I do n't believe this is coincidental .
Even if you think you write well now , learn to be better at it .
This is also future-proofing ; even after the Singularity , metahumans will still communicate , and in the mean-time , you may find that you do n't want to code for the rest of your life .
People mock English majors a lot , but working your writing skills is something that is very , very broadly applicable .</tokentext>
<sentencetext>You don't say what you want to do, long term.
If you want to do interesting things in programming, then certainly, pile up the math, and don't shy from hard courses - you want to be pushed here.Something to keep in mind, however, is that coding isn't all about 'l33t algorithm skills.
Rather a lot of it is using other people's APIs, and if you're good, creating the same.
This, fundamentally, is a communications problem, not a coding problem.
It has been my experience that the best coders are also very solid communicators, and I don't believe this is coincidental.
Even if you think you write well now, learn to be better at it.
This is also future-proofing; even after the Singularity, metahumans will still communicate, and in the mean-time, you may find that you don't want to code for the rest of your life.
People mock English majors a lot, but working your writing skills is something that is very, very broadly applicable.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670278</id>
	<title>If you don't take both, you suck.</title>
	<author>Anonymous</author>
	<datestamp>1262796480000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Seriously, if you applied for a job but the interviewer told you some people said it was hard, would it stop you?  My guess is that you would ask slashdot again.  How about some background information about your interests?  What kind of decent computer science program doesn't require both?  My advice: Don't ever tell anyone that you had to ask slashdot to decide what classes to take!</p></htmltext>
<tokenext>Seriously , if you applied for a job but the interviewer told you some people said it was hard , would it stop you ?
My guess is that you would ask slashdot again .
How about some background information about your interests ?
What kind of decent computer science program does n't require both ?
My advice : Do n't ever tell anyone that you had to ask slashdot to decide what classes to take !</tokentext>
<sentencetext>Seriously, if you applied for a job but the interviewer told you some people said it was hard, would it stop you?
My guess is that you would ask slashdot again.
How about some background information about your interests?
What kind of decent computer science program doesn't require both?
My advice: Don't ever tell anyone that you had to ask slashdot to decide what classes to take!</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30679426</id>
	<title>Anonymous Coward</title>
	<author>Anonymous</author>
	<datestamp>1262803440000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>hey now,,,</p><p>what about mathematical logic, or logical calculi, or modal logic, or constructivist methods of mathematics,,, or any math regarding<br>Godel, Church, Turing...pursue the issue of infinity and computability, and algorythms.</p><p>blahabaahahah</p></htmltext>
<tokenext>hey now,,,what about mathematical logic , or logical calculi , or modal logic , or constructivist methods of mathematics,, , or any math regardingGodel , Church , Turing...pursue the issue of infinity and computability , and algorythms.blahabaahahah</tokentext>
<sentencetext>hey now,,,what about mathematical logic, or logical calculi, or modal logic, or constructivist methods of mathematics,,, or any math regardingGodel, Church, Turing...pursue the issue of infinity and computability, and algorythms.blahabaahahah</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669954</id>
	<title>Takje the algorithms course.</title>
	<author>argent</author>
	<datestamp>1262795460000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>I would take the algorithms course first. I'd suggest taking both of them, since it sounds like you're not doing nearly enough math, but graphs and algorithms are central to so much computer science that it will definitely help to take that one first.</p></htmltext>
<tokenext>I would take the algorithms course first .
I 'd suggest taking both of them , since it sounds like you 're not doing nearly enough math , but graphs and algorithms are central to so much computer science that it will definitely help to take that one first .</tokentext>
<sentencetext>I would take the algorithms course first.
I'd suggest taking both of them, since it sounds like you're not doing nearly enough math, but graphs and algorithms are central to so much computer science that it will definitely help to take that one first.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670124</id>
	<title>My $.02 - graph theory and discrete math!</title>
	<author>david.emery</author>
	<datestamp>1262795940000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>3</modscore>
	<htmltext><p>I'd strongly recommend going with choice #1.  There's a huge amount of application of graph theory, etc. in both computer science and in practical programming.</p><p>My undergrad degree is in Math, and I have -never- used anything I learned in the classical mathematic topics past linear algebra.  The courses in statistics and probability, and the 2 Operations Research courses (I was very lucky to get both of them) have been the really useful items.  Unfortunately I was unable to take the graph theory course, but I bought the book anyway.</p><p>In conversations with my Alma Mater, they have substantially changed their curriculum, moving away from the classical analysis topics and more into discrete math.</p></htmltext>
<tokenext>I 'd strongly recommend going with choice # 1 .
There 's a huge amount of application of graph theory , etc .
in both computer science and in practical programming.My undergrad degree is in Math , and I have -never- used anything I learned in the classical mathematic topics past linear algebra .
The courses in statistics and probability , and the 2 Operations Research courses ( I was very lucky to get both of them ) have been the really useful items .
Unfortunately I was unable to take the graph theory course , but I bought the book anyway.In conversations with my Alma Mater , they have substantially changed their curriculum , moving away from the classical analysis topics and more into discrete math .</tokentext>
<sentencetext>I'd strongly recommend going with choice #1.
There's a huge amount of application of graph theory, etc.
in both computer science and in practical programming.My undergrad degree is in Math, and I have -never- used anything I learned in the classical mathematic topics past linear algebra.
The courses in statistics and probability, and the 2 Operations Research courses (I was very lucky to get both of them) have been the really useful items.
Unfortunately I was unable to take the graph theory course, but I bought the book anyway.In conversations with my Alma Mater, they have substantially changed their curriculum, moving away from the classical analysis topics and more into discrete math.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672194</id>
	<title>My Vote</title>
	<author>dcollins</author>
	<datestamp>1262803740000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>College math lecturer, former game programmer. Sounds broadly to me like the first class (discrete structures) will be a bit better for you. Yes, the second class might be better if specifically you expect to focus on 3D graphics programming. (Note: I had a year long sequence in computer graphics in college but even then never actually used it in my two game programming positions... did more game logic, AI, audio, networking, etc.)</p><p>Just my take.</p></htmltext>
<tokenext>College math lecturer , former game programmer .
Sounds broadly to me like the first class ( discrete structures ) will be a bit better for you .
Yes , the second class might be better if specifically you expect to focus on 3D graphics programming .
( Note : I had a year long sequence in computer graphics in college but even then never actually used it in my two game programming positions... did more game logic , AI , audio , networking , etc .
) Just my take .</tokentext>
<sentencetext>College math lecturer, former game programmer.
Sounds broadly to me like the first class (discrete structures) will be a bit better for you.
Yes, the second class might be better if specifically you expect to focus on 3D graphics programming.
(Note: I had a year long sequence in computer graphics in college but even then never actually used it in my two game programming positions... did more game logic, AI, audio, networking, etc.
)Just my take.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670628</id>
	<title>All math is good... depends on type of programming</title>
	<author>jonscilz</author>
	<datestamp>1262797740000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>As an engineer who graduated with a BS in Biomedical Engineering and now does programming for the federal government any type of mathematics will help you with your programming skills. Math analysis; vectors, euclidean space differentials are definitely more practical particularly if you are going to deal with any form of physics, mechanics or statistics logic/formula in your programs. Discreet math is also a very valuable course as well however after algebra, geometry and calc 1, the absolute most important advanced mathematics course you can take with regards to programming is LINEAR ALGEBRA which deals with solving multi-dimentional problems through vectors and matrix. This becomes invaluable when visualizing complex variables in programming (eg. arrays). Trust me.</p></htmltext>
<tokenext>As an engineer who graduated with a BS in Biomedical Engineering and now does programming for the federal government any type of mathematics will help you with your programming skills .
Math analysis ; vectors , euclidean space differentials are definitely more practical particularly if you are going to deal with any form of physics , mechanics or statistics logic/formula in your programs .
Discreet math is also a very valuable course as well however after algebra , geometry and calc 1 , the absolute most important advanced mathematics course you can take with regards to programming is LINEAR ALGEBRA which deals with solving multi-dimentional problems through vectors and matrix .
This becomes invaluable when visualizing complex variables in programming ( eg .
arrays ) . Trust me .</tokentext>
<sentencetext>As an engineer who graduated with a BS in Biomedical Engineering and now does programming for the federal government any type of mathematics will help you with your programming skills.
Math analysis; vectors, euclidean space differentials are definitely more practical particularly if you are going to deal with any form of physics, mechanics or statistics logic/formula in your programs.
Discreet math is also a very valuable course as well however after algebra, geometry and calc 1, the absolute most important advanced mathematics course you can take with regards to programming is LINEAR ALGEBRA which deals with solving multi-dimentional problems through vectors and matrix.
This becomes invaluable when visualizing complex variables in programming (eg.
arrays). Trust me.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30673868</id>
	<title>Well</title>
	<author>Anonymous</author>
	<datestamp>1262811060000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>I have a PhD in Math. Employers didn't care about my PhD. They cared about my BS in CS. Math isn't in demand as a skill.</p></htmltext>
<tokenext>I have a PhD in Math .
Employers did n't care about my PhD .
They cared about my BS in CS .
Math is n't in demand as a skill .</tokentext>
<sentencetext>I have a PhD in Math.
Employers didn't care about my PhD.
They cared about my BS in CS.
Math isn't in demand as a skill.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30675532</id>
	<title>Quick Answer</title>
	<author>frank\_adrian314159</author>
	<datestamp>1262775300000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Take both.  Really.  They're both useful.  In fact, stay on long enough to take one this term and the other another term.  If you have to wait a year or two for the second to come around again, even better.  You can use the time to boink co-eds.  And besides, the job market is still sucking.</p></htmltext>
<tokenext>Take both .
Really. They 're both useful .
In fact , stay on long enough to take one this term and the other another term .
If you have to wait a year or two for the second to come around again , even better .
You can use the time to boink co-eds .
And besides , the job market is still sucking .</tokentext>
<sentencetext>Take both.
Really.  They're both useful.
In fact, stay on long enough to take one this term and the other another term.
If you have to wait a year or two for the second to come around again, even better.
You can use the time to boink co-eds.
And besides, the job market is still sucking.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674326</id>
	<title>You can get by without either...</title>
	<author>Anonymous</author>
	<datestamp>1262769660000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>You can get by without either as I have seen many programmers do.  Now their code is unreadable by most humans and even most of the compilers for the languages they work with, but that has not stopped them from creating reams of code that almost does what is needed.  Their BA in Art History did not require Math beyond basic addition and subtraction.</p><p>Now if you are aiming for understanding the math you are taking, it sounds like you have already found a point where you are struggling.  It might be time to take a step back an assess the foundations to make sure those concepts are fully understood.</p></htmltext>
<tokenext>You can get by without either as I have seen many programmers do .
Now their code is unreadable by most humans and even most of the compilers for the languages they work with , but that has not stopped them from creating reams of code that almost does what is needed .
Their BA in Art History did not require Math beyond basic addition and subtraction.Now if you are aiming for understanding the math you are taking , it sounds like you have already found a point where you are struggling .
It might be time to take a step back an assess the foundations to make sure those concepts are fully understood .</tokentext>
<sentencetext>You can get by without either as I have seen many programmers do.
Now their code is unreadable by most humans and even most of the compilers for the languages they work with, but that has not stopped them from creating reams of code that almost does what is needed.
Their BA in Art History did not require Math beyond basic addition and subtraction.Now if you are aiming for understanding the math you are taking, it sounds like you have already found a point where you are struggling.
It might be time to take a step back an assess the foundations to make sure those concepts are fully understood.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30675396</id>
	<title>Discrete</title>
	<author>agrajag9</author>
	<datestamp>1262774820000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>Having a degree in Mathematics and having worked with and briefly as a developer for a large IT company, I say take discrete math. The other class is probably more computationally intensive, but what you do in programming is much more logic based than computation based. Discrete math will deal with topics that are more related to programming and should build logical thought processes in your mind. Also, proof writing very frequently requires extreme outside-the-box thinking which is also a very important thing in development.</htmltext>
<tokenext>Having a degree in Mathematics and having worked with and briefly as a developer for a large IT company , I say take discrete math .
The other class is probably more computationally intensive , but what you do in programming is much more logic based than computation based .
Discrete math will deal with topics that are more related to programming and should build logical thought processes in your mind .
Also , proof writing very frequently requires extreme outside-the-box thinking which is also a very important thing in development .</tokentext>
<sentencetext>Having a degree in Mathematics and having worked with and briefly as a developer for a large IT company, I say take discrete math.
The other class is probably more computationally intensive, but what you do in programming is much more logic based than computation based.
Discrete math will deal with topics that are more related to programming and should build logical thought processes in your mind.
Also, proof writing very frequently requires extreme outside-the-box thinking which is also a very important thing in development.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30673854</id>
	<title>Discrete structures.</title>
	<author>ex\_ottoyuhr</author>
	<datestamp>1262811000000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>In my experience, math is almost completely irrelevant to computers; <i>logic</i> is what you need to know. Speaking personally, my one year of undergraduate-level Catholic theology and Aristotelian logic has been more useful to me in computer programming than anything in my four years of undergraduate-level mathematics, with the sole exception of set theory.</p></htmltext>
<tokenext>In my experience , math is almost completely irrelevant to computers ; logic is what you need to know .
Speaking personally , my one year of undergraduate-level Catholic theology and Aristotelian logic has been more useful to me in computer programming than anything in my four years of undergraduate-level mathematics , with the sole exception of set theory .</tokentext>
<sentencetext>In my experience, math is almost completely irrelevant to computers; logic is what you need to know.
Speaking personally, my one year of undergraduate-level Catholic theology and Aristotelian logic has been more useful to me in computer programming than anything in my four years of undergraduate-level mathematics, with the sole exception of set theory.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30673930</id>
	<title>Hard?</title>
	<author>OhHellWithIt</author>
	<datestamp>1262811360000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>The teachers I have learned the most from have always been the ones with a reputation for being difficult -- with the exception of the freshman sociology prof who couldn't stand the fact that his course was regarded as an easy A and set out to make it difficult. And even from him, I learned a thing or two to avoid doing if I did not wish to be considered an ass.</p></htmltext>
<tokenext>The teachers I have learned the most from have always been the ones with a reputation for being difficult -- with the exception of the freshman sociology prof who could n't stand the fact that his course was regarded as an easy A and set out to make it difficult .
And even from him , I learned a thing or two to avoid doing if I did not wish to be considered an ass .</tokentext>
<sentencetext>The teachers I have learned the most from have always been the ones with a reputation for being difficult -- with the exception of the freshman sociology prof who couldn't stand the fact that his course was regarded as an easy A and set out to make it difficult.
And even from him, I learned a thing or two to avoid doing if I did not wish to be considered an ass.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671420</id>
	<title>Math and CS</title>
	<author>Spazmania</author>
	<datestamp>1262800740000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>As a software developer, I've used little calculus-based math since college. Unless you want to develop software in a specific problem domain that uses a lot of higher math, your encounters with math beyond Trig will be as sparse as a carpenter's.</p><p>That having been said, since your degree probably requires more math I would steer towards graph theory and discrete math. Stay well clear of differential equations. Graph theory has some relevance to computer networking while differential equations a) damn near killed me and b) doesn't buy you anything in CS that I've been able to figure.</p></htmltext>
<tokenext>As a software developer , I 've used little calculus-based math since college .
Unless you want to develop software in a specific problem domain that uses a lot of higher math , your encounters with math beyond Trig will be as sparse as a carpenter 's.That having been said , since your degree probably requires more math I would steer towards graph theory and discrete math .
Stay well clear of differential equations .
Graph theory has some relevance to computer networking while differential equations a ) damn near killed me and b ) does n't buy you anything in CS that I 've been able to figure .</tokentext>
<sentencetext>As a software developer, I've used little calculus-based math since college.
Unless you want to develop software in a specific problem domain that uses a lot of higher math, your encounters with math beyond Trig will be as sparse as a carpenter's.That having been said, since your degree probably requires more math I would steer towards graph theory and discrete math.
Stay well clear of differential equations.
Graph theory has some relevance to computer networking while differential equations a) damn near killed me and b) doesn't buy you anything in CS that I've been able to figure.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672284</id>
	<title>which one...</title>
	<author>hesaigo999ca</author>
	<datestamp>1262804100000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>&gt;Selected math chapters' (math analysis; vectors, euclidean space, differentials)<br>The fact that vectors are in here, is great, and should be looked into, as well as anything with logical circuits and boolean algebra.</p><p>I once was able to use boolean algebra to create a flowchart of a regular conversation between 2 people (albeit it was in a controlled format) which lent much to analyzing people's responses based on their emotions at the time....sort of almost using words to figure out if they were telling the truth or not...(actually "and not"<nobr> <wbr></nobr>....get it...!)</p><p>The fact that they guy suggesting which course to take was not a hardcore programmer with years of exp. and many years of proof reading people's work or code. You can tell the real mathematicians when you read their code.<br>Keep in mind, also that you are embarking upon a field which not only can totally enthrall you, but consume you as well, to the point of making you want to leave programming altogether.</p></htmltext>
<tokenext>&gt; Selected math chapters ' ( math analysis ; vectors , euclidean space , differentials ) The fact that vectors are in here , is great , and should be looked into , as well as anything with logical circuits and boolean algebra.I once was able to use boolean algebra to create a flowchart of a regular conversation between 2 people ( albeit it was in a controlled format ) which lent much to analyzing people 's responses based on their emotions at the time....sort of almost using words to figure out if they were telling the truth or not... ( actually " and not " ....get it... !
) The fact that they guy suggesting which course to take was not a hardcore programmer with years of exp .
and many years of proof reading people 's work or code .
You can tell the real mathematicians when you read their code.Keep in mind , also that you are embarking upon a field which not only can totally enthrall you , but consume you as well , to the point of making you want to leave programming altogether .</tokentext>
<sentencetext>&gt;Selected math chapters' (math analysis; vectors, euclidean space, differentials)The fact that vectors are in here, is great, and should be looked into, as well as anything with logical circuits and boolean algebra.I once was able to use boolean algebra to create a flowchart of a regular conversation between 2 people (albeit it was in a controlled format) which lent much to analyzing people's responses based on their emotions at the time....sort of almost using words to figure out if they were telling the truth or not...(actually "and not" ....get it...!
)The fact that they guy suggesting which course to take was not a hardcore programmer with years of exp.
and many years of proof reading people's work or code.
You can tell the real mathematicians when you read their code.Keep in mind, also that you are embarking upon a field which not only can totally enthrall you, but consume you as well, to the point of making you want to leave programming altogether.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670690</id>
	<title>Man Up</title>
	<author>Anonymous</author>
	<datestamp>1262797920000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>I am curious what school does not require you to take both of those?</p><p>To me (not that anyone cares) a serious interest in computers results/goes hand and hand with a significant interest in Mathematics, Physics and even Chemistry.  All of which were requirements for my degree in computer engineering.  I never understood people who say things like "I am a software guy, I hate dealing with hardware".  Similarly I have trouble comprehending someone who enjoys programming but doesn't enjoy math.</p><p>Advice:<br>Take both classes and any other math class that you have time for.  Get a minor or a second major in Mathematics if possible.</p></htmltext>
<tokenext>I am curious what school does not require you to take both of those ? To me ( not that anyone cares ) a serious interest in computers results/goes hand and hand with a significant interest in Mathematics , Physics and even Chemistry .
All of which were requirements for my degree in computer engineering .
I never understood people who say things like " I am a software guy , I hate dealing with hardware " .
Similarly I have trouble comprehending someone who enjoys programming but does n't enjoy math.Advice : Take both classes and any other math class that you have time for .
Get a minor or a second major in Mathematics if possible .</tokentext>
<sentencetext>I am curious what school does not require you to take both of those?To me (not that anyone cares) a serious interest in computers results/goes hand and hand with a significant interest in Mathematics, Physics and even Chemistry.
All of which were requirements for my degree in computer engineering.
I never understood people who say things like "I am a software guy, I hate dealing with hardware".
Similarly I have trouble comprehending someone who enjoys programming but doesn't enjoy math.Advice:Take both classes and any other math class that you have time for.
Get a minor or a second major in Mathematics if possible.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672554</id>
	<title>Re:Physicists?</title>
	<author>Anonymous</author>
	<datestamp>1262805240000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>I hope you are right.  I'm an electrical engineer trying to transition into software development.  Also going back to school for a masters in CS.</p></htmltext>
<tokenext>I hope you are right .
I 'm an electrical engineer trying to transition into software development .
Also going back to school for a masters in CS .</tokentext>
<sentencetext>I hope you are right.
I'm an electrical engineer trying to transition into software development.
Also going back to school for a masters in CS.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669802</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670388</id>
	<title>Check your curriculum</title>
	<author>Sheepless</author>
	<datestamp>1262796900000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>I took both (2 semesters of discrete math, in fact; 3 semesters of traditional math). In my work, primarily in integration and web apps, I find the set theory and discrete math (logic) a lot more useful. However, if you do other things, you might find the "traditional" math more useful. But I wanted to share that in my own curriculum, I was required to take an Algorithms and Data Structures class that covered almost exactly the discrete math topics. I took them at the same time. The A&amp;DS class was (in theory) more practical, but much of the theory was the same. Learning proofs will make your brain hurt (in the "no pain, no gain" sense), but I doubt you need both A&amp;DS and discrete math unless, as others have pointed out, you plan to go for a PhD and go into research.</htmltext>
<tokenext>I took both ( 2 semesters of discrete math , in fact ; 3 semesters of traditional math ) .
In my work , primarily in integration and web apps , I find the set theory and discrete math ( logic ) a lot more useful .
However , if you do other things , you might find the " traditional " math more useful .
But I wanted to share that in my own curriculum , I was required to take an Algorithms and Data Structures class that covered almost exactly the discrete math topics .
I took them at the same time .
The A&amp;DS class was ( in theory ) more practical , but much of the theory was the same .
Learning proofs will make your brain hurt ( in the " no pain , no gain " sense ) , but I doubt you need both A&amp;DS and discrete math unless , as others have pointed out , you plan to go for a PhD and go into research .</tokentext>
<sentencetext>I took both (2 semesters of discrete math, in fact; 3 semesters of traditional math).
In my work, primarily in integration and web apps, I find the set theory and discrete math (logic) a lot more useful.
However, if you do other things, you might find the "traditional" math more useful.
But I wanted to share that in my own curriculum, I was required to take an Algorithms and Data Structures class that covered almost exactly the discrete math topics.
I took them at the same time.
The A&amp;DS class was (in theory) more practical, but much of the theory was the same.
Learning proofs will make your brain hurt (in the "no pain, no gain" sense), but I doubt you need both A&amp;DS and discrete math unless, as others have pointed out, you plan to go for a PhD and go into research.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671154</id>
	<title>Re:Take the easier course</title>
	<author>nomadic</author>
	<datestamp>1262799780000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><i>boolean algebra is just a subset of set theory</i>
<br>
<br>
Bah-dum-dum.</htmltext>
<tokenext>boolean algebra is just a subset of set theory Bah-dum-dum .</tokentext>
<sentencetext>boolean algebra is just a subset of set theory


Bah-dum-dum.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669974</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670068</id>
	<title>take Discreet</title>
	<author>trybywrench</author>
	<datestamp>1262795760000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>4</modscore>
	<htmltext>Set theory and graph theory come in handing when programming.<br> <br> Some variation of the "traveling salesman" problem, a graphing problem, shows up in every industry out there so it would be a good idea to be familiar with its nuances and the various approaches to getting it mostly right (i don't think it has been solved).<br> <br>
Set theory is a good place to start thinking about just about anything. You'll probably also cover combinatorics, formal logic, and predicate calculas along with set theory which are also great tools to have when programming.</htmltext>
<tokenext>Set theory and graph theory come in handing when programming .
Some variation of the " traveling salesman " problem , a graphing problem , shows up in every industry out there so it would be a good idea to be familiar with its nuances and the various approaches to getting it mostly right ( i do n't think it has been solved ) .
Set theory is a good place to start thinking about just about anything .
You 'll probably also cover combinatorics , formal logic , and predicate calculas along with set theory which are also great tools to have when programming .</tokentext>
<sentencetext>Set theory and graph theory come in handing when programming.
Some variation of the "traveling salesman" problem, a graphing problem, shows up in every industry out there so it would be a good idea to be familiar with its nuances and the various approaches to getting it mostly right (i don't think it has been solved).
Set theory is a good place to start thinking about just about anything.
You'll probably also cover combinatorics, formal logic, and predicate calculas along with set theory which are also great tools to have when programming.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670284</id>
	<title>Re:The Second, If Not Both</title>
	<author>samkass</author>
	<datestamp>1262796480000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>5</modscore>
	<htmltext><p>If you're going to choose and not do both, then it largely depends on what kind of "programming" you're going to do.  Note that "Programming" is a very different profession from Computer Science or Software Engineering.  If you're interested in 3D, games, physics, etc., you're going to need a solid foundation in linear algebra and calculus.  If you're going to be dealing in large datasets, distributed systems, client-server communications, etc., then discrete math and set theory will probably be very useful.  If you're going to go into AI, classifiers, robotics, etc., then you'll probably want both, plus statistics.</p><p>If you're just going to bang out code to someone else's careful spec, then you may not need all that much math.</p></htmltext>
<tokenext>If you 're going to choose and not do both , then it largely depends on what kind of " programming " you 're going to do .
Note that " Programming " is a very different profession from Computer Science or Software Engineering .
If you 're interested in 3D , games , physics , etc. , you 're going to need a solid foundation in linear algebra and calculus .
If you 're going to be dealing in large datasets , distributed systems , client-server communications , etc. , then discrete math and set theory will probably be very useful .
If you 're going to go into AI , classifiers , robotics , etc. , then you 'll probably want both , plus statistics.If you 're just going to bang out code to someone else 's careful spec , then you may not need all that much math .</tokentext>
<sentencetext>If you're going to choose and not do both, then it largely depends on what kind of "programming" you're going to do.
Note that "Programming" is a very different profession from Computer Science or Software Engineering.
If you're interested in 3D, games, physics, etc., you're going to need a solid foundation in linear algebra and calculus.
If you're going to be dealing in large datasets, distributed systems, client-server communications, etc., then discrete math and set theory will probably be very useful.
If you're going to go into AI, classifiers, robotics, etc., then you'll probably want both, plus statistics.If you're just going to bang out code to someone else's careful spec, then you may not need all that much math.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671306</id>
	<title>Re:Study what you enjoy</title>
	<author>Xest</author>
	<datestamp>1262800260000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>"If you want to kick ass, you need all the introductory math you put your hands on (advanced university level math is too theoretical though and only useful for quantum physics and math majors)."</p><p>I disagree completely, it's the advanced level stuff I found most applicable. High end computability theory and combinatorics is why I've been able to create configurator software for the products the firm I work for sells that no other competitor in the industry has, it's let us take 60\% global marketshare in our field.</p><p>So in my experience it's quite the contrary, the high end stuff is what really lets you change the game. Most companies will have people who can do the low level stuff- the bare minimum to do a good job, much fewer have people capable of writing software and doing the high end math so that's truly what will let you stand out.</p><p>Even if you're not solving problems yourself you may come across papers explaining theoretical concepts that could solve the problem you need to solve, but good luck taking them from theory to practice if you don't even understand the papers if they do use high end math which can often be the case for many problems which no example implementation already exists.</p></htmltext>
<tokenext>" If you want to kick ass , you need all the introductory math you put your hands on ( advanced university level math is too theoretical though and only useful for quantum physics and math majors ) .
" I disagree completely , it 's the advanced level stuff I found most applicable .
High end computability theory and combinatorics is why I 've been able to create configurator software for the products the firm I work for sells that no other competitor in the industry has , it 's let us take 60 \ % global marketshare in our field.So in my experience it 's quite the contrary , the high end stuff is what really lets you change the game .
Most companies will have people who can do the low level stuff- the bare minimum to do a good job , much fewer have people capable of writing software and doing the high end math so that 's truly what will let you stand out.Even if you 're not solving problems yourself you may come across papers explaining theoretical concepts that could solve the problem you need to solve , but good luck taking them from theory to practice if you do n't even understand the papers if they do use high end math which can often be the case for many problems which no example implementation already exists .</tokentext>
<sentencetext>"If you want to kick ass, you need all the introductory math you put your hands on (advanced university level math is too theoretical though and only useful for quantum physics and math majors).
"I disagree completely, it's the advanced level stuff I found most applicable.
High end computability theory and combinatorics is why I've been able to create configurator software for the products the firm I work for sells that no other competitor in the industry has, it's let us take 60\% global marketshare in our field.So in my experience it's quite the contrary, the high end stuff is what really lets you change the game.
Most companies will have people who can do the low level stuff- the bare minimum to do a good job, much fewer have people capable of writing software and doing the high end math so that's truly what will let you stand out.Even if you're not solving problems yourself you may come across papers explaining theoretical concepts that could solve the problem you need to solve, but good luck taking them from theory to practice if you don't even understand the papers if they do use high end math which can often be the case for many problems which no example implementation already exists.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670244</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671604</id>
	<title>Discrete, Graphs, Combinatorics - Definitely</title>
	<author>dthanna</author>
	<datestamp>1262801400000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Graph theory underlies every datastructure ever designed - link-lists, trees, etc.  It is also how you build the schema map for a RDBMS and remove redundancies through normalization*.  It is also needed for modeling program, data, network and other sorts of 'information flow'... including recursion.</p><p>* Yes, Dorothy, most databases in the business world are RDBMS as most systems do not benefit from the obtuseness of object based DBs.</p><p>Discrete is very handy when you have to convert from one number space to another.  Not all systems are UNIX/ASCII based.  I do a lot of work in the print industry - the core of that is still built on OCTAL character representation and a great deal of EBCDIC.</p><p>Combinatorics - Basically, how do you count.  Again, you need this to know if your elementary math is giving you the correct numbers.  A lot of things have been automated (BCD and the like), but that doesn't mean you will be working on a 'new' system when you graduate.  There is still a lot of COBOL out there.  It's not sexy, but it pays well and is generally a stable gigl</p><p>I would also suggest you take a course on Linear Algebra.  Again, I'm in print and so use it more than most, but any time you need to lay something out in 2-space (e.g. a web page) and you need to translate that space to another (e.g. iPhone) LA will come in handy to fine tune the output.<nobr> <wbr></nobr>... As well as a calculus based course on Stats.  With today's data sets, analysis is no longer being done against the entire set, but a sample of the set.  How to set up the sample and what sort of distribution you use is different than for algebraic based stats.</p><p>Calculus, IMHO, is only good for the rigor unless you get into engineering, graphics or physics.  It's still good to have.</p><p>Lastly, Take at least two classes in communication. One on public speaking (your in meetings a lot and have to learn to communicate what you know to someone who doesn't - e.g. your boss).  The other on writing - you will be writing a lot of system documentation, proposals, e-mails and the like.  Other than your core CS/Math, I would say to have very, very solid communication skills.  They never hurt.</p><p>Enjoy!</p></htmltext>
<tokenext>Graph theory underlies every datastructure ever designed - link-lists , trees , etc .
It is also how you build the schema map for a RDBMS and remove redundancies through normalization * .
It is also needed for modeling program , data , network and other sorts of 'information flow'... including recursion .
* Yes , Dorothy , most databases in the business world are RDBMS as most systems do not benefit from the obtuseness of object based DBs.Discrete is very handy when you have to convert from one number space to another .
Not all systems are UNIX/ASCII based .
I do a lot of work in the print industry - the core of that is still built on OCTAL character representation and a great deal of EBCDIC.Combinatorics - Basically , how do you count .
Again , you need this to know if your elementary math is giving you the correct numbers .
A lot of things have been automated ( BCD and the like ) , but that does n't mean you will be working on a 'new ' system when you graduate .
There is still a lot of COBOL out there .
It 's not sexy , but it pays well and is generally a stable giglI would also suggest you take a course on Linear Algebra .
Again , I 'm in print and so use it more than most , but any time you need to lay something out in 2-space ( e.g .
a web page ) and you need to translate that space to another ( e.g .
iPhone ) LA will come in handy to fine tune the output .
... As well as a calculus based course on Stats .
With today 's data sets , analysis is no longer being done against the entire set , but a sample of the set .
How to set up the sample and what sort of distribution you use is different than for algebraic based stats.Calculus , IMHO , is only good for the rigor unless you get into engineering , graphics or physics .
It 's still good to have.Lastly , Take at least two classes in communication .
One on public speaking ( your in meetings a lot and have to learn to communicate what you know to someone who does n't - e.g .
your boss ) .
The other on writing - you will be writing a lot of system documentation , proposals , e-mails and the like .
Other than your core CS/Math , I would say to have very , very solid communication skills .
They never hurt.Enjoy !</tokentext>
<sentencetext>Graph theory underlies every datastructure ever designed - link-lists, trees, etc.
It is also how you build the schema map for a RDBMS and remove redundancies through normalization*.
It is also needed for modeling program, data, network and other sorts of 'information flow'... including recursion.
* Yes, Dorothy, most databases in the business world are RDBMS as most systems do not benefit from the obtuseness of object based DBs.Discrete is very handy when you have to convert from one number space to another.
Not all systems are UNIX/ASCII based.
I do a lot of work in the print industry - the core of that is still built on OCTAL character representation and a great deal of EBCDIC.Combinatorics - Basically, how do you count.
Again, you need this to know if your elementary math is giving you the correct numbers.
A lot of things have been automated (BCD and the like), but that doesn't mean you will be working on a 'new' system when you graduate.
There is still a lot of COBOL out there.
It's not sexy, but it pays well and is generally a stable giglI would also suggest you take a course on Linear Algebra.
Again, I'm in print and so use it more than most, but any time you need to lay something out in 2-space (e.g.
a web page) and you need to translate that space to another (e.g.
iPhone) LA will come in handy to fine tune the output.
... As well as a calculus based course on Stats.
With today's data sets, analysis is no longer being done against the entire set, but a sample of the set.
How to set up the sample and what sort of distribution you use is different than for algebraic based stats.Calculus, IMHO, is only good for the rigor unless you get into engineering, graphics or physics.
It's still good to have.Lastly, Take at least two classes in communication.
One on public speaking (your in meetings a lot and have to learn to communicate what you know to someone who doesn't - e.g.
your boss).
The other on writing - you will be writing a lot of system documentation, proposals, e-mails and the like.
Other than your core CS/Math, I would say to have very, very solid communication skills.
They never hurt.Enjoy!</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671108</id>
	<title>Re:The Second, If Not Both</title>
	<author>paxcoder</author>
	<datestamp>1262799540000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Whoever I ask about this, everyone says "games", and "rendering" - that's why you need it. But what if I'm not interested in gamedev and 3D stuff? What if I like trees and system programming instead (let's call it low level algorithms)? Wouldn't I be better of with graphs and stuff?</p></htmltext>
<tokenext>Whoever I ask about this , everyone says " games " , and " rendering " - that 's why you need it .
But what if I 'm not interested in gamedev and 3D stuff ?
What if I like trees and system programming instead ( let 's call it low level algorithms ) ?
Would n't I be better of with graphs and stuff ?</tokentext>
<sentencetext>Whoever I ask about this, everyone says "games", and "rendering" - that's why you need it.
But what if I'm not interested in gamedev and 3D stuff?
What if I like trees and system programming instead (let's call it low level algorithms)?
Wouldn't I be better of with graphs and stuff?</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669972</id>
	<title>Either or Both</title>
	<author>vitaflo</author>
	<datestamp>1262795460000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>First, any math class can be useful to programmers.  I went full double major CS and Mathematics and found all my classes useful.  Set Theory perhaps is the most closely related to CS, but all of them can have value depending on what you get into after your studies.  Also, whether one is "harder" should not make a difference.  If anything it should make you want to take it more.  Exercise your brain in all different ways, it will benefit you in the end regardless.</p></htmltext>
<tokenext>First , any math class can be useful to programmers .
I went full double major CS and Mathematics and found all my classes useful .
Set Theory perhaps is the most closely related to CS , but all of them can have value depending on what you get into after your studies .
Also , whether one is " harder " should not make a difference .
If anything it should make you want to take it more .
Exercise your brain in all different ways , it will benefit you in the end regardless .</tokentext>
<sentencetext>First, any math class can be useful to programmers.
I went full double major CS and Mathematics and found all my classes useful.
Set Theory perhaps is the most closely related to CS, but all of them can have value depending on what you get into after your studies.
Also, whether one is "harder" should not make a difference.
If anything it should make you want to take it more.
Exercise your brain in all different ways, it will benefit you in the end regardless.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30679022</id>
	<title>Re:Physicists?</title>
	<author>Anonymous</author>
	<datestamp>1262799000000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Are  you kidding me? Seriously... discreet structures teaches some very sound concepts that may help you in your ability to think out programming solutions.</p></htmltext>
<tokenext>Are you kidding me ?
Seriously... discreet structures teaches some very sound concepts that may help you in your ability to think out programming solutions .</tokentext>
<sentencetext>Are  you kidding me?
Seriously... discreet structures teaches some very sound concepts that may help you in your ability to think out programming solutions.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669802</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671272</id>
	<title>Discrete Math</title>
	<author>Jerslan</author>
	<datestamp>1262800200000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>At MO S&amp;T (formerly UMR) Discrete Math with Graph Theory wasn't just a required freshman/sophmore level class, but was actually a Computer Science class and not from the Math Department.

I would talk to your academic advisor (assuming your school has such a thing). It's their job to answer this sort of question and provide guidance.</htmltext>
<tokenext>At MO S&amp;T ( formerly UMR ) Discrete Math with Graph Theory was n't just a required freshman/sophmore level class , but was actually a Computer Science class and not from the Math Department .
I would talk to your academic advisor ( assuming your school has such a thing ) .
It 's their job to answer this sort of question and provide guidance .</tokentext>
<sentencetext>At MO S&amp;T (formerly UMR) Discrete Math with Graph Theory wasn't just a required freshman/sophmore level class, but was actually a Computer Science class and not from the Math Department.
I would talk to your academic advisor (assuming your school has such a thing).
It's their job to answer this sort of question and provide guidance.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670168</id>
	<title>He's an idiot.</title>
	<author>bluefoxlucid</author>
	<datestamp>1262796120000</datestamp>
	<modclass>Interestin</modclass>
	<modscore>3</modscore>
	<htmltext>Discrete maths are more useful because you can prove the operation of your program.  The other crap is useful for you to write scientific applications, physics simulators, and clones of Quake-- in which case, you need to be able to understand your own complex logic flow to make sure your program is executing those complex mathematical computations correctly, on the correct data, with the correct output.</htmltext>
<tokenext>Discrete maths are more useful because you can prove the operation of your program .
The other crap is useful for you to write scientific applications , physics simulators , and clones of Quake-- in which case , you need to be able to understand your own complex logic flow to make sure your program is executing those complex mathematical computations correctly , on the correct data , with the correct output .</tokentext>
<sentencetext>Discrete maths are more useful because you can prove the operation of your program.
The other crap is useful for you to write scientific applications, physics simulators, and clones of Quake-- in which case, you need to be able to understand your own complex logic flow to make sure your program is executing those complex mathematical computations correctly, on the correct data, with the correct output.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670154</id>
	<title>Finite Mathematics FIRST</title>
	<author>omb</author>
	<datestamp>1262796060000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>2</modscore>
	<htmltext>Do the Algebra/Logic first, it is more directly applicable to computing and will allow you to understand undecidability (Goedel) computability (Turing) and of course graphs, groups and algebras. Also modern approaches to what people call Calculus, ie diferentialability etc are much more algebraic in the arena mathematicians call Analysis. Read Don Knuth's Fundamental Algorithms in parallel</htmltext>
<tokenext>Do the Algebra/Logic first , it is more directly applicable to computing and will allow you to understand undecidability ( Goedel ) computability ( Turing ) and of course graphs , groups and algebras .
Also modern approaches to what people call Calculus , ie diferentialability etc are much more algebraic in the arena mathematicians call Analysis .
Read Don Knuth 's Fundamental Algorithms in parallel</tokentext>
<sentencetext>Do the Algebra/Logic first, it is more directly applicable to computing and will allow you to understand undecidability (Goedel) computability (Turing) and of course graphs, groups and algebras.
Also modern approaches to what people call Calculus, ie diferentialability etc are much more algebraic in the arena mathematicians call Analysis.
Read Don Knuth's Fundamental Algorithms in parallel</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669996</id>
	<title>Discrete underpins everything.</title>
	<author>Anonymous</author>
	<datestamp>1262795520000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Discrete math and graph theory underpin Computing Science (notice computing, not computer).  This will give you the background for algorithm theory, computability and complexity, and automata modelling.</p><p>The vectors and differentials will be usefully applied to some specific solutions you develop, especially graphics, but discrete/graph math underpins development itself.</p></htmltext>
<tokenext>Discrete math and graph theory underpin Computing Science ( notice computing , not computer ) .
This will give you the background for algorithm theory , computability and complexity , and automata modelling.The vectors and differentials will be usefully applied to some specific solutions you develop , especially graphics , but discrete/graph math underpins development itself .</tokentext>
<sentencetext>Discrete math and graph theory underpin Computing Science (notice computing, not computer).
This will give you the background for algorithm theory, computability and complexity, and automata modelling.The vectors and differentials will be usefully applied to some specific solutions you develop, especially graphics, but discrete/graph math underpins development itself.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30689242</id>
	<title>Math is definitely the foundation of CS</title>
	<author>Shompol</author>
	<datestamp>1262868240000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>Generally any strong math background will give you leverage in CS. Rule of thumb for graduate math classes: take the easier one, you can always progress to harder class later (in grad or postgrad school).
<br> <br>
Itemized list:
<br> <br>
discrete math - yes<br>
proofs        - not relevant<br>
sets          - yes<br>
algorithms    - yes<br>
graphs        - most likely<br>
math analysis - if you go for PHD<br>
vectors       - yes (esp. computer graphics)<br>
euclidean space - same as vectors - yes<br>
differentials - computer graphics</htmltext>
<tokenext>Generally any strong math background will give you leverage in CS .
Rule of thumb for graduate math classes : take the easier one , you can always progress to harder class later ( in grad or postgrad school ) .
Itemized list : discrete math - yes proofs - not relevant sets - yes algorithms - yes graphs - most likely math analysis - if you go for PHD vectors - yes ( esp .
computer graphics ) euclidean space - same as vectors - yes differentials - computer graphics</tokentext>
<sentencetext>Generally any strong math background will give you leverage in CS.
Rule of thumb for graduate math classes: take the easier one, you can always progress to harder class later (in grad or postgrad school).
Itemized list:
 
discrete math - yes
proofs        - not relevant
sets          - yes
algorithms    - yes
graphs        - most likely
math analysis - if you go for PHD
vectors       - yes (esp.
computer graphics)
euclidean space - same as vectors - yes
differentials - computer graphics</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672940</id>
	<title>Ummm...isn't CS applied mathematics?</title>
	<author>multimediavt</author>
	<datestamp>1262806800000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Last time I checked, computer science <b>*WAS*/*IS*</b> applied mathematics.  If you don't like math you should probably consider a different career, or be ready for a long hard road of slogging through a career while the more mathematically inclined advance right past you in the market.  I started a software development company last year and I will not hire anyone who is not more proficient (or current/fresh) at mathematics than I am, and I'm pretty good.</p><p>If you really, really want to be a developer I'd say to suck it up and take BOTH classes.  There's no such thing as too much math if you are a CS major, or just someone that wants to be a developer.</p></htmltext>
<tokenext>Last time I checked , computer science * WAS * / * IS * applied mathematics .
If you do n't like math you should probably consider a different career , or be ready for a long hard road of slogging through a career while the more mathematically inclined advance right past you in the market .
I started a software development company last year and I will not hire anyone who is not more proficient ( or current/fresh ) at mathematics than I am , and I 'm pretty good.If you really , really want to be a developer I 'd say to suck it up and take BOTH classes .
There 's no such thing as too much math if you are a CS major , or just someone that wants to be a developer .</tokentext>
<sentencetext>Last time I checked, computer science *WAS*/*IS* applied mathematics.
If you don't like math you should probably consider a different career, or be ready for a long hard road of slogging through a career while the more mathematically inclined advance right past you in the market.
I started a software development company last year and I will not hire anyone who is not more proficient (or current/fresh) at mathematics than I am, and I'm pretty good.If you really, really want to be a developer I'd say to suck it up and take BOTH classes.
There's no such thing as too much math if you are a CS major, or just someone that wants to be a developer.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30673898</id>
	<title>Still not sure</title>
	<author>Anonymous</author>
	<datestamp>1262811180000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Can someone please provide a pie chart of these responses so I'll know what to do?</p></htmltext>
<tokenext>Can someone please provide a pie chart of these responses so I 'll know what to do ?</tokentext>
<sentencetext>Can someone please provide a pie chart of these responses so I'll know what to do?</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671296</id>
	<title>Whatever the Haskell guys based the language on...</title>
	<author>Hurricane78</author>
	<datestamp>1262800260000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Because in terms of math, cutting edge theory, and elegance, Haskell just blows everything I&rsquo;ve seen out of the water.</p><p>Try #haskell, to get you started on the theory. But don&rsquo;t be surprised if it feels like another planet, when they make jokes about The One True Monoid, and <a href="http://www.madore.org/~david/programs/unlambda/" title="madore.org">Unlambda</a> [madore.org].<nobr> <wbr></nobr>;)<br>(The are also much friendlier with mathematical questions, than the #math channel, where every free thought or idea is punished with anti-troll trolling, aggression, hate and the banhammer, and socially acting even remotely like a human is taboo.<nobr> <wbr></nobr>;)</p></htmltext>
<tokenext>Because in terms of math , cutting edge theory , and elegance , Haskell just blows everything I    ve seen out of the water.Try # haskell , to get you started on the theory .
But don    t be surprised if it feels like another planet , when they make jokes about The One True Monoid , and Unlambda [ madore.org ] .
; ) ( The are also much friendlier with mathematical questions , than the # math channel , where every free thought or idea is punished with anti-troll trolling , aggression , hate and the banhammer , and socially acting even remotely like a human is taboo .
; )</tokentext>
<sentencetext>Because in terms of math, cutting edge theory, and elegance, Haskell just blows everything I’ve seen out of the water.Try #haskell, to get you started on the theory.
But don’t be surprised if it feels like another planet, when they make jokes about The One True Monoid, and Unlambda [madore.org].
;)(The are also much friendlier with mathematical questions, than the #math channel, where every free thought or idea is punished with anti-troll trolling, aggression, hate and the banhammer, and socially acting even remotely like a human is taboo.
;)</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670006</id>
	<title>IMO</title>
	<author>scubamage</author>
	<datestamp>1262795580000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>I'd go with algorithms and logic if you can only choose one of the two. While the other stuff is doubtlessly useful, nothing will serve you better in programming than a firm understanding of algorithms, and logic which can be used to know when to employ them and how to create them. Just my $0.02, YMMV.</htmltext>
<tokenext>I 'd go with algorithms and logic if you can only choose one of the two .
While the other stuff is doubtlessly useful , nothing will serve you better in programming than a firm understanding of algorithms , and logic which can be used to know when to employ them and how to create them .
Just my $ 0.02 , YMMV .</tokentext>
<sentencetext>I'd go with algorithms and logic if you can only choose one of the two.
While the other stuff is doubtlessly useful, nothing will serve you better in programming than a firm understanding of algorithms, and logic which can be used to know when to employ them and how to create them.
Just my $0.02, YMMV.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670222</id>
	<title>Pick the best professor - Choose linear algebra</title>
	<author>yoghurt</author>
	<datestamp>1262796300000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>An engaging professor is worth a lot.  A good professor can make a dull subject come alive.  A boring one can do the opposite.</p><p>Also, there are many flavors of math so you might want to sample to see what suits you.  I would suggest a course in "linear algebra".  Linear algebra has very low prerequisites - basically arithmetic - there are no "limits" to be taken.  It is very useful for almost everything technical and it offers exposure to theorem and proofs.  Plus you can use Octave (or Matlab) to try out programming with vectors and matrices and get some hands-on experience with the concepts.</p></htmltext>
<tokenext>An engaging professor is worth a lot .
A good professor can make a dull subject come alive .
A boring one can do the opposite.Also , there are many flavors of math so you might want to sample to see what suits you .
I would suggest a course in " linear algebra " .
Linear algebra has very low prerequisites - basically arithmetic - there are no " limits " to be taken .
It is very useful for almost everything technical and it offers exposure to theorem and proofs .
Plus you can use Octave ( or Matlab ) to try out programming with vectors and matrices and get some hands-on experience with the concepts .</tokentext>
<sentencetext>An engaging professor is worth a lot.
A good professor can make a dull subject come alive.
A boring one can do the opposite.Also, there are many flavors of math so you might want to sample to see what suits you.
I would suggest a course in "linear algebra".
Linear algebra has very low prerequisites - basically arithmetic - there are no "limits" to be taken.
It is very useful for almost everything technical and it offers exposure to theorem and proofs.
Plus you can use Octave (or Matlab) to try out programming with vectors and matrices and get some hands-on experience with the concepts.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30675742</id>
	<title>Don't listen to him! He has no clue!</title>
	<author>AlgorithMan</author>
	<datestamp>1262776140000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><blockquote><div><p>one assistant told me that it would be more useful for a programmer compared to the first subject</p></div></blockquote><p>

WHAT!? thats utter bullshit and he has no freakin clue what he's talking about! If you are not about to write a 3D Engine or an Algebra system (like "derive", "maple", etc), the second subject is mostly useless for you! Take the first course, because nearly every problem you encounter in practice, is equivalent to some graph problem... also you need graph theory in EVERY course on theoretical computer science (complexity, computability, randomized algorithms, efiicient algorithms, parameterized algorithms), these are very closely related to graph theory. Also multithreading and thread synchronisation are discrete systems and even good string processing (compilers, scanners, etc). Heck, you meet discrete math even in artificial intelligence, logics, logic programming, relational databases, game theory, designing micro-chips, routing, networking, sorting algorithms, you name it! everything about computers and programming has to do with discrete math, because processors, operating systems and programs are discrete systems (equivalent to turing machines) and they operate on a discrete set of data (because you only have finite RAM and HD and "discrete" basically means "enumerable or finite")</p></div>
	</htmltext>
<tokenext>one assistant told me that it would be more useful for a programmer compared to the first subject WHAT ! ?
thats utter bullshit and he has no freakin clue what he 's talking about !
If you are not about to write a 3D Engine or an Algebra system ( like " derive " , " maple " , etc ) , the second subject is mostly useless for you !
Take the first course , because nearly every problem you encounter in practice , is equivalent to some graph problem... also you need graph theory in EVERY course on theoretical computer science ( complexity , computability , randomized algorithms , efiicient algorithms , parameterized algorithms ) , these are very closely related to graph theory .
Also multithreading and thread synchronisation are discrete systems and even good string processing ( compilers , scanners , etc ) .
Heck , you meet discrete math even in artificial intelligence , logics , logic programming , relational databases , game theory , designing micro-chips , routing , networking , sorting algorithms , you name it !
everything about computers and programming has to do with discrete math , because processors , operating systems and programs are discrete systems ( equivalent to turing machines ) and they operate on a discrete set of data ( because you only have finite RAM and HD and " discrete " basically means " enumerable or finite " )</tokentext>
<sentencetext>one assistant told me that it would be more useful for a programmer compared to the first subject

WHAT!?
thats utter bullshit and he has no freakin clue what he's talking about!
If you are not about to write a 3D Engine or an Algebra system (like "derive", "maple", etc), the second subject is mostly useless for you!
Take the first course, because nearly every problem you encounter in practice, is equivalent to some graph problem... also you need graph theory in EVERY course on theoretical computer science (complexity, computability, randomized algorithms, efiicient algorithms, parameterized algorithms), these are very closely related to graph theory.
Also multithreading and thread synchronisation are discrete systems and even good string processing (compilers, scanners, etc).
Heck, you meet discrete math even in artificial intelligence, logics, logic programming, relational databases, game theory, designing micro-chips, routing, networking, sorting algorithms, you name it!
everything about computers and programming has to do with discrete math, because processors, operating systems and programs are discrete systems (equivalent to turing machines) and they operate on a discrete set of data (because you only have finite RAM and HD and "discrete" basically means "enumerable or finite")
	</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30673498</id>
	<title>1960s "new math" finally pays off</title>
	<author>peter303</author>
	<datestamp>1262809200000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>Some of the old-timers will remember the post-Sputnik elementary-school math books where you spent the first couple weeks of the year on set theory. I thought it was a waste of time then, and still think so. But that stuff reappeared in college digital electronics courses, desiging gate-arrays etc.
<br> <br>
I believe the intention was to teach "logical thought" as a premise for doing mathematics. But elementary school math must be brutal and make you memorize the dull algorithms of tables and long division for you to succeed.</htmltext>
<tokenext>Some of the old-timers will remember the post-Sputnik elementary-school math books where you spent the first couple weeks of the year on set theory .
I thought it was a waste of time then , and still think so .
But that stuff reappeared in college digital electronics courses , desiging gate-arrays etc .
I believe the intention was to teach " logical thought " as a premise for doing mathematics .
But elementary school math must be brutal and make you memorize the dull algorithms of tables and long division for you to succeed .</tokentext>
<sentencetext>Some of the old-timers will remember the post-Sputnik elementary-school math books where you spent the first couple weeks of the year on set theory.
I thought it was a waste of time then, and still think so.
But that stuff reappeared in college digital electronics courses, desiging gate-arrays etc.
I believe the intention was to teach "logical thought" as a premise for doing mathematics.
But elementary school math must be brutal and make you memorize the dull algorithms of tables and long division for you to succeed.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671396</id>
	<title>Information Theory</title>
	<author>Anonymous</author>
	<datestamp>1262800620000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>You should probably take a variety of intro math classes and see what gets your interest. I'd definitely suggest Information Theory, which is a great mixture of CS and Math and an excitingly young field to be working in.</p></htmltext>
<tokenext>You should probably take a variety of intro math classes and see what gets your interest .
I 'd definitely suggest Information Theory , which is a great mixture of CS and Math and an excitingly young field to be working in .</tokentext>
<sentencetext>You should probably take a variety of intro math classes and see what gets your interest.
I'd definitely suggest Information Theory, which is a great mixture of CS and Math and an excitingly young field to be working in.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30688082</id>
	<title>Re:Set Theory / Boolean Logic</title>
	<author>Anonymous</author>
	<datestamp>1262861640000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>I agree completely with this post.<br>My college had a class called "Math for Computer Science" - Logic and Set Theory, along with basic arithmetic - order of operations, etc.</p><p>For what I do, it's the logic and set theory that I use on a daily basis, but then I'm mostly writing SQL and PL/SQL, so not a 'programmer' per se.  It really depends on what you are going to be doing!</p></htmltext>
<tokenext>I agree completely with this post.My college had a class called " Math for Computer Science " - Logic and Set Theory , along with basic arithmetic - order of operations , etc.For what I do , it 's the logic and set theory that I use on a daily basis , but then I 'm mostly writing SQL and PL/SQL , so not a 'programmer ' per se .
It really depends on what you are going to be doing !</tokentext>
<sentencetext>I agree completely with this post.My college had a class called "Math for Computer Science" - Logic and Set Theory, along with basic arithmetic - order of operations, etc.For what I do, it's the logic and set theory that I use on a daily basis, but then I'm mostly writing SQL and PL/SQL, so not a 'programmer' per se.
It really depends on what you are going to be doing!</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669958</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30675160</id>
	<title>Re:Physicists?</title>
	<author>Anonymous</author>
	<datestamp>1262773680000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Some of the earliest programmers they looked for were music majors, b/c music like computers is a real life application of math.</p><p>While we may not think of them as mathematicians they really are</p></htmltext>
<tokenext>Some of the earliest programmers they looked for were music majors , b/c music like computers is a real life application of math.While we may not think of them as mathematicians they really are</tokentext>
<sentencetext>Some of the earliest programmers they looked for were music majors, b/c music like computers is a real life application of math.While we may not think of them as mathematicians they really are</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669802</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674610</id>
	<title>Nothing is needed but a brain</title>
	<author>crimsontime</author>
	<datestamp>1262770920000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>I took no computer science classes in college although I did take math up to Calculus.  I taught myself some stuff about computers, read a few books, played with programming on my own and took a few community college classes and now work as a programmer.  I've worked with people who got phds, they have the same job.  Funny, sort of.  I mostly goofed off and had fun in college and got a degree after 5 years... in Ecology.</htmltext>
<tokenext>I took no computer science classes in college although I did take math up to Calculus .
I taught myself some stuff about computers , read a few books , played with programming on my own and took a few community college classes and now work as a programmer .
I 've worked with people who got phds , they have the same job .
Funny , sort of .
I mostly goofed off and had fun in college and got a degree after 5 years... in Ecology .</tokentext>
<sentencetext>I took no computer science classes in college although I did take math up to Calculus.
I taught myself some stuff about computers, read a few books, played with programming on my own and took a few community college classes and now work as a programmer.
I've worked with people who got phds, they have the same job.
Funny, sort of.
I mostly goofed off and had fun in college and got a degree after 5 years... in Ecology.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671382</id>
	<title>Re:If you select the non-euclidian option</title>
	<author>Anonymous</author>
	<datestamp>1262800560000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Now that's funny. Someone else reads Lovecraft.</p></htmltext>
<tokenext>Now that 's funny .
Someone else reads Lovecraft .</tokentext>
<sentencetext>Now that's funny.
Someone else reads Lovecraft.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669966</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671092</id>
	<title>Re:Physicists?</title>
	<author>John Betonschaar</author>
	<datestamp>1262799480000</datestamp>
	<modclass>Informativ</modclass>
	<modscore>3</modscore>
	<htmltext><p>Dude, if there's three kinds of people on earth that make terrible software engineers, they're mathematicians, physicists and electrical engineers.</p><p>While they may write incredibly smart and efficient computer programs that solve incredibly difficult problems, that doesn't make them good software engineers. The libraries and API's I've used that have the worst documentation, the worst programmning interfaces and the most convoluted and non-extendable architecture are invariably libraries and API's written by (and often for) mathematicians, physicists and electrical engineers. Common 'good software engineering practices' don't appear to apply to people from these fields, which isn't bad if they'd stick with solving the problem and prototyping a solution, then hand over their work to skilled software engineers that are qualified to turn it into good software. Using stuff like LAPACK, BLAS, CSparse, Matlab-type code etc is pure masochism for software engineers like myself.</p><p>Ontopic for the submitter:</p><p>Both sound useful to me, but many of the topics from the 'selected math chapters' are probably only interesting to get a basic understanding of what is what, and improve abstract thinking. If you're ever going to have to write software that does differential calculations or linear algebra all depends on the kind of problems you will work on. There's lots of stuff you don't need to know anything about applied mathematics like that for. Graph theory, data structures and algorithms on the other hand, are almost a fundamental part of any CS or software engineering education. While you can write quality software without any knowledge of linear algebra, I really doubt you'll be able to write quality software without knowledge of algorithms, complexity theory, graph algorithms and advanced data structures. They're the cornerstone of software that doesn't suck.</p></htmltext>
<tokenext>Dude , if there 's three kinds of people on earth that make terrible software engineers , they 're mathematicians , physicists and electrical engineers.While they may write incredibly smart and efficient computer programs that solve incredibly difficult problems , that does n't make them good software engineers .
The libraries and API 's I 've used that have the worst documentation , the worst programmning interfaces and the most convoluted and non-extendable architecture are invariably libraries and API 's written by ( and often for ) mathematicians , physicists and electrical engineers .
Common 'good software engineering practices ' do n't appear to apply to people from these fields , which is n't bad if they 'd stick with solving the problem and prototyping a solution , then hand over their work to skilled software engineers that are qualified to turn it into good software .
Using stuff like LAPACK , BLAS , CSparse , Matlab-type code etc is pure masochism for software engineers like myself.Ontopic for the submitter : Both sound useful to me , but many of the topics from the 'selected math chapters ' are probably only interesting to get a basic understanding of what is what , and improve abstract thinking .
If you 're ever going to have to write software that does differential calculations or linear algebra all depends on the kind of problems you will work on .
There 's lots of stuff you do n't need to know anything about applied mathematics like that for .
Graph theory , data structures and algorithms on the other hand , are almost a fundamental part of any CS or software engineering education .
While you can write quality software without any knowledge of linear algebra , I really doubt you 'll be able to write quality software without knowledge of algorithms , complexity theory , graph algorithms and advanced data structures .
They 're the cornerstone of software that does n't suck .</tokentext>
<sentencetext>Dude, if there's three kinds of people on earth that make terrible software engineers, they're mathematicians, physicists and electrical engineers.While they may write incredibly smart and efficient computer programs that solve incredibly difficult problems, that doesn't make them good software engineers.
The libraries and API's I've used that have the worst documentation, the worst programmning interfaces and the most convoluted and non-extendable architecture are invariably libraries and API's written by (and often for) mathematicians, physicists and electrical engineers.
Common 'good software engineering practices' don't appear to apply to people from these fields, which isn't bad if they'd stick with solving the problem and prototyping a solution, then hand over their work to skilled software engineers that are qualified to turn it into good software.
Using stuff like LAPACK, BLAS, CSparse, Matlab-type code etc is pure masochism for software engineers like myself.Ontopic for the submitter:Both sound useful to me, but many of the topics from the 'selected math chapters' are probably only interesting to get a basic understanding of what is what, and improve abstract thinking.
If you're ever going to have to write software that does differential calculations or linear algebra all depends on the kind of problems you will work on.
There's lots of stuff you don't need to know anything about applied mathematics like that for.
Graph theory, data structures and algorithms on the other hand, are almost a fundamental part of any CS or software engineering education.
While you can write quality software without any knowledge of linear algebra, I really doubt you'll be able to write quality software without knowledge of algorithms, complexity theory, graph algorithms and advanced data structures.
They're the cornerstone of software that doesn't suck.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669802</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674648</id>
	<title>Re:Physicists?</title>
	<author>recharged95</author>
	<datestamp>1262771100000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>2</modscore>
	<htmltext>You're right.
<br>
<br>
Famous software engineers were either former Applied Physicists, or Electrical Engineers. Again, to the rest of the CS audience: that's <b>software engineering</b>. That means making things work, proving concepts in hardware and software. The "how" part.
<br>
<br>
I've find Mathematicians excel in the [pure] Software Development part (i.e. Computer Science), in other words, the "why". Pure by means of: interested in writing a new language?
<br>
<br>
This is likely directly related to your interests: In s/w development, it's all about syntax, and doing it in the theoretically correct way (thinking like a mathematician). In s/w engineering, it's fitting a solution around the problem and working with unchangeable h/w constraints (thinking like an engineer)
<br>
<br>
Deep down there is a difference. Note that most Physicists hate math (or <i>lazy at it</i><nobr> <wbr></nobr>;) )and vice versa.... As for math classes, if you want to be a software engineer: PDE, Math Analysis, vectors, euclidean space are beneficial IMO. For hard core software development, discrete math and graph analysis are better. And this is from a former physicist's POV.</htmltext>
<tokenext>You 're right .
Famous software engineers were either former Applied Physicists , or Electrical Engineers .
Again , to the rest of the CS audience : that 's software engineering .
That means making things work , proving concepts in hardware and software .
The " how " part .
I 've find Mathematicians excel in the [ pure ] Software Development part ( i.e .
Computer Science ) , in other words , the " why " .
Pure by means of : interested in writing a new language ?
This is likely directly related to your interests : In s/w development , it 's all about syntax , and doing it in the theoretically correct way ( thinking like a mathematician ) .
In s/w engineering , it 's fitting a solution around the problem and working with unchangeable h/w constraints ( thinking like an engineer ) Deep down there is a difference .
Note that most Physicists hate math ( or lazy at it ; ) ) and vice versa.... As for math classes , if you want to be a software engineer : PDE , Math Analysis , vectors , euclidean space are beneficial IMO .
For hard core software development , discrete math and graph analysis are better .
And this is from a former physicist 's POV .</tokentext>
<sentencetext>You're right.
Famous software engineers were either former Applied Physicists, or Electrical Engineers.
Again, to the rest of the CS audience: that's software engineering.
That means making things work, proving concepts in hardware and software.
The "how" part.
I've find Mathematicians excel in the [pure] Software Development part (i.e.
Computer Science), in other words, the "why".
Pure by means of: interested in writing a new language?
This is likely directly related to your interests: In s/w development, it's all about syntax, and doing it in the theoretically correct way (thinking like a mathematician).
In s/w engineering, it's fitting a solution around the problem and working with unchangeable h/w constraints (thinking like an engineer)


Deep down there is a difference.
Note that most Physicists hate math (or lazy at it ;) )and vice versa.... As for math classes, if you want to be a software engineer: PDE, Math Analysis, vectors, euclidean space are beneficial IMO.
For hard core software development, discrete math and graph analysis are better.
And this is from a former physicist's POV.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669802</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30678380</id>
	<title>Re:Physicists?</title>
	<author>Anonymous</author>
	<datestamp>1262793300000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Discrete Mathematics (once known as Finite Mathematics) is very important for a programmer, as it deals with Boolean Algebra, Sets and Set Theory, (Binary) Logic, etc. I also found Discrete Mathematics to be quite enjoyable, as opposed to most other mathematics.</p></htmltext>
<tokenext>Discrete Mathematics ( once known as Finite Mathematics ) is very important for a programmer , as it deals with Boolean Algebra , Sets and Set Theory , ( Binary ) Logic , etc .
I also found Discrete Mathematics to be quite enjoyable , as opposed to most other mathematics .</tokentext>
<sentencetext>Discrete Mathematics (once known as Finite Mathematics) is very important for a programmer, as it deals with Boolean Algebra, Sets and Set Theory, (Binary) Logic, etc.
I also found Discrete Mathematics to be quite enjoyable, as opposed to most other mathematics.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669802</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671498</id>
	<title>Re:take Discreet</title>
	<author>noidentity</author>
	<datestamp>1262801040000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>How should I go about being discreet about this math, though? Should I avoid writing it on paper, ever? I bet discreet math would be valuable to the various intelligence agencies, because they need to do everything discreetly.</htmltext>
<tokenext>How should I go about being discreet about this math , though ?
Should I avoid writing it on paper , ever ?
I bet discreet math would be valuable to the various intelligence agencies , because they need to do everything discreetly .</tokentext>
<sentencetext>How should I go about being discreet about this math, though?
Should I avoid writing it on paper, ever?
I bet discreet math would be valuable to the various intelligence agencies, because they need to do everything discreetly.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670068</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674456</id>
	<title>Math not required for programming</title>
	<author>Anonymous</author>
	<datestamp>1262770200000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext>I've never been required to use more than basic Algebra skills.  Maybe "great programmers" need these skills.  Most programmers just need basic math skills (Algebra) and know how to use data structures.</htmltext>
<tokenext>I 've never been required to use more than basic Algebra skills .
Maybe " great programmers " need these skills .
Most programmers just need basic math skills ( Algebra ) and know how to use data structures .</tokentext>
<sentencetext>I've never been required to use more than basic Algebra skills.
Maybe "great programmers" need these skills.
Most programmers just need basic math skills (Algebra) and know how to use data structures.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670920</id>
	<title>you need a mix of both</title>
	<author>mzs</author>
	<datestamp>1262798700000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Things that will be useful from math for the practical programmer:</p><p>combinatorics<br>linear algebra<br>analysis and differential equations</p><p>Get as much of those as you can, if they get too hard stop.</p><p>Some times statistics courses are best for the combinatorics stuff. You will run into problems that are shuffling things around efficiently, that is where that is useful. Some of the graph theory stuff though may not come from the lower numbered statistics courses though, but you should get enough of that from CS courses. The statistics will give you background for things such as RMSE that come-up in practical coding.</p><p>The linear algebra and differential equations often come from math courses targeted towards engineering and physics students. Basically any hard problem that is solved by approximation comes down to an algorithm that is essentially a bunch of linear algebra. Then in many practical areas you need knowledge of things like FFT, PID, etc and the analysis as apposed to discrete math helps there. For a lot of these things if you just have enough knowledge so that you can understand some article, papers, and docs, then it is much easier to use libraries that others have written. That is why you should not fret if too much if the math gets too hard.</p><p>Other than that you should get enough abstract algebra and other discrete math from your CS courses. Along the same lines, you should stay away from geometry, it tends to be abstract algebra in disguise, and algorithms courses will have what you may have wanted presented in a way that is useful for programming. Logic is another area that is not very applicable to the practical programmer. You should get enough in some CS courses and some proofs that use applicable techniques there as well as in the combinatorics.</p><p>That said if you want to pursue CS, then all the above is VERY poor advice. Then you need as much logic and math as possible. You should love it too.</p></htmltext>
<tokenext>Things that will be useful from math for the practical programmer : combinatoricslinear algebraanalysis and differential equationsGet as much of those as you can , if they get too hard stop.Some times statistics courses are best for the combinatorics stuff .
You will run into problems that are shuffling things around efficiently , that is where that is useful .
Some of the graph theory stuff though may not come from the lower numbered statistics courses though , but you should get enough of that from CS courses .
The statistics will give you background for things such as RMSE that come-up in practical coding.The linear algebra and differential equations often come from math courses targeted towards engineering and physics students .
Basically any hard problem that is solved by approximation comes down to an algorithm that is essentially a bunch of linear algebra .
Then in many practical areas you need knowledge of things like FFT , PID , etc and the analysis as apposed to discrete math helps there .
For a lot of these things if you just have enough knowledge so that you can understand some article , papers , and docs , then it is much easier to use libraries that others have written .
That is why you should not fret if too much if the math gets too hard.Other than that you should get enough abstract algebra and other discrete math from your CS courses .
Along the same lines , you should stay away from geometry , it tends to be abstract algebra in disguise , and algorithms courses will have what you may have wanted presented in a way that is useful for programming .
Logic is another area that is not very applicable to the practical programmer .
You should get enough in some CS courses and some proofs that use applicable techniques there as well as in the combinatorics.That said if you want to pursue CS , then all the above is VERY poor advice .
Then you need as much logic and math as possible .
You should love it too .</tokentext>
<sentencetext>Things that will be useful from math for the practical programmer:combinatoricslinear algebraanalysis and differential equationsGet as much of those as you can, if they get too hard stop.Some times statistics courses are best for the combinatorics stuff.
You will run into problems that are shuffling things around efficiently, that is where that is useful.
Some of the graph theory stuff though may not come from the lower numbered statistics courses though, but you should get enough of that from CS courses.
The statistics will give you background for things such as RMSE that come-up in practical coding.The linear algebra and differential equations often come from math courses targeted towards engineering and physics students.
Basically any hard problem that is solved by approximation comes down to an algorithm that is essentially a bunch of linear algebra.
Then in many practical areas you need knowledge of things like FFT, PID, etc and the analysis as apposed to discrete math helps there.
For a lot of these things if you just have enough knowledge so that you can understand some article, papers, and docs, then it is much easier to use libraries that others have written.
That is why you should not fret if too much if the math gets too hard.Other than that you should get enough abstract algebra and other discrete math from your CS courses.
Along the same lines, you should stay away from geometry, it tends to be abstract algebra in disguise, and algorithms courses will have what you may have wanted presented in a way that is useful for programming.
Logic is another area that is not very applicable to the practical programmer.
You should get enough in some CS courses and some proofs that use applicable techniques there as well as in the combinatorics.That said if you want to pursue CS, then all the above is VERY poor advice.
Then you need as much logic and math as possible.
You should love it too.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674620</id>
	<title>Discrete versus "continuous" mathematics</title>
	<author>Anonymous</author>
	<datestamp>1262770920000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>I teach mathematics (e.g., continuous optimization) and computer science (e.g., cache oblivious algorithms) in a French engineer school (undergraduate and graduate level). I'm also a researcher in machine learning, a quite in between field.</p><p>My experience as a teacher is that learning by yourself discrete mathematics is far easier that learning continuous mathematics (from measure theory to probabilities and statistics). This is seconded by all my colleagues. If your know about programming, you should be able to understand most of want you will need by reading something like "Introduction to Algorithms" by Cormen et al. and complementing it by a random discrete mathematics book. Trying to do that with reference books in continuous mathematics (like "measure theory" from Doob) will be extremely difficult if you are on your own. Learning probabilities and statistics on your own will also be very painful. Therefore my advice is to go for continuous mathematics and learn the rest by yourself.</p><p>Good luck,</p><p>Fabrice</p></htmltext>
<tokenext>I teach mathematics ( e.g. , continuous optimization ) and computer science ( e.g. , cache oblivious algorithms ) in a French engineer school ( undergraduate and graduate level ) .
I 'm also a researcher in machine learning , a quite in between field.My experience as a teacher is that learning by yourself discrete mathematics is far easier that learning continuous mathematics ( from measure theory to probabilities and statistics ) .
This is seconded by all my colleagues .
If your know about programming , you should be able to understand most of want you will need by reading something like " Introduction to Algorithms " by Cormen et al .
and complementing it by a random discrete mathematics book .
Trying to do that with reference books in continuous mathematics ( like " measure theory " from Doob ) will be extremely difficult if you are on your own .
Learning probabilities and statistics on your own will also be very painful .
Therefore my advice is to go for continuous mathematics and learn the rest by yourself.Good luck,Fabrice</tokentext>
<sentencetext>I teach mathematics (e.g., continuous optimization) and computer science (e.g., cache oblivious algorithms) in a French engineer school (undergraduate and graduate level).
I'm also a researcher in machine learning, a quite in between field.My experience as a teacher is that learning by yourself discrete mathematics is far easier that learning continuous mathematics (from measure theory to probabilities and statistics).
This is seconded by all my colleagues.
If your know about programming, you should be able to understand most of want you will need by reading something like "Introduction to Algorithms" by Cormen et al.
and complementing it by a random discrete mathematics book.
Trying to do that with reference books in continuous mathematics (like "measure theory" from Doob) will be extremely difficult if you are on your own.
Learning probabilities and statistics on your own will also be very painful.
Therefore my advice is to go for continuous mathematics and learn the rest by yourself.Good luck,Fabrice</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670026</id>
	<title>Discreet structures with graph theory</title>
	<author>dstrupl</author>
	<datestamp>1262795640000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>is the one that you will find usefull for actual software development. The second one will just give you math "background" (which might not be that bad but probably not what you ask for).</htmltext>
<tokenext>is the one that you will find usefull for actual software development .
The second one will just give you math " background " ( which might not be that bad but probably not what you ask for ) .</tokentext>
<sentencetext>is the one that you will find usefull for actual software development.
The second one will just give you math "background" (which might not be that bad but probably not what you ask for).</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672112</id>
	<title>Re:Study what you enjoy</title>
	<author>scruffy</author>
	<datestamp>1262803380000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p><div class="quote"><p>Programming is a HUGE field. There is plenty of work that doesn't require significant math.
Go with what interests you and let the details work themselves out.</p></div><p>I agree, except about the "significant math" part.
<br> <br>
You should do what you enjoy (if it pays enough<nobr> <wbr></nobr>:). The next best alternative is to do what you are good at. If you already have difficulty with calculus, then maybe more of the same is not the way to go. To be sure, if you take the second course and *understand* it, it will be a great help to you, but if it's just a grind to be forgotten the day after the final, it won't do you much good.
<br> <br>
As for "significant math", all programming is applied math.  Good programmers know how to analyze problems into logical steps using a variety of pieces of math.  A discrete math course will introduce you to where most of those pieces come from.</p></div>
	</htmltext>
<tokenext>Programming is a HUGE field .
There is plenty of work that does n't require significant math .
Go with what interests you and let the details work themselves out.I agree , except about the " significant math " part .
You should do what you enjoy ( if it pays enough : ) .
The next best alternative is to do what you are good at .
If you already have difficulty with calculus , then maybe more of the same is not the way to go .
To be sure , if you take the second course and * understand * it , it will be a great help to you , but if it 's just a grind to be forgotten the day after the final , it wo n't do you much good .
As for " significant math " , all programming is applied math .
Good programmers know how to analyze problems into logical steps using a variety of pieces of math .
A discrete math course will introduce you to where most of those pieces come from .</tokentext>
<sentencetext>Programming is a HUGE field.
There is plenty of work that doesn't require significant math.
Go with what interests you and let the details work themselves out.I agree, except about the "significant math" part.
You should do what you enjoy (if it pays enough :).
The next best alternative is to do what you are good at.
If you already have difficulty with calculus, then maybe more of the same is not the way to go.
To be sure, if you take the second course and *understand* it, it will be a great help to you, but if it's just a grind to be forgotten the day after the final, it won't do you much good.
As for "significant math", all programming is applied math.
Good programmers know how to analyze problems into logical steps using a variety of pieces of math.
A discrete math course will introduce you to where most of those pieces come from.
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669840</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672182</id>
	<title>Intuition</title>
	<author>the cheong</author>
	<datestamp>1262803680000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>How strong is your intuitive pattern-matching?  Discreet mathematics as a direct, explicit application of math in computer science.  Meanwhile, real/complex analysis is abstract, and requires \_you\_ to make intuitive connections between its concepts and \_your work\_, in order for it to become applicable and useful.  (If you know for a fact that math isn't your strong point, then go with Discreet.)<br>
<br>
Furthermore, don't think of the two as being exclusive!  They're not separate.  Discreet mathematics is a \_subset\_ of real analysis.  When you jump right into discreet mathematics, you're just skipping lower-level details of analysis.</htmltext>
<tokenext>How strong is your intuitive pattern-matching ?
Discreet mathematics as a direct , explicit application of math in computer science .
Meanwhile , real/complex analysis is abstract , and requires \ _you \ _ to make intuitive connections between its concepts and \ _your work \ _ , in order for it to become applicable and useful .
( If you know for a fact that math is n't your strong point , then go with Discreet .
) Furthermore , do n't think of the two as being exclusive !
They 're not separate .
Discreet mathematics is a \ _subset \ _ of real analysis .
When you jump right into discreet mathematics , you 're just skipping lower-level details of analysis .</tokentext>
<sentencetext>How strong is your intuitive pattern-matching?
Discreet mathematics as a direct, explicit application of math in computer science.
Meanwhile, real/complex analysis is abstract, and requires \_you\_ to make intuitive connections between its concepts and \_your work\_, in order for it to become applicable and useful.
(If you know for a fact that math isn't your strong point, then go with Discreet.
)

Furthermore, don't think of the two as being exclusive!
They're not separate.
Discreet mathematics is a \_subset\_ of real analysis.
When you jump right into discreet mathematics, you're just skipping lower-level details of analysis.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672592</id>
	<title>Both</title>
	<author>rjolley</author>
	<datestamp>1262805360000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>Might I recommend both?  For me the second course you talked about is the easier one, but I absolutely loved my discrete math course.  If anything, both courses teach you how to approach and solve problems.  Good skills to have for any programmers.  While you are at it, if it isn't already required I'd suggest taking some physics for scientists and engineers as well as some calculus courses.  Trust me, I was in your shoes a few years back and won't say it wasn't hard, but it was definitely worth it.</htmltext>
<tokenext>Might I recommend both ?
For me the second course you talked about is the easier one , but I absolutely loved my discrete math course .
If anything , both courses teach you how to approach and solve problems .
Good skills to have for any programmers .
While you are at it , if it is n't already required I 'd suggest taking some physics for scientists and engineers as well as some calculus courses .
Trust me , I was in your shoes a few years back and wo n't say it was n't hard , but it was definitely worth it .</tokentext>
<sentencetext>Might I recommend both?
For me the second course you talked about is the easier one, but I absolutely loved my discrete math course.
If anything, both courses teach you how to approach and solve problems.
Good skills to have for any programmers.
While you are at it, if it isn't already required I'd suggest taking some physics for scientists and engineers as well as some calculus courses.
Trust me, I was in your shoes a few years back and won't say it wasn't hard, but it was definitely worth it.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30673678</id>
	<title>If you want programm for fun take second</title>
	<author>S3D</author>
	<datestamp>1262810160000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>If you are in it for money take first.
Computer games, 3d programming, computer vision, image processing, machine learning - whatever cull area are there they all relay heavily on calculus and linear algebra, and often their more arcane derivatives like optimization, groups Lie etc. Even google page rank uses eigenvectors.
From the other hand it's possible to slog through the whole career in business applications/databases without touching calculus or linear algebra.</htmltext>
<tokenext>If you are in it for money take first .
Computer games , 3d programming , computer vision , image processing , machine learning - whatever cull area are there they all relay heavily on calculus and linear algebra , and often their more arcane derivatives like optimization , groups Lie etc .
Even google page rank uses eigenvectors .
From the other hand it 's possible to slog through the whole career in business applications/databases without touching calculus or linear algebra .</tokentext>
<sentencetext>If you are in it for money take first.
Computer games, 3d programming, computer vision, image processing, machine learning - whatever cull area are there they all relay heavily on calculus and linear algebra, and often their more arcane derivatives like optimization, groups Lie etc.
Even google page rank uses eigenvectors.
From the other hand it's possible to slog through the whole career in business applications/databases without touching calculus or linear algebra.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30673992</id>
	<title>As somebody who actually has a job right now...</title>
	<author>Anonymous</author>
	<datestamp>1262768400000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>I advise not getting too caught up in Math...</p><p>An awful lot of the "Advise" being dished out here is over inflated opinion... I know.. I know, somebody had to point that out...<br>Both are useful sets of courses, but neither will land you that dream job. Experience is key in all careers...</p><p>But I would hate to burst some bubbles, not all great software engineers are mathematical in anyway.(I'm not ether of those).<br>In fact when you've seen the real world a bit you might notice a tend in your dev teams... Math Grad = Hopeless at even the most trivial of tasks</p><p>Personally, as a CS Grad, I'd go Graph Theory, It appears in alot of different places (Like in testing or verification you might use a control flow graph),<br>Its not overly difficult and ties in better with Computer Science and more importantly Software Engineering (The real world stuff).</p><p>End of the day, its your choice, don't let the slashdot masses ruin your life (Like mine and many others before me)</p></htmltext>
<tokenext>I advise not getting too caught up in Math...An awful lot of the " Advise " being dished out here is over inflated opinion... I know.. I know , somebody had to point that out...Both are useful sets of courses , but neither will land you that dream job .
Experience is key in all careers...But I would hate to burst some bubbles , not all great software engineers are mathematical in anyway .
( I 'm not ether of those ) .In fact when you 've seen the real world a bit you might notice a tend in your dev teams... Math Grad = Hopeless at even the most trivial of tasksPersonally , as a CS Grad , I 'd go Graph Theory , It appears in alot of different places ( Like in testing or verification you might use a control flow graph ) ,Its not overly difficult and ties in better with Computer Science and more importantly Software Engineering ( The real world stuff ) .End of the day , its your choice , do n't let the slashdot masses ruin your life ( Like mine and many others before me )</tokentext>
<sentencetext>I advise not getting too caught up in Math...An awful lot of the "Advise" being dished out here is over inflated opinion... I know.. I know, somebody had to point that out...Both are useful sets of courses, but neither will land you that dream job.
Experience is key in all careers...But I would hate to burst some bubbles, not all great software engineers are mathematical in anyway.
(I'm not ether of those).In fact when you've seen the real world a bit you might notice a tend in your dev teams... Math Grad = Hopeless at even the most trivial of tasksPersonally, as a CS Grad, I'd go Graph Theory, It appears in alot of different places (Like in testing or verification you might use a control flow graph),Its not overly difficult and ties in better with Computer Science and more importantly Software Engineering (The real world stuff).End of the day, its your choice, don't let the slashdot masses ruin your life (Like mine and many others before me)</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669958</id>
	<title>Set Theory / Boolean Logic</title>
	<author>Anonymous</author>
	<datestamp>1262795460000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>5</modscore>
	<htmltext><p>Venn Diagrams.  Intersection.  Union.  AND/OR/NAND/NOR</p><p>I constantly run into people screwing stuff up because they get lost in the logic of stuff like "if this is part of that group but not contained in this set".</p></htmltext>
<tokenext>Venn Diagrams .
Intersection. Union .
AND/OR/NAND/NORI constantly run into people screwing stuff up because they get lost in the logic of stuff like " if this is part of that group but not contained in this set " .</tokentext>
<sentencetext>Venn Diagrams.
Intersection.  Union.
AND/OR/NAND/NORI constantly run into people screwing stuff up because they get lost in the logic of stuff like "if this is part of that group but not contained in this set".</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674064</id>
	<title>...and MUSIC training helps too</title>
	<author>gwn</author>
	<datestamp>1262768700000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>I have lived and worked in various IT environments over the last couple of decades and I have observed a very interesting thing... The best programmers I have had the pleasure to work with/for were also musicians.  Usually amateur musicians, but musicians.</p><p>It seems there are very important skill transfers between the two.</p><p>I am also able to watch my own kids... and the musical one has chosen to go to university to get a software engineering degree... and is doing amazingly.  By the way he also took every math he could get in high school and first year university.</p></htmltext>
<tokenext>I have lived and worked in various IT environments over the last couple of decades and I have observed a very interesting thing... The best programmers I have had the pleasure to work with/for were also musicians .
Usually amateur musicians , but musicians.It seems there are very important skill transfers between the two.I am also able to watch my own kids... and the musical one has chosen to go to university to get a software engineering degree... and is doing amazingly .
By the way he also took every math he could get in high school and first year university .</tokentext>
<sentencetext>I have lived and worked in various IT environments over the last couple of decades and I have observed a very interesting thing... The best programmers I have had the pleasure to work with/for were also musicians.
Usually amateur musicians, but musicians.It seems there are very important skill transfers between the two.I am also able to watch my own kids... and the musical one has chosen to go to university to get a software engineering degree... and is doing amazingly.
By the way he also took every math he could get in high school and first year university.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670010</id>
	<title>Discrete FTW</title>
	<author>jdkramar</author>
	<datestamp>1262795580000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>I am a CS student, and out of all 7 of my advanced math classes, the ONLY one I have ever found useful with programming is Discrete.</htmltext>
<tokenext>I am a CS student , and out of all 7 of my advanced math classes , the ONLY one I have ever found useful with programming is Discrete .</tokentext>
<sentencetext>I am a CS student, and out of all 7 of my advanced math classes, the ONLY one I have ever found useful with programming is Discrete.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669944</id>
	<title>Discrete Math, For Sure</title>
	<author>MarkPNeyer</author>
	<datestamp>1262795400000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>The first course will be far more useful to you than the second course. You need a solid background in discrete math to prove algorithms are correct and to prove things about their running times. The second course would be more useful to someone who will need advanced math for modeling things. Even if you eventually go on to take the second course, the first will definitely prove useful to you.</p></htmltext>
<tokenext>The first course will be far more useful to you than the second course .
You need a solid background in discrete math to prove algorithms are correct and to prove things about their running times .
The second course would be more useful to someone who will need advanced math for modeling things .
Even if you eventually go on to take the second course , the first will definitely prove useful to you .</tokentext>
<sentencetext>The first course will be far more useful to you than the second course.
You need a solid background in discrete math to prove algorithms are correct and to prove things about their running times.
The second course would be more useful to someone who will need advanced math for modeling things.
Even if you eventually go on to take the second course, the first will definitely prove useful to you.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30679178</id>
	<title>Discrete</title>
	<author>Anonymous</author>
	<datestamp>1262800740000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>I actually took both those courses (or courses that covered each of those topics) this past semester, and I must say that Discrete Math was the more beneficial in my mind. Not because the topics discussed were particularly more useful than the others, but because that course put the person more in a proper mindset for programming and systems in general. thinking logically is the core of a programmer, and Discrete Math aided that aspect more. Thus, I would go with that.</p></htmltext>
<tokenext>I actually took both those courses ( or courses that covered each of those topics ) this past semester , and I must say that Discrete Math was the more beneficial in my mind .
Not because the topics discussed were particularly more useful than the others , but because that course put the person more in a proper mindset for programming and systems in general .
thinking logically is the core of a programmer , and Discrete Math aided that aspect more .
Thus , I would go with that .</tokentext>
<sentencetext>I actually took both those courses (or courses that covered each of those topics) this past semester, and I must say that Discrete Math was the more beneficial in my mind.
Not because the topics discussed were particularly more useful than the others, but because that course put the person more in a proper mindset for programming and systems in general.
thinking logically is the core of a programmer, and Discrete Math aided that aspect more.
Thus, I would go with that.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670182</id>
	<title>Depends...</title>
	<author>Slash.Poop</author>
	<datestamp>1262796180000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>I know personally I am a JAVA programmer...JDBC, GUI, logic...and I SUCK at math. I never understood why everyone always told me I "you need math if you are going to program".<br> <br>

Well I am here to tell them "No you don't!"<br> <br>

My career is doing quite well and I have been able to program anything that has been put in front of me.</htmltext>
<tokenext>I know personally I am a JAVA programmer...JDBC , GUI , logic...and I SUCK at math .
I never understood why everyone always told me I " you need math if you are going to program " .
Well I am here to tell them " No you do n't !
" My career is doing quite well and I have been able to program anything that has been put in front of me .</tokentext>
<sentencetext>I know personally I am a JAVA programmer...JDBC, GUI, logic...and I SUCK at math.
I never understood why everyone always told me I "you need math if you are going to program".
Well I am here to tell them "No you don't!
" 

My career is doing quite well and I have been able to program anything that has been put in front of me.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674132</id>
	<title>All kind of maths are good</title>
	<author>godrik</author>
	<datestamp>1262768880000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>seriously all kinds of maths are importants.</p><p>If you don't do statistics, you'll never see the difference between that's noise and that's relevant information.</p><p>Discreet structures are the basis of algorithmics. No algorithmics, no efficient code.</p><p>Linear algebra is the basis of... everything including non linear equations So you'll need it for equations solving, optimisation (including in discreet structure), graphics 2d or 3d, sound...</p><p>calculus, derivations (or whatever it is called in your country) leads to data analysis, trends...</p><p>Mod me troll if you want but if you want to do more than selecting colors on a website, you can't have too much maths...</p></htmltext>
<tokenext>seriously all kinds of maths are importants.If you do n't do statistics , you 'll never see the difference between that 's noise and that 's relevant information.Discreet structures are the basis of algorithmics .
No algorithmics , no efficient code.Linear algebra is the basis of... everything including non linear equations So you 'll need it for equations solving , optimisation ( including in discreet structure ) , graphics 2d or 3d , sound...calculus , derivations ( or whatever it is called in your country ) leads to data analysis , trends...Mod me troll if you want but if you want to do more than selecting colors on a website , you ca n't have too much maths.. .</tokentext>
<sentencetext>seriously all kinds of maths are importants.If you don't do statistics, you'll never see the difference between that's noise and that's relevant information.Discreet structures are the basis of algorithmics.
No algorithmics, no efficient code.Linear algebra is the basis of... everything including non linear equations So you'll need it for equations solving, optimisation (including in discreet structure), graphics 2d or 3d, sound...calculus, derivations (or whatever it is called in your country) leads to data analysis, trends...Mod me troll if you want but if you want to do more than selecting colors on a website, you can't have too much maths...</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674822</id>
	<title>Both...</title>
	<author>farmanb</author>
	<datestamp>1262772240000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>I think which path you choose depends on what you want to do.  From a foundational strand point, I'd seriously suggest the discrete stuff.  In any sort of higher level algorithms classes you should probably be exposed to, you will need the graph theory.  On the more practical side, data structures are vital as any sort of practical programmer.  Without a decent grasp of the material in a data structures class, I'm pretty sure you're going to struggle finding decent jobs.

The other stuff--the continuous math--is a blast (I myself started out CS and have since been wooed into pure math as a grad student), but as some have pointed out, unless you're doing development in computer vision, gaming (physics engines, graphics, etc.) or some sort of scientific computing in a national lab or university, etc. I don't think it's really going to come in handy all that much.  Just my $0.02.</htmltext>
<tokenext>I think which path you choose depends on what you want to do .
From a foundational strand point , I 'd seriously suggest the discrete stuff .
In any sort of higher level algorithms classes you should probably be exposed to , you will need the graph theory .
On the more practical side , data structures are vital as any sort of practical programmer .
Without a decent grasp of the material in a data structures class , I 'm pretty sure you 're going to struggle finding decent jobs .
The other stuff--the continuous math--is a blast ( I myself started out CS and have since been wooed into pure math as a grad student ) , but as some have pointed out , unless you 're doing development in computer vision , gaming ( physics engines , graphics , etc .
) or some sort of scientific computing in a national lab or university , etc .
I do n't think it 's really going to come in handy all that much .
Just my $ 0.02 .</tokentext>
<sentencetext>I think which path you choose depends on what you want to do.
From a foundational strand point, I'd seriously suggest the discrete stuff.
In any sort of higher level algorithms classes you should probably be exposed to, you will need the graph theory.
On the more practical side, data structures are vital as any sort of practical programmer.
Without a decent grasp of the material in a data structures class, I'm pretty sure you're going to struggle finding decent jobs.
The other stuff--the continuous math--is a blast (I myself started out CS and have since been wooed into pure math as a grad student), but as some have pointed out, unless you're doing development in computer vision, gaming (physics engines, graphics, etc.
) or some sort of scientific computing in a national lab or university, etc.
I don't think it's really going to come in handy all that much.
Just my $0.02.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670250</id>
	<title>Re:Study what you enjoy</title>
	<author>Anonymous</author>
	<datestamp>1262796420000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>I have to strongly second the parents recommendation to go with what interests you. The hardest course I ever took was a CS course recommended by everyone else as an easy option - the combination of a change of a lecturer and the fact that I wasn't interested were fatal. I also did several supposedly hard maths courses without the prerequisites because I was seriously interested and studied up on the background at the same time - I ended up with a PhD in that field.</p><p>As far as the two subjects go, I think I would find the discreet structures most useful to the programming that I do, but then I don't have a lot of interest in graphics. I also think that either course would be good for developing the kind of thinking that I find quite useful for programming.</p></htmltext>
<tokenext>I have to strongly second the parents recommendation to go with what interests you .
The hardest course I ever took was a CS course recommended by everyone else as an easy option - the combination of a change of a lecturer and the fact that I was n't interested were fatal .
I also did several supposedly hard maths courses without the prerequisites because I was seriously interested and studied up on the background at the same time - I ended up with a PhD in that field.As far as the two subjects go , I think I would find the discreet structures most useful to the programming that I do , but then I do n't have a lot of interest in graphics .
I also think that either course would be good for developing the kind of thinking that I find quite useful for programming .</tokentext>
<sentencetext>I have to strongly second the parents recommendation to go with what interests you.
The hardest course I ever took was a CS course recommended by everyone else as an easy option - the combination of a change of a lecturer and the fact that I wasn't interested were fatal.
I also did several supposedly hard maths courses without the prerequisites because I was seriously interested and studied up on the background at the same time - I ended up with a PhD in that field.As far as the two subjects go, I think I would find the discreet structures most useful to the programming that I do, but then I don't have a lot of interest in graphics.
I also think that either course would be good for developing the kind of thinking that I find quite useful for programming.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669840</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670510</id>
	<title>No no no</title>
	<author>Anonymous</author>
	<datestamp>1262797380000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>No no no!  This is a classic wrong answer to the question.  The kind of euclidean stuff and analysis stuff used in games and visual processing is mostly, if not entirely, elementary-level.  Knowing why differentiation is robust is no help here.  If you already know the derivative of a polynomial, and you can do dot products and cross products and matrix multiplication, you're good for everything except developing highly advanced algorithms of your own, which is a speciality rarely found outside of academia.  Everything else you need will be in books, and you can happily forget it afterwards.</p><p>To become a better programmer (which was the main raison d'etre) you need to learn to use maths to understand the function and structure of computer programs.  Choice #1 is therefore the only useful choice.  You will then, through life, proceed to learn more and more of this type of stuff.  This is the kind of level of knowledge you need to, for instance, properly architect massively multi-core programs.</p><p>You will find #1 easier because it's more relevant.  Much of #2 will be to do with solving the heat equation in closed form and other such stuff which is made fundamentally archaic by the very existence of computers.</p><p>The other must-have is a proper numerical analysis course, unless you don't ever intend to use the float or double datatypes.</p><p>As for error-correcting codes, that's part of discreet maths so will be in course #1.  ECCs are usually covered in the first few group theory courses.</p><p>As for Godel-Escher-Bach, I don't recommend that either<nobr> <wbr></nobr>:)</p><p>Finally, if you have a problem with understanding a piece of maths, try to find an application for it in computing, and you'll probably find an article online somewhere which explains the maths you can't understand.  Maths isn't hard, but maths textbooks are fucking awful.</p></htmltext>
<tokenext>No no no !
This is a classic wrong answer to the question .
The kind of euclidean stuff and analysis stuff used in games and visual processing is mostly , if not entirely , elementary-level .
Knowing why differentiation is robust is no help here .
If you already know the derivative of a polynomial , and you can do dot products and cross products and matrix multiplication , you 're good for everything except developing highly advanced algorithms of your own , which is a speciality rarely found outside of academia .
Everything else you need will be in books , and you can happily forget it afterwards.To become a better programmer ( which was the main raison d'etre ) you need to learn to use maths to understand the function and structure of computer programs .
Choice # 1 is therefore the only useful choice .
You will then , through life , proceed to learn more and more of this type of stuff .
This is the kind of level of knowledge you need to , for instance , properly architect massively multi-core programs.You will find # 1 easier because it 's more relevant .
Much of # 2 will be to do with solving the heat equation in closed form and other such stuff which is made fundamentally archaic by the very existence of computers.The other must-have is a proper numerical analysis course , unless you do n't ever intend to use the float or double datatypes.As for error-correcting codes , that 's part of discreet maths so will be in course # 1 .
ECCs are usually covered in the first few group theory courses.As for Godel-Escher-Bach , I do n't recommend that either : ) Finally , if you have a problem with understanding a piece of maths , try to find an application for it in computing , and you 'll probably find an article online somewhere which explains the maths you ca n't understand .
Maths is n't hard , but maths textbooks are fucking awful .</tokentext>
<sentencetext>No no no!
This is a classic wrong answer to the question.
The kind of euclidean stuff and analysis stuff used in games and visual processing is mostly, if not entirely, elementary-level.
Knowing why differentiation is robust is no help here.
If you already know the derivative of a polynomial, and you can do dot products and cross products and matrix multiplication, you're good for everything except developing highly advanced algorithms of your own, which is a speciality rarely found outside of academia.
Everything else you need will be in books, and you can happily forget it afterwards.To become a better programmer (which was the main raison d'etre) you need to learn to use maths to understand the function and structure of computer programs.
Choice #1 is therefore the only useful choice.
You will then, through life, proceed to learn more and more of this type of stuff.
This is the kind of level of knowledge you need to, for instance, properly architect massively multi-core programs.You will find #1 easier because it's more relevant.
Much of #2 will be to do with solving the heat equation in closed form and other such stuff which is made fundamentally archaic by the very existence of computers.The other must-have is a proper numerical analysis course, unless you don't ever intend to use the float or double datatypes.As for error-correcting codes, that's part of discreet maths so will be in course #1.
ECCs are usually covered in the first few group theory courses.As for Godel-Escher-Bach, I don't recommend that either :)Finally, if you have a problem with understanding a piece of maths, try to find an application for it in computing, and you'll probably find an article online somewhere which explains the maths you can't understand.
Maths isn't hard, but maths textbooks are fucking awful.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670208</id>
	<title>Depends what kind of programming interests you</title>
	<author>Anonymous</author>
	<datestamp>1262796240000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>    'Discreet structures with graph theory' will be more helpful for most programming.  The methods of reasoning you will be exposed to in discrete math will help you reason about programs, and make you a better programmer.</p><p>
&nbsp; &nbsp; &nbsp; &nbsp; If you plan to write software that requires simulating physical systems or 3D rendering, 'Selected math chapters' is definitely worth taking.  However, if you can't take both, the discreet math class should take priority.</p><p>
&nbsp; &nbsp; &nbsp; &nbsp; I assume you are a college student.  Do not be afraid to take classes that you think are too hard.  If you have no hope of getting a good grade, consider auditing the class.  You get two things out of collage:</p><p>1) An education.<br>2) A degree with a GPA.</p><p>When I was in school I feared hard classes because I would have a lower GPA.  I knew the education was valuable.  However, I thought that because the degree and GPA were measurable to employers, they were more important.  This is true for your first job out of school, but becomes less important over time.  Ten years out of school, an employer will care what you achieved at your last job more than your grades in school.  You should try to get good grades, but you are hurting your education more than helping your GPA if you get good grades by avoiding hard, important classes.</p></htmltext>
<tokenext>'Discreet structures with graph theory ' will be more helpful for most programming .
The methods of reasoning you will be exposed to in discrete math will help you reason about programs , and make you a better programmer .
        If you plan to write software that requires simulating physical systems or 3D rendering , 'Selected math chapters ' is definitely worth taking .
However , if you ca n't take both , the discreet math class should take priority .
        I assume you are a college student .
Do not be afraid to take classes that you think are too hard .
If you have no hope of getting a good grade , consider auditing the class .
You get two things out of collage : 1 ) An education.2 ) A degree with a GPA.When I was in school I feared hard classes because I would have a lower GPA .
I knew the education was valuable .
However , I thought that because the degree and GPA were measurable to employers , they were more important .
This is true for your first job out of school , but becomes less important over time .
Ten years out of school , an employer will care what you achieved at your last job more than your grades in school .
You should try to get good grades , but you are hurting your education more than helping your GPA if you get good grades by avoiding hard , important classes .</tokentext>
<sentencetext>    'Discreet structures with graph theory' will be more helpful for most programming.
The methods of reasoning you will be exposed to in discrete math will help you reason about programs, and make you a better programmer.
        If you plan to write software that requires simulating physical systems or 3D rendering, 'Selected math chapters' is definitely worth taking.
However, if you can't take both, the discreet math class should take priority.
        I assume you are a college student.
Do not be afraid to take classes that you think are too hard.
If you have no hope of getting a good grade, consider auditing the class.
You get two things out of collage:1) An education.2) A degree with a GPA.When I was in school I feared hard classes because I would have a lower GPA.
I knew the education was valuable.
However, I thought that because the degree and GPA were measurable to employers, they were more important.
This is true for your first job out of school, but becomes less important over time.
Ten years out of school, an employer will care what you achieved at your last job more than your grades in school.
You should try to get good grades, but you are hurting your education more than helping your GPA if you get good grades by avoiding hard, important classes.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671676</id>
	<title>Re:Take Both</title>
	<author>OldSoldier</author>
	<datestamp>1262801760000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Both are good, no question about it. Both have uses that may or may not overlap with what you intend to do with the CS degree. HOWEVER, I STRONGLY RECOMMEND YOU TAKING WHAT YOU LIKE THE BEST. Your problem with math may be that you're uncomfortable with it and taking any course that makes you comfortable may bleed over into other related areas.</p><p>So, given a choice between the 'vector' class, where you may struggle and hate it but 'learn it' and the 'graph' course where you may have fun with it, go for the fun one first and always keep in the back of your mind that you should perhaps take the 'vector' class too.</p><p>Actually I have a course outline for you.<br>a) the 'graph' class<br>b) then a full on linear algebra class... it will introduce you to vectors albeit in an abstract way similar to the 'graph' class above (proofs and also vectors in more than just 3 dimensions)<br>c) then the 'vector' class, at least the vector part of that should be a breeze for you. Though the differential part will still be as hard as it was before taking class "b" above.</p><p>Finally, ALL math is good. (So I'd let your passion decide.) I remember a math professor of mine commenting on a task he was working on for the forestry department of the university. The task was to compute the area of an arbitrary polygonal shape. The forestry dept first went to the CS department where they tried the normal triangularization trick but ran into trouble because that trick encounters difficulty when dealing with concave polygons. The math professor used <a href="http://en.wikipedia.org/wiki/Green's\_theorem" title="wikipedia.org">Green's Theorem</a> [wikipedia.org] which also results is a much much cleaner algorithm.</p></htmltext>
<tokenext>Both are good , no question about it .
Both have uses that may or may not overlap with what you intend to do with the CS degree .
HOWEVER , I STRONGLY RECOMMEND YOU TAKING WHAT YOU LIKE THE BEST .
Your problem with math may be that you 're uncomfortable with it and taking any course that makes you comfortable may bleed over into other related areas.So , given a choice between the 'vector ' class , where you may struggle and hate it but 'learn it ' and the 'graph ' course where you may have fun with it , go for the fun one first and always keep in the back of your mind that you should perhaps take the 'vector ' class too.Actually I have a course outline for you.a ) the 'graph ' classb ) then a full on linear algebra class... it will introduce you to vectors albeit in an abstract way similar to the 'graph ' class above ( proofs and also vectors in more than just 3 dimensions ) c ) then the 'vector ' class , at least the vector part of that should be a breeze for you .
Though the differential part will still be as hard as it was before taking class " b " above.Finally , ALL math is good .
( So I 'd let your passion decide .
) I remember a math professor of mine commenting on a task he was working on for the forestry department of the university .
The task was to compute the area of an arbitrary polygonal shape .
The forestry dept first went to the CS department where they tried the normal triangularization trick but ran into trouble because that trick encounters difficulty when dealing with concave polygons .
The math professor used Green 's Theorem [ wikipedia.org ] which also results is a much much cleaner algorithm .</tokentext>
<sentencetext>Both are good, no question about it.
Both have uses that may or may not overlap with what you intend to do with the CS degree.
HOWEVER, I STRONGLY RECOMMEND YOU TAKING WHAT YOU LIKE THE BEST.
Your problem with math may be that you're uncomfortable with it and taking any course that makes you comfortable may bleed over into other related areas.So, given a choice between the 'vector' class, where you may struggle and hate it but 'learn it' and the 'graph' course where you may have fun with it, go for the fun one first and always keep in the back of your mind that you should perhaps take the 'vector' class too.Actually I have a course outline for you.a) the 'graph' classb) then a full on linear algebra class... it will introduce you to vectors albeit in an abstract way similar to the 'graph' class above (proofs and also vectors in more than just 3 dimensions)c) then the 'vector' class, at least the vector part of that should be a breeze for you.
Though the differential part will still be as hard as it was before taking class "b" above.Finally, ALL math is good.
(So I'd let your passion decide.
) I remember a math professor of mine commenting on a task he was working on for the forestry department of the university.
The task was to compute the area of an arbitrary polygonal shape.
The forestry dept first went to the CS department where they tried the normal triangularization trick but ran into trouble because that trick encounters difficulty when dealing with concave polygons.
The math professor used Green's Theorem [wikipedia.org] which also results is a much much cleaner algorithm.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669830</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670548</id>
	<title>Re:The Second, If Not Both</title>
	<author>xtracto</author>
	<datestamp>1262797500000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p><div class="quote"><p>caution you that there are many other science professions which require math to varying degrees. The above statement could also be true of phycisists, chemists and maybe even biologists.</p></div><p>Or as someone has pictured it better...<br><a href="http://www.xkcd.com/435/" title="xkcd.com" rel="nofollow">obligatory</a> [xkcd.com].</p></div>
	</htmltext>
<tokenext>caution you that there are many other science professions which require math to varying degrees .
The above statement could also be true of phycisists , chemists and maybe even biologists.Or as someone has pictured it better...obligatory [ xkcd.com ] .</tokentext>
<sentencetext>caution you that there are many other science professions which require math to varying degrees.
The above statement could also be true of phycisists, chemists and maybe even biologists.Or as someone has pictured it better...obligatory [xkcd.com].
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670192</id>
	<title>Graph Theory for non-programmer communication</title>
	<author>wagr</author>
	<datestamp>1262796180000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>I'm no longer working on engineering systems, I deal with more common users on business management software.  I have to interact with clients and executives with no clue what a developer actually does.</p><p>Constantly, my thorough (that was a painful class) grounding in boolean logic helps me to write concise code.</p><p>Often, I use my discreet structures knowledge to split up a my work in to manageable chunks.</p><p>Sometimes, my understanding of graph theory to helps me explain concepts to non-programmers.</p><p>Rarely, I use concepts from vectors when designing code or describing a concept to another high-end programmer.</p><p>I haven't used any basic math above algebra (ex. trig or calculus) since 1990.</p></htmltext>
<tokenext>I 'm no longer working on engineering systems , I deal with more common users on business management software .
I have to interact with clients and executives with no clue what a developer actually does.Constantly , my thorough ( that was a painful class ) grounding in boolean logic helps me to write concise code.Often , I use my discreet structures knowledge to split up a my work in to manageable chunks.Sometimes , my understanding of graph theory to helps me explain concepts to non-programmers.Rarely , I use concepts from vectors when designing code or describing a concept to another high-end programmer.I have n't used any basic math above algebra ( ex .
trig or calculus ) since 1990 .</tokentext>
<sentencetext>I'm no longer working on engineering systems, I deal with more common users on business management software.
I have to interact with clients and executives with no clue what a developer actually does.Constantly, my thorough (that was a painful class) grounding in boolean logic helps me to write concise code.Often, I use my discreet structures knowledge to split up a my work in to manageable chunks.Sometimes, my understanding of graph theory to helps me explain concepts to non-programmers.Rarely, I use concepts from vectors when designing code or describing a concept to another high-end programmer.I haven't used any basic math above algebra (ex.
trig or calculus) since 1990.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671054</id>
	<title>Re:Take the easier course</title>
	<author>mattpalmer1086</author>
	<datestamp>1262799300000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Well, relational databases were *supposed* to be built on set theory.  But they ended up including NULLs, which aren't compatible with sets.  Try reading "Database in Depth" by C. J. Date for some amusingly acerbic and useful analysis of relational theory:</p><p><a href="http://www.amazon.co.uk/Database-Depth-Relational-Theory-Practitioners/dp/0596100124" title="amazon.co.uk">http://www.amazon.co.uk/Database-Depth-Relational-Theory-Practitioners/dp/0596100124</a> [amazon.co.uk]</p><p>He worked with E. Codd on the original relational model.</p></htmltext>
<tokenext>Well , relational databases were * supposed * to be built on set theory .
But they ended up including NULLs , which are n't compatible with sets .
Try reading " Database in Depth " by C. J. Date for some amusingly acerbic and useful analysis of relational theory : http : //www.amazon.co.uk/Database-Depth-Relational-Theory-Practitioners/dp/0596100124 [ amazon.co.uk ] He worked with E. Codd on the original relational model .</tokentext>
<sentencetext>Well, relational databases were *supposed* to be built on set theory.
But they ended up including NULLs, which aren't compatible with sets.
Try reading "Database in Depth" by C. J. Date for some amusingly acerbic and useful analysis of relational theory:http://www.amazon.co.uk/Database-Depth-Relational-Theory-Practitioners/dp/0596100124 [amazon.co.uk]He worked with E. Codd on the original relational model.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669974</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672936</id>
	<title>It's ALL Important</title>
	<author>brian12184</author>
	<datestamp>1262806740000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>The byproduct of learning math is that teaches you how to teach yourself how to learn, how to think and how to solve problems, something you do impicitly many times every minute you are a programmer. While learning Calculus, differential equations, linear algebra, etc... may not be important on the surface, it will DEFINITELY go a long way to helping you in these areas of critical thinking, make new technologies easier to learn and new styles of programming easier to decipher because you have the training to be able process difficult problems on your feet in a top-down, analytical fashion. I find that the training I received in Mathematics (was a double major in math and comp. sci) was more important to my long-term growth as a developer and team leader.</htmltext>
<tokenext>The byproduct of learning math is that teaches you how to teach yourself how to learn , how to think and how to solve problems , something you do impicitly many times every minute you are a programmer .
While learning Calculus , differential equations , linear algebra , etc... may not be important on the surface , it will DEFINITELY go a long way to helping you in these areas of critical thinking , make new technologies easier to learn and new styles of programming easier to decipher because you have the training to be able process difficult problems on your feet in a top-down , analytical fashion .
I find that the training I received in Mathematics ( was a double major in math and comp .
sci ) was more important to my long-term growth as a developer and team leader .</tokentext>
<sentencetext>The byproduct of learning math is that teaches you how to teach yourself how to learn, how to think and how to solve problems, something you do impicitly many times every minute you are a programmer.
While learning Calculus, differential equations, linear algebra, etc... may not be important on the surface, it will DEFINITELY go a long way to helping you in these areas of critical thinking, make new technologies easier to learn and new styles of programming easier to decipher because you have the training to be able process difficult problems on your feet in a top-down, analytical fashion.
I find that the training I received in Mathematics (was a double major in math and comp.
sci) was more important to my long-term growth as a developer and team leader.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670544</id>
	<title>Re:The Second, If Not Both</title>
	<author>Monkeedude1212</author>
	<datestamp>1262797440000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>2</modscore>
	<htmltext><p><div class="quote"><p>As a brief aside, it's entirely possible you simply were never exposed to fun math or been exposed to a really influential teacher. </p></div><p>While the entire post is very insightful, and every word as true as 1, this one had a special reflection on me. Honestly, a fun Stats teacher and a silly Linear Algebra in my Polytechnic courses made the difference between snore and cries for more.</p><p>Also, learning about Vectors, Matrixes, and their transformations was single handedly the most useful math I've ever learned in my life, in regards to programming. It has endless applications. Like you said, Rendering, Cryptography, I even use it in complex organization schemes and game theory.</p><p><div class="quote"><p>should you decide to procreate.</p></div><p>I know thats probably the best way you could have said it, but it still sounds funny, no matter what way you say it.</p></div>
	</htmltext>
<tokenext>As a brief aside , it 's entirely possible you simply were never exposed to fun math or been exposed to a really influential teacher .
While the entire post is very insightful , and every word as true as 1 , this one had a special reflection on me .
Honestly , a fun Stats teacher and a silly Linear Algebra in my Polytechnic courses made the difference between snore and cries for more.Also , learning about Vectors , Matrixes , and their transformations was single handedly the most useful math I 've ever learned in my life , in regards to programming .
It has endless applications .
Like you said , Rendering , Cryptography , I even use it in complex organization schemes and game theory.should you decide to procreate.I know thats probably the best way you could have said it , but it still sounds funny , no matter what way you say it .</tokentext>
<sentencetext>As a brief aside, it's entirely possible you simply were never exposed to fun math or been exposed to a really influential teacher.
While the entire post is very insightful, and every word as true as 1, this one had a special reflection on me.
Honestly, a fun Stats teacher and a silly Linear Algebra in my Polytechnic courses made the difference between snore and cries for more.Also, learning about Vectors, Matrixes, and their transformations was single handedly the most useful math I've ever learned in my life, in regards to programming.
It has endless applications.
Like you said, Rendering, Cryptography, I even use it in complex organization schemes and game theory.should you decide to procreate.I know thats probably the best way you could have said it, but it still sounds funny, no matter what way you say it.
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671078</id>
	<title>Some suggestions based on personal experience</title>
	<author>ebegoli</author>
	<datestamp>1262799360000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>I will try to address your question with three personal views - one of an IT professional, one of a PhD CS student and one of an admirer of Math:<p>
As an IT professional with 15 years of IT experience I say that you do not need any Math beyond most rudimentary arithmetic and some statistics
used in spreadsheets and reports. If you need to calculate something and to figure out formulas you will likely use Google or a mailing list.
Even logic as programming logic is pretty basic and far away from predicate calculus that one studies in school. One may say that this
may change but for millions of COBOL, VB and Java programmers nothing has changed about this in the past thirty years, except that
you may only need less math now.
</p><p>
As a PhD student in CS who *has* to be good at Math both for theoretical work and for the craft,
so I have few advices to offer gathered from personal experience, learning and exploration:
</p><p>
Most math ever required to be decent at Computer Science is concentrated in the (hybrid) field of mathematics called <b>Discrete Mathematics</b>.
If your skills are strong enough to know this field well then you are set. In addition, you should probably be good at <b>series and limits </b>as they
are fundamental to asymptotic analysis and at <b>linear algebra</b>.
</p><p>
As an admirer of Math I can tell you that the most fundamental skill for Computer Science is Mathematics. True, fundamental Computer and Computational
Science is Mathematics. To be really good at CS you need to be strong at Set and Number Theory, Probability and Statistics, Calculus through Differential Equations,
Graph Theory and Linear Algebra.
</p><p>
Regards,<br>
Edmon<br>
My blog entries on math and science are <a href="http://it.toolbox.com/blogs/lim/categories/math+and+science/2540" title="toolbox.com" rel="nofollow">here</a> [toolbox.com].</p></htmltext>
<tokenext>I will try to address your question with three personal views - one of an IT professional , one of a PhD CS student and one of an admirer of Math : As an IT professional with 15 years of IT experience I say that you do not need any Math beyond most rudimentary arithmetic and some statistics used in spreadsheets and reports .
If you need to calculate something and to figure out formulas you will likely use Google or a mailing list .
Even logic as programming logic is pretty basic and far away from predicate calculus that one studies in school .
One may say that this may change but for millions of COBOL , VB and Java programmers nothing has changed about this in the past thirty years , except that you may only need less math now .
As a PhD student in CS who * has * to be good at Math both for theoretical work and for the craft , so I have few advices to offer gathered from personal experience , learning and exploration : Most math ever required to be decent at Computer Science is concentrated in the ( hybrid ) field of mathematics called Discrete Mathematics .
If your skills are strong enough to know this field well then you are set .
In addition , you should probably be good at series and limits as they are fundamental to asymptotic analysis and at linear algebra .
As an admirer of Math I can tell you that the most fundamental skill for Computer Science is Mathematics .
True , fundamental Computer and Computational Science is Mathematics .
To be really good at CS you need to be strong at Set and Number Theory , Probability and Statistics , Calculus through Differential Equations , Graph Theory and Linear Algebra .
Regards , Edmon My blog entries on math and science are here [ toolbox.com ] .</tokentext>
<sentencetext>I will try to address your question with three personal views - one of an IT professional, one of a PhD CS student and one of an admirer of Math:
As an IT professional with 15 years of IT experience I say that you do not need any Math beyond most rudimentary arithmetic and some statistics
used in spreadsheets and reports.
If you need to calculate something and to figure out formulas you will likely use Google or a mailing list.
Even logic as programming logic is pretty basic and far away from predicate calculus that one studies in school.
One may say that this
may change but for millions of COBOL, VB and Java programmers nothing has changed about this in the past thirty years, except that
you may only need less math now.
As a PhD student in CS who *has* to be good at Math both for theoretical work and for the craft,
so I have few advices to offer gathered from personal experience, learning and exploration:

Most math ever required to be decent at Computer Science is concentrated in the (hybrid) field of mathematics called Discrete Mathematics.
If your skills are strong enough to know this field well then you are set.
In addition, you should probably be good at series and limits as they
are fundamental to asymptotic analysis and at linear algebra.
As an admirer of Math I can tell you that the most fundamental skill for Computer Science is Mathematics.
True, fundamental Computer and Computational
Science is Mathematics.
To be really good at CS you need to be strong at Set and Number Theory, Probability and Statistics, Calculus through Differential Equations,
Graph Theory and Linear Algebra.
Regards,
Edmon
My blog entries on math and science are here [toolbox.com].</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30701850</id>
	<title>Definitely take Discrete Math</title>
	<author>Anonymous</author>
	<datestamp>1262953620000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>I am a programmer, with a master's degree in math.  I have found no use whatsoever for the Analysis type of math in my job or elsewhere.  I would highly recommend the Discrete class.  Graph theory is extremely useful in computer science, and writing good programs is highly dependent on being able to write efficient algorithms.  good luck!</p></htmltext>
<tokenext>I am a programmer , with a master 's degree in math .
I have found no use whatsoever for the Analysis type of math in my job or elsewhere .
I would highly recommend the Discrete class .
Graph theory is extremely useful in computer science , and writing good programs is highly dependent on being able to write efficient algorithms .
good luck !</tokentext>
<sentencetext>I am a programmer, with a master's degree in math.
I have found no use whatsoever for the Analysis type of math in my job or elsewhere.
I would highly recommend the Discrete class.
Graph theory is extremely useful in computer science, and writing good programs is highly dependent on being able to write efficient algorithms.
good luck!</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670530</id>
	<title>It depends</title>
	<author>Mycroft\_514</author>
	<datestamp>1262797440000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Vector and such math is good if you want to go graphics and the like.</p><p>Algorithms and Automata theory is good if you want to go the Database administration route.</p><p>You pays your money and makes your choice.</p><p>As for Mathmaticians making the best programmers - sounds like a mathmatician talking to me.  It ain't neccessarily so.</p><p>I chose the automata route myself, and I employed as a DBA for a fortune 10 company.  However, with todays DBMSes, you might want to get some statistics under your belt.</p></htmltext>
<tokenext>Vector and such math is good if you want to go graphics and the like.Algorithms and Automata theory is good if you want to go the Database administration route.You pays your money and makes your choice.As for Mathmaticians making the best programmers - sounds like a mathmatician talking to me .
It ai n't neccessarily so.I chose the automata route myself , and I employed as a DBA for a fortune 10 company .
However , with todays DBMSes , you might want to get some statistics under your belt .</tokentext>
<sentencetext>Vector and such math is good if you want to go graphics and the like.Algorithms and Automata theory is good if you want to go the Database administration route.You pays your money and makes your choice.As for Mathmaticians making the best programmers - sounds like a mathmatician talking to me.
It ain't neccessarily so.I chose the automata route myself, and I employed as a DBA for a fortune 10 company.
However, with todays DBMSes, you might want to get some statistics under your belt.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671378</id>
	<title>No Shortcuts</title>
	<author>happy\_place</author>
	<datestamp>1262800560000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>Take a lot of math.

If you end up programming a digital filter, you'll be glad you had Taylor Series in your Calculus classes.
If you end up in Computer graphics, then Linear Algebra/Matrix Math is useful.
If you end up doing digital electronics, then Discrete Mathematics/Boolean Algebra is useful.
Heck, just to learn about rounding errors, a good Numerical Methods Course is a great course for computer programmers when you're approximating the analog world with finite floating point values.
There are mathematical simulations for modelling everything from human behavior (Game Theory) to Wave equations, Partial differentials, Statitistics, and Probability.

There's no shortcut. Don't think that because you're taking a math class it has no application. Don't shortchange yourself, get as much math as you can keep up with. Even logical proofs have their place (Formal Verification) in computing.</htmltext>
<tokenext>Take a lot of math .
If you end up programming a digital filter , you 'll be glad you had Taylor Series in your Calculus classes .
If you end up in Computer graphics , then Linear Algebra/Matrix Math is useful .
If you end up doing digital electronics , then Discrete Mathematics/Boolean Algebra is useful .
Heck , just to learn about rounding errors , a good Numerical Methods Course is a great course for computer programmers when you 're approximating the analog world with finite floating point values .
There are mathematical simulations for modelling everything from human behavior ( Game Theory ) to Wave equations , Partial differentials , Statitistics , and Probability .
There 's no shortcut .
Do n't think that because you 're taking a math class it has no application .
Do n't shortchange yourself , get as much math as you can keep up with .
Even logical proofs have their place ( Formal Verification ) in computing .</tokentext>
<sentencetext>Take a lot of math.
If you end up programming a digital filter, you'll be glad you had Taylor Series in your Calculus classes.
If you end up in Computer graphics, then Linear Algebra/Matrix Math is useful.
If you end up doing digital electronics, then Discrete Mathematics/Boolean Algebra is useful.
Heck, just to learn about rounding errors, a good Numerical Methods Course is a great course for computer programmers when you're approximating the analog world with finite floating point values.
There are mathematical simulations for modelling everything from human behavior (Game Theory) to Wave equations, Partial differentials, Statitistics, and Probability.
There's no shortcut.
Don't think that because you're taking a math class it has no application.
Don't shortchange yourself, get as much math as you can keep up with.
Even logical proofs have their place (Formal Verification) in computing.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30673626</id>
	<title>Both</title>
	<author>Anonymous</author>
	<datestamp>1262809860000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Take both. But if you have to take only one take the first, discreet logic is too important to pass up.</p></htmltext>
<tokenext>Take both .
But if you have to take only one take the first , discreet logic is too important to pass up .</tokentext>
<sentencetext>Take both.
But if you have to take only one take the first, discreet logic is too important to pass up.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30678374</id>
	<title>No Question!</title>
	<author>stonewolf</author>
	<datestamp>1262793300000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Take them both. No, I am not kidding. I took the equivalent of both and they have both been extremely valuable.</p><p>Stonewolf</p></htmltext>
<tokenext>Take them both .
No , I am not kidding .
I took the equivalent of both and they have both been extremely valuable.Stonewolf</tokentext>
<sentencetext>Take them both.
No, I am not kidding.
I took the equivalent of both and they have both been extremely valuable.Stonewolf</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670802</id>
	<title>The first is the math for programmers</title>
	<author>Anonymous</author>
	<datestamp>1262798280000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>I took the "both" route. In my career, I have used the "discrete math; proofs, sets, algorithms and graphs" route far, far more often. It's easy to explain when I think about it. That set of knowledge gives me the ability to understand the relative merits and deficiencies of all those little tools our CS or CE program has armed us with. For instance, recall the plethora of algorithms you were taught to consider when faced with sorting a list? They all have problems and there is a best choice each time you face the issue. What if the list you will sort is backward, or nearly so, or even often nearly so? A bad choice, in that case, would be quicksort, which is the common sort routine in 'C' runtime libraries and most folks default. Learning why that is so has been invaluable for me and learning how to rank your options when faced with a programming problem can mean the difference between flailing and success.</p><p>The other route will give you a good, broad, understanding of the math fundamentals for many domain specific engineering and science fields. It won't give you what you need, in general, in order to implement efficient algorithms solving the problems in those fields, though.</p><p>If what you want is to be a good programmer, with the ability to work on most any kind of project, go for the discrete math sequence. If you have a specific subdomain you will be working in for the rest of your programming career, the other route may be a better choice.</p></htmltext>
<tokenext>I took the " both " route .
In my career , I have used the " discrete math ; proofs , sets , algorithms and graphs " route far , far more often .
It 's easy to explain when I think about it .
That set of knowledge gives me the ability to understand the relative merits and deficiencies of all those little tools our CS or CE program has armed us with .
For instance , recall the plethora of algorithms you were taught to consider when faced with sorting a list ?
They all have problems and there is a best choice each time you face the issue .
What if the list you will sort is backward , or nearly so , or even often nearly so ?
A bad choice , in that case , would be quicksort , which is the common sort routine in 'C ' runtime libraries and most folks default .
Learning why that is so has been invaluable for me and learning how to rank your options when faced with a programming problem can mean the difference between flailing and success.The other route will give you a good , broad , understanding of the math fundamentals for many domain specific engineering and science fields .
It wo n't give you what you need , in general , in order to implement efficient algorithms solving the problems in those fields , though.If what you want is to be a good programmer , with the ability to work on most any kind of project , go for the discrete math sequence .
If you have a specific subdomain you will be working in for the rest of your programming career , the other route may be a better choice .</tokentext>
<sentencetext>I took the "both" route.
In my career, I have used the "discrete math; proofs, sets, algorithms and graphs" route far, far more often.
It's easy to explain when I think about it.
That set of knowledge gives me the ability to understand the relative merits and deficiencies of all those little tools our CS or CE program has armed us with.
For instance, recall the plethora of algorithms you were taught to consider when faced with sorting a list?
They all have problems and there is a best choice each time you face the issue.
What if the list you will sort is backward, or nearly so, or even often nearly so?
A bad choice, in that case, would be quicksort, which is the common sort routine in 'C' runtime libraries and most folks default.
Learning why that is so has been invaluable for me and learning how to rank your options when faced with a programming problem can mean the difference between flailing and success.The other route will give you a good, broad, understanding of the math fundamentals for many domain specific engineering and science fields.
It won't give you what you need, in general, in order to implement efficient algorithms solving the problems in those fields, though.If what you want is to be a good programmer, with the ability to work on most any kind of project, go for the discrete math sequence.
If you have a specific subdomain you will be working in for the rest of your programming career, the other route may be a better choice.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672008</id>
	<title>Calculus, Linear Algebra, Systematics and You</title>
	<author>Anonymous</author>
	<datestamp>1262803020000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Computer geeks are a varied bunch. Since I have been in the field a while (and grew up as an aero engineer first, biologist, and software architect), this may be useful.<br>Depends on what you think you will do.<br>Calculus is always useful...it is the language of the sciences, and explains the basics of any problem set.<br>Ditto for Matrix+Linear algebra. Vectors and matricies are live and die for any programmer.<br>If you steer to hw/embedded work, add in discrete math/binary math.<br>If you head into software architecture or AI/Neural networks, add in a course in math of systematics...relationships between lines, etc.<br>You may also need other math for various subject areas (Diffi-Q, etc.), but these are the basics.<br>Just a thought...</p></htmltext>
<tokenext>Computer geeks are a varied bunch .
Since I have been in the field a while ( and grew up as an aero engineer first , biologist , and software architect ) , this may be useful.Depends on what you think you will do.Calculus is always useful...it is the language of the sciences , and explains the basics of any problem set.Ditto for Matrix + Linear algebra .
Vectors and matricies are live and die for any programmer.If you steer to hw/embedded work , add in discrete math/binary math.If you head into software architecture or AI/Neural networks , add in a course in math of systematics...relationships between lines , etc.You may also need other math for various subject areas ( Diffi-Q , etc .
) , but these are the basics.Just a thought.. .</tokentext>
<sentencetext>Computer geeks are a varied bunch.
Since I have been in the field a while (and grew up as an aero engineer first, biologist, and software architect), this may be useful.Depends on what you think you will do.Calculus is always useful...it is the language of the sciences, and explains the basics of any problem set.Ditto for Matrix+Linear algebra.
Vectors and matricies are live and die for any programmer.If you steer to hw/embedded work, add in discrete math/binary math.If you head into software architecture or AI/Neural networks, add in a course in math of systematics...relationships between lines, etc.You may also need other math for various subject areas (Diffi-Q, etc.
), but these are the basics.Just a thought...</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30680528</id>
	<title>Re:Two kinds of math</title>
	<author>Anonymous</author>
	<datestamp>1262863620000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p><div class="quote"><p>There is a math proof that every program can be directly translated into a proof, and every proof can be translated into a program</p></div><p>I wonder how to translate this proof into a program...<nobr> <wbr></nobr>:-)</p></div>
	</htmltext>
<tokenext>There is a math proof that every program can be directly translated into a proof , and every proof can be translated into a programI wonder how to translate this proof into a program... : - )</tokentext>
<sentencetext>There is a math proof that every program can be directly translated into a proof, and every proof can be translated into a programI wonder how to translate this proof into a program... :-)
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672970</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30677152</id>
	<title>Recent Graduate</title>
	<author>Anonymous</author>
	<datestamp>1262783940000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>I finished my degree last year and all the maths that we did was discrete math; proofs, sets, algorithms and graphs and my degree was mostly maths. I found it pretty hardcore as I didn't have that natural flair and the mathematicians could make head or tale of it. Graph theory and algorithms are useful for parallel programming etc. Of course it depends on the type of programming you want to do for example, for example if you want to work in a financial institute, do some financial maths. I'd say do the first. Get a copy of 'Introduction to Algorithms - Corman', 'Computability, Complexity, and Languages - Davis' (silly oxford comma) and 'Introduction to the 'Theory of Computation - Spiser' all great fun to read, I never got through them, hence my degree classification was cr*p. Have fun.</p></htmltext>
<tokenext>I finished my degree last year and all the maths that we did was discrete math ; proofs , sets , algorithms and graphs and my degree was mostly maths .
I found it pretty hardcore as I did n't have that natural flair and the mathematicians could make head or tale of it .
Graph theory and algorithms are useful for parallel programming etc .
Of course it depends on the type of programming you want to do for example , for example if you want to work in a financial institute , do some financial maths .
I 'd say do the first .
Get a copy of 'Introduction to Algorithms - Corman ' , 'Computability , Complexity , and Languages - Davis ' ( silly oxford comma ) and 'Introduction to the 'Theory of Computation - Spiser ' all great fun to read , I never got through them , hence my degree classification was cr * p. Have fun .</tokentext>
<sentencetext>I finished my degree last year and all the maths that we did was discrete math; proofs, sets, algorithms and graphs and my degree was mostly maths.
I found it pretty hardcore as I didn't have that natural flair and the mathematicians could make head or tale of it.
Graph theory and algorithms are useful for parallel programming etc.
Of course it depends on the type of programming you want to do for example, for example if you want to work in a financial institute, do some financial maths.
I'd say do the first.
Get a copy of 'Introduction to Algorithms - Corman', 'Computability, Complexity, and Languages - Davis' (silly oxford comma) and 'Introduction to the 'Theory of Computation - Spiser' all great fun to read, I never got through them, hence my degree classification was cr*p. Have fun.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674094</id>
	<title>Re:The Second, If Not Both</title>
	<author>Anonymous</author>
	<datestamp>1262768820000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Math as it relates to programming has been WAYYYY overplayed.  Beyond most basic math, very little math is necessary for greater than 90\% of the programming out there.  One of the reasons is that 90\% of the programming jobs are DATABASE programming jobs.  Requiring huge amounts of math for programming is as silly as requiring Olympic Running medals for a secretary position.  Its a way for most math departments to ensure they have students in their mostly useless advanced math courses.<br>Just as most programmers are not advanced mathematicians, I have yet to meet a math whiz that even wants to do programming.  The head of our math department has a masters in math and computer science.  He does math and only math, does not know modern programming, only took it because it was part of his degree in math and told me he has no interest in learning modern programming either.  I'm not saying none of them want to do programming, but as a general rule they like to stick to math and programmers like to stick to programming.<br>In all my years of teaching college programming in 7 different languages the most I have ever used of advanced math is some simple trigonometric functions.<br>Years of advanced math just for a INfo SYS degree is a complete waste of the students time and taxpayer dollars.</p></htmltext>
<tokenext>Math as it relates to programming has been WAYYYY overplayed .
Beyond most basic math , very little math is necessary for greater than 90 \ % of the programming out there .
One of the reasons is that 90 \ % of the programming jobs are DATABASE programming jobs .
Requiring huge amounts of math for programming is as silly as requiring Olympic Running medals for a secretary position .
Its a way for most math departments to ensure they have students in their mostly useless advanced math courses.Just as most programmers are not advanced mathematicians , I have yet to meet a math whiz that even wants to do programming .
The head of our math department has a masters in math and computer science .
He does math and only math , does not know modern programming , only took it because it was part of his degree in math and told me he has no interest in learning modern programming either .
I 'm not saying none of them want to do programming , but as a general rule they like to stick to math and programmers like to stick to programming.In all my years of teaching college programming in 7 different languages the most I have ever used of advanced math is some simple trigonometric functions.Years of advanced math just for a INfo SYS degree is a complete waste of the students time and taxpayer dollars .</tokentext>
<sentencetext>Math as it relates to programming has been WAYYYY overplayed.
Beyond most basic math, very little math is necessary for greater than 90\% of the programming out there.
One of the reasons is that 90\% of the programming jobs are DATABASE programming jobs.
Requiring huge amounts of math for programming is as silly as requiring Olympic Running medals for a secretary position.
Its a way for most math departments to ensure they have students in their mostly useless advanced math courses.Just as most programmers are not advanced mathematicians, I have yet to meet a math whiz that even wants to do programming.
The head of our math department has a masters in math and computer science.
He does math and only math, does not know modern programming, only took it because it was part of his degree in math and told me he has no interest in learning modern programming either.
I'm not saying none of them want to do programming, but as a general rule they like to stick to math and programmers like to stick to programming.In all my years of teaching college programming in 7 different languages the most I have ever used of advanced math is some simple trigonometric functions.Years of advanced math just for a INfo SYS degree is a complete waste of the students time and taxpayer dollars.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670130</id>
	<title>Depends what programming you want to do</title>
	<author>dkleinsc</author>
	<datestamp>1262796000000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>For most programming, discrete is very useful, as well as being one of the more fun math courses you can take. It definitely helps in understanding CS theory, and a lot of the more interesting CS problems out there are graph theory questions (e.g. vertex coloring). If you're looking at, say, attacking the whole P vs NP-complete question, that's the way to go.</p><p>However, if you're expecting to do game or scientific programming, then the vectors, calculus, and statistical work of the other course will probably serve you better.</p><p>The absolute last standard I'd use for picking courses is which one is easier/harder (which the assistant might also be doing, just pushing you in the other direction). It depends a lot on who's teaching what, for starters. Plus, in college, your goal should be to learn something, not just to take the "easy" classes and get out of there with a good GPA.</p></htmltext>
<tokenext>For most programming , discrete is very useful , as well as being one of the more fun math courses you can take .
It definitely helps in understanding CS theory , and a lot of the more interesting CS problems out there are graph theory questions ( e.g .
vertex coloring ) .
If you 're looking at , say , attacking the whole P vs NP-complete question , that 's the way to go.However , if you 're expecting to do game or scientific programming , then the vectors , calculus , and statistical work of the other course will probably serve you better.The absolute last standard I 'd use for picking courses is which one is easier/harder ( which the assistant might also be doing , just pushing you in the other direction ) .
It depends a lot on who 's teaching what , for starters .
Plus , in college , your goal should be to learn something , not just to take the " easy " classes and get out of there with a good GPA .</tokentext>
<sentencetext>For most programming, discrete is very useful, as well as being one of the more fun math courses you can take.
It definitely helps in understanding CS theory, and a lot of the more interesting CS problems out there are graph theory questions (e.g.
vertex coloring).
If you're looking at, say, attacking the whole P vs NP-complete question, that's the way to go.However, if you're expecting to do game or scientific programming, then the vectors, calculus, and statistical work of the other course will probably serve you better.The absolute last standard I'd use for picking courses is which one is easier/harder (which the assistant might also be doing, just pushing you in the other direction).
It depends a lot on who's teaching what, for starters.
Plus, in college, your goal should be to learn something, not just to take the "easy" classes and get out of there with a good GPA.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671388</id>
	<title>Re:Study what you enjoy</title>
	<author>GasparGMSwordsman</author>
	<datestamp>1262800620000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><blockquote><div><p>If you want to do human computer interface, you don't need math (or a brain).</p></div></blockquote><p>I strongly disagree with this statement.  Like all tasks anyone CAN do it, but few can do it well.  Anyone can throw together an interface but it takes effort and a bit of understanding psychology, anatomy and the business practice at hand to design an interface that works WITH the user.<br>
&nbsp;</p></div>
	</htmltext>
<tokenext>If you want to do human computer interface , you do n't need math ( or a brain ) .I strongly disagree with this statement .
Like all tasks anyone CAN do it , but few can do it well .
Anyone can throw together an interface but it takes effort and a bit of understanding psychology , anatomy and the business practice at hand to design an interface that works WITH the user .
 </tokentext>
<sentencetext>If you want to do human computer interface, you don't need math (or a brain).I strongly disagree with this statement.
Like all tasks anyone CAN do it, but few can do it well.
Anyone can throw together an interface but it takes effort and a bit of understanding psychology, anatomy and the business practice at hand to design an interface that works WITH the user.
 
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670244</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672248</id>
	<title>If you don't know...</title>
	<author>geoffrobinson</author>
	<datestamp>1262803980000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>If you don't know what you want to do, take as many courses as you can so you don't limit your options down the road.</p></htmltext>
<tokenext>If you do n't know what you want to do , take as many courses as you can so you do n't limit your options down the road .</tokentext>
<sentencetext>If you don't know what you want to do, take as many courses as you can so you don't limit your options down the road.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670244</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670040</id>
	<title>Carl</title>
	<author>Anonymous</author>
	<datestamp>1262795640000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Take Discreet structures with graph theory. I was a CSCI major, and I think from a programming perspective, that class was one of the best math classes I have ever taken.e</p></htmltext>
<tokenext>Take Discreet structures with graph theory .
I was a CSCI major , and I think from a programming perspective , that class was one of the best math classes I have ever taken.e</tokentext>
<sentencetext>Take Discreet structures with graph theory.
I was a CSCI major, and I think from a programming perspective, that class was one of the best math classes I have ever taken.e</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672060</id>
	<title>Discrete FTW!</title>
	<author>crankybrad</author>
	<datestamp>1262803200000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>I know I personally use the information I acquired in my discrete math class on a daily basis. Along with the day-to-day use, taking the discrete class really expanded my thinking and (I feel) ultimately made made a much better coder. But like most of the other posters are saying, take both classes. While earning my degree I was required to take both, and actually end up using the vector stuff on a fairly regular basis too (not as much as discrete, but some).</htmltext>
<tokenext>I know I personally use the information I acquired in my discrete math class on a daily basis .
Along with the day-to-day use , taking the discrete class really expanded my thinking and ( I feel ) ultimately made made a much better coder .
But like most of the other posters are saying , take both classes .
While earning my degree I was required to take both , and actually end up using the vector stuff on a fairly regular basis too ( not as much as discrete , but some ) .</tokentext>
<sentencetext>I know I personally use the information I acquired in my discrete math class on a daily basis.
Along with the day-to-day use, taking the discrete class really expanded my thinking and (I feel) ultimately made made a much better coder.
But like most of the other posters are saying, take both classes.
While earning my degree I was required to take both, and actually end up using the vector stuff on a fairly regular basis too (not as much as discrete, but some).</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671772</id>
	<title>Discreet Math</title>
	<author>Derosian</author>
	<datestamp>1262802120000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>Took two semesters of it when I first started college, if you think of yourself as a logical or analytical person you will find it incredibly fun.</htmltext>
<tokenext>Took two semesters of it when I first started college , if you think of yourself as a logical or analytical person you will find it incredibly fun .</tokentext>
<sentencetext>Took two semesters of it when I first started college, if you think of yourself as a logical or analytical person you will find it incredibly fun.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671440</id>
	<title>Re:What? Math for programmers?</title>
	<author>jacksinn</author>
	<datestamp>1262800800000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>I would argue that is the case for basic business programming but once you have to develop for an academic purpose or structure/create complex algorithms, a healthy knowledge of logic and set theory is immensely invaluable.

A lot of the programmers I work with here have degrees in areas other than CS (Business, Accounting, Culinary Arts to name a few) and can "program" -- make a website functional and navigable-- but these are also the same people who come to us engineers for advice beyond what amounts to be understanding if/else and some basic looping.

So it depends on what type of 'programmer' you want to be. Web Developer or Engineer? Script kiddie or Analyst? Und so weiter.</htmltext>
<tokenext>I would argue that is the case for basic business programming but once you have to develop for an academic purpose or structure/create complex algorithms , a healthy knowledge of logic and set theory is immensely invaluable .
A lot of the programmers I work with here have degrees in areas other than CS ( Business , Accounting , Culinary Arts to name a few ) and can " program " -- make a website functional and navigable-- but these are also the same people who come to us engineers for advice beyond what amounts to be understanding if/else and some basic looping .
So it depends on what type of 'programmer ' you want to be .
Web Developer or Engineer ?
Script kiddie or Analyst ?
Und so weiter .</tokentext>
<sentencetext>I would argue that is the case for basic business programming but once you have to develop for an academic purpose or structure/create complex algorithms, a healthy knowledge of logic and set theory is immensely invaluable.
A lot of the programmers I work with here have degrees in areas other than CS (Business, Accounting, Culinary Arts to name a few) and can "program" -- make a website functional and navigable-- but these are also the same people who come to us engineers for advice beyond what amounts to be understanding if/else and some basic looping.
So it depends on what type of 'programmer' you want to be.
Web Developer or Engineer?
Script kiddie or Analyst?
Und so weiter.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670164</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670300</id>
	<title>Depends on what you like/want</title>
	<author>Zen-Mind</author>
	<datestamp>1262796600000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>I'm a software engineer so I had both, plus some more, plus physics classes so I've been doing "math stuff" a lot. IMO, discrete mathematics is probably the best "generic" choice as it is mostly geared toward logic. However, if you want to do 3D work or work with algorithms, you should take "analysis" because the match concepts will be more advanced.

In the end, I think the math class that was the most useful in every day work is neither, it's statistics, but that is another story<nobr> <wbr></nobr>:).</htmltext>
<tokenext>I 'm a software engineer so I had both , plus some more , plus physics classes so I 've been doing " math stuff " a lot .
IMO , discrete mathematics is probably the best " generic " choice as it is mostly geared toward logic .
However , if you want to do 3D work or work with algorithms , you should take " analysis " because the match concepts will be more advanced .
In the end , I think the math class that was the most useful in every day work is neither , it 's statistics , but that is another story : ) .</tokentext>
<sentencetext>I'm a software engineer so I had both, plus some more, plus physics classes so I've been doing "math stuff" a lot.
IMO, discrete mathematics is probably the best "generic" choice as it is mostly geared toward logic.
However, if you want to do 3D work or work with algorithms, you should take "analysis" because the match concepts will be more advanced.
In the end, I think the math class that was the most useful in every day work is neither, it's statistics, but that is another story :).</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672380</id>
	<title>Re:It's all about algorithms</title>
	<author>AlphaBit</author>
	<datestamp>1262804460000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>+100 to tharsis
<br> <br>
I'm actually surprised you have a choice.  The CS programs at 3 different schools I know of all require discrete math but nothing else.  Discrete math is about modeling (analysing) discrete objects.  This will tie in directly to not only algorithms but also data-structures.
<br> <br>
Any other math you learn will be field dependent.  Discrete math is the math of the CS field itself.
<br> <br>
Also, please ignore the people who are saying that you don't need math at all.  As a parallel example, paramedics and registered nurses are capable of dealing with a large number of medical conditions without the level of education and training that M.D.'s go through, but I'd never go to one for surgery or long-term treatment of a chronic or terminal illness.</htmltext>
<tokenext>+ 100 to tharsis I 'm actually surprised you have a choice .
The CS programs at 3 different schools I know of all require discrete math but nothing else .
Discrete math is about modeling ( analysing ) discrete objects .
This will tie in directly to not only algorithms but also data-structures .
Any other math you learn will be field dependent .
Discrete math is the math of the CS field itself .
Also , please ignore the people who are saying that you do n't need math at all .
As a parallel example , paramedics and registered nurses are capable of dealing with a large number of medical conditions without the level of education and training that M.D .
's go through , but I 'd never go to one for surgery or long-term treatment of a chronic or terminal illness .</tokentext>
<sentencetext>+100 to tharsis
 
I'm actually surprised you have a choice.
The CS programs at 3 different schools I know of all require discrete math but nothing else.
Discrete math is about modeling (analysing) discrete objects.
This will tie in directly to not only algorithms but also data-structures.
Any other math you learn will be field dependent.
Discrete math is the math of the CS field itself.
Also, please ignore the people who are saying that you don't need math at all.
As a parallel example, paramedics and registered nurses are capable of dealing with a large number of medical conditions without the level of education and training that M.D.
's go through, but I'd never go to one for surgery or long-term treatment of a chronic or terminal illness.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670180</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671188</id>
	<title>Discrete is mandatory; rest is useful</title>
	<author>Anonymous</author>
	<datestamp>1262799900000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext>You <b>must</b> take discrete math.  If it isn't a requirement for the degree, it should be.

<br> <br>

Any other sort of math is useful.  Every tool you add to your toolbox increases your programming ability to a greater or lesser degree.

<br> <br>

Without seeing the curriculum or the syllabi in more detail, I can only speculate, but "selected math chapters" sounds as if it might be some carefully chosen topics for programmers -- for example, you need to learn differentiation to the point of being comfortable with L'Hopital's rule if you want to be able to do much asymptotic algorithm analysis.</htmltext>
<tokenext>You must take discrete math .
If it is n't a requirement for the degree , it should be .
Any other sort of math is useful .
Every tool you add to your toolbox increases your programming ability to a greater or lesser degree .
Without seeing the curriculum or the syllabi in more detail , I can only speculate , but " selected math chapters " sounds as if it might be some carefully chosen topics for programmers -- for example , you need to learn differentiation to the point of being comfortable with L'Hopital 's rule if you want to be able to do much asymptotic algorithm analysis .</tokentext>
<sentencetext>You must take discrete math.
If it isn't a requirement for the degree, it should be.
Any other sort of math is useful.
Every tool you add to your toolbox increases your programming ability to a greater or lesser degree.
Without seeing the curriculum or the syllabi in more detail, I can only speculate, but "selected math chapters" sounds as if it might be some carefully chosen topics for programmers -- for example, you need to learn differentiation to the point of being comfortable with L'Hopital's rule if you want to be able to do much asymptotic algorithm analysis.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670280</id>
	<title>Re:The Second, If Not Both</title>
	<author>rochberg</author>
	<datestamp>1262796480000</datestamp>
	<modclass>Interestin</modclass>
	<modscore>5</modscore>
	<htmltext><p><div class="quote"><p>[...]  The second is going to give you practical skills in programming -- a wide array of practical skills.  The first is most likely going to give you some automata theory for computers but unless you're going into theoretical research, the second is the obvious answer.  Graphics and games are all vectors, the web is becoming even more so with new browser rendering technologies.  Rendering is all euclidean space transposed onto a two dimensional plane (screen) using points (pixels).  Differentials are huge in the vision and image processing world and again, in graphics.  This is your obvious selection[...]</p></div><p>I couldn't disagree more.  There is no "obvious selection," because the OP didn't mention what type of programming interests him.  If you're going to specialize in graphics or scientific computing, yes, the analysis course would be helpful.  However, I find that branch of mathematics completely useless for the programming work that I do.</p><p>In more systems-oriented programming (e.g., OS, compilers, networking, databases), a strong background in algorithms, data structures, and graph theory is absolutely essential.  If you start moving into security and cryptography, you need to understand modern algreba topics like number theory and group theory; having a solid foundation in set theory is a prerequisite for any of those topics.</p><p><div class="quote"><p>[...] although I challenge you to <b>take both</b> [emph. added].  Also, look for courses on classes that blur the lines between stats/math and computer science.  Like courses on error correcting codes or computer language design and theory.</p></div><p>On this point, we agree.</p></div>
	</htmltext>
<tokenext>[ ... ] The second is going to give you practical skills in programming -- a wide array of practical skills .
The first is most likely going to give you some automata theory for computers but unless you 're going into theoretical research , the second is the obvious answer .
Graphics and games are all vectors , the web is becoming even more so with new browser rendering technologies .
Rendering is all euclidean space transposed onto a two dimensional plane ( screen ) using points ( pixels ) .
Differentials are huge in the vision and image processing world and again , in graphics .
This is your obvious selection [ ... ] I could n't disagree more .
There is no " obvious selection , " because the OP did n't mention what type of programming interests him .
If you 're going to specialize in graphics or scientific computing , yes , the analysis course would be helpful .
However , I find that branch of mathematics completely useless for the programming work that I do.In more systems-oriented programming ( e.g. , OS , compilers , networking , databases ) , a strong background in algorithms , data structures , and graph theory is absolutely essential .
If you start moving into security and cryptography , you need to understand modern algreba topics like number theory and group theory ; having a solid foundation in set theory is a prerequisite for any of those topics. [ .. .
] although I challenge you to take both [ emph .
added ] . Also , look for courses on classes that blur the lines between stats/math and computer science .
Like courses on error correcting codes or computer language design and theory.On this point , we agree .</tokentext>
<sentencetext>[...]  The second is going to give you practical skills in programming -- a wide array of practical skills.
The first is most likely going to give you some automata theory for computers but unless you're going into theoretical research, the second is the obvious answer.
Graphics and games are all vectors, the web is becoming even more so with new browser rendering technologies.
Rendering is all euclidean space transposed onto a two dimensional plane (screen) using points (pixels).
Differentials are huge in the vision and image processing world and again, in graphics.
This is your obvious selection[...]I couldn't disagree more.
There is no "obvious selection," because the OP didn't mention what type of programming interests him.
If you're going to specialize in graphics or scientific computing, yes, the analysis course would be helpful.
However, I find that branch of mathematics completely useless for the programming work that I do.In more systems-oriented programming (e.g., OS, compilers, networking, databases), a strong background in algorithms, data structures, and graph theory is absolutely essential.
If you start moving into security and cryptography, you need to understand modern algreba topics like number theory and group theory; having a solid foundation in set theory is a prerequisite for any of those topics.[...
] although I challenge you to take both [emph.
added].  Also, look for courses on classes that blur the lines between stats/math and computer science.
Like courses on error correcting codes or computer language design and theory.On this point, we agree.
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671600</id>
	<title>Dilettantes</title>
	<author>Antisyzygy</author>
	<datestamp>1262801400000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>In my experience, alot of computer science majors are dilettantes. They don't know much about math, but know tons about programming languages and computers. Many mathematics professors I deal with just laugh at many computer science majors for their misguided efforts due to lack of theoretical knowledge. There are exceptions to this as I have met some incredibly intelligent and knowledgeable computer science graduates, but the math requirement for computer science majors at many universities is a joke. I recommend as a minimum taking up to vector calculus, discrete math, advanced linear algebra, numerical methods, probability, statistics, as well as a couple senior level advanced math topics related to your field. An example for advanced topics would be Fourier analysis, Wavelets (related to compression and image processing), as well as Numerical Analysis. Any differential equations as well as topology wont be incredibly useful as a computer science major until you are a grad student.

If you are wondering about my qualifications, I am a math grad student working as an RA on image processing and facial recognition. I program in C and matlab.

As far as the question, definitely take both classes. It may be hard but you will know so much more.</htmltext>
<tokenext>In my experience , alot of computer science majors are dilettantes .
They do n't know much about math , but know tons about programming languages and computers .
Many mathematics professors I deal with just laugh at many computer science majors for their misguided efforts due to lack of theoretical knowledge .
There are exceptions to this as I have met some incredibly intelligent and knowledgeable computer science graduates , but the math requirement for computer science majors at many universities is a joke .
I recommend as a minimum taking up to vector calculus , discrete math , advanced linear algebra , numerical methods , probability , statistics , as well as a couple senior level advanced math topics related to your field .
An example for advanced topics would be Fourier analysis , Wavelets ( related to compression and image processing ) , as well as Numerical Analysis .
Any differential equations as well as topology wont be incredibly useful as a computer science major until you are a grad student .
If you are wondering about my qualifications , I am a math grad student working as an RA on image processing and facial recognition .
I program in C and matlab .
As far as the question , definitely take both classes .
It may be hard but you will know so much more .</tokentext>
<sentencetext>In my experience, alot of computer science majors are dilettantes.
They don't know much about math, but know tons about programming languages and computers.
Many mathematics professors I deal with just laugh at many computer science majors for their misguided efforts due to lack of theoretical knowledge.
There are exceptions to this as I have met some incredibly intelligent and knowledgeable computer science graduates, but the math requirement for computer science majors at many universities is a joke.
I recommend as a minimum taking up to vector calculus, discrete math, advanced linear algebra, numerical methods, probability, statistics, as well as a couple senior level advanced math topics related to your field.
An example for advanced topics would be Fourier analysis, Wavelets (related to compression and image processing), as well as Numerical Analysis.
Any differential equations as well as topology wont be incredibly useful as a computer science major until you are a grad student.
If you are wondering about my qualifications, I am a math grad student working as an RA on image processing and facial recognition.
I program in C and matlab.
As far as the question, definitely take both classes.
It may be hard but you will know so much more.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670912</id>
	<title>Re:take Discreet</title>
	<author>Anonymous</author>
	<datestamp>1262798700000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p><div class="quote"><p>Some variation of the "traveling salesman" problem, a graphing problem, shows up in every industry out there so it would be a good idea to be familiar with its nuances and the various approaches to getting it mostly right (i don't think it has been solved).</p></div><p>Bull, TSP has been solved for years, you just check every single possible path and<nobr> <wbr></nobr>... oh, you mean solved in polynomial time? No, then it hasn't, there is a hack that allows you to get A solution (that is at worst twice as bad as optimal) in poly-time, but that is the state of the art.</p><p>Or you could map it into SAT and throw a SAT solver at it, they have gotten pretty good at solving NP problems quickly, most of the time.</p></div>
	</htmltext>
<tokenext>Some variation of the " traveling salesman " problem , a graphing problem , shows up in every industry out there so it would be a good idea to be familiar with its nuances and the various approaches to getting it mostly right ( i do n't think it has been solved ) .Bull , TSP has been solved for years , you just check every single possible path and ... oh , you mean solved in polynomial time ?
No , then it has n't , there is a hack that allows you to get A solution ( that is at worst twice as bad as optimal ) in poly-time , but that is the state of the art.Or you could map it into SAT and throw a SAT solver at it , they have gotten pretty good at solving NP problems quickly , most of the time .</tokentext>
<sentencetext>Some variation of the "traveling salesman" problem, a graphing problem, shows up in every industry out there so it would be a good idea to be familiar with its nuances and the various approaches to getting it mostly right (i don't think it has been solved).Bull, TSP has been solved for years, you just check every single possible path and ... oh, you mean solved in polynomial time?
No, then it hasn't, there is a hack that allows you to get A solution (that is at worst twice as bad as optimal) in poly-time, but that is the state of the art.Or you could map it into SAT and throw a SAT solver at it, they have gotten pretty good at solving NP problems quickly, most of the time.
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670068</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30673394</id>
	<title>insight...</title>
	<author>eexaa</author>
	<datestamp>1262808780000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Which course should you take?</p><p>All of them.</p><p>Graph theory is highly practical (it has a perfect model relation to the actual data structures/algorithms/problems)</p><p>Algebra is usually needed for graphic-related tasks and similar heavyload computation (encryption too).</p><p>And analysis is finally needed for actual inventing and proving stuff.</p><p>Have fun<nobr> <wbr></nobr>:)</p></htmltext>
<tokenext>Which course should you take ? All of them.Graph theory is highly practical ( it has a perfect model relation to the actual data structures/algorithms/problems ) Algebra is usually needed for graphic-related tasks and similar heavyload computation ( encryption too ) .And analysis is finally needed for actual inventing and proving stuff.Have fun : )</tokentext>
<sentencetext>Which course should you take?All of them.Graph theory is highly practical (it has a perfect model relation to the actual data structures/algorithms/problems)Algebra is usually needed for graphic-related tasks and similar heavyload computation (encryption too).And analysis is finally needed for actual inventing and proving stuff.Have fun :)</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671450</id>
	<title>Re:Physicists?</title>
	<author>dr\_leviathan</author>
	<datestamp>1262800800000</datestamp>
	<modclass>Informativ</modclass>
	<modscore>2</modscore>
	<htmltext>As a physicist turned software engineer I think you should take both math classes.

Alternatively, take physics classes instead -- if you go far enough you will have to learn and apply almost all of those maths, plus others (linear algebra, series decomposition, approximation methods, and derivation skills, and general problem solving).</htmltext>
<tokenext>As a physicist turned software engineer I think you should take both math classes .
Alternatively , take physics classes instead -- if you go far enough you will have to learn and apply almost all of those maths , plus others ( linear algebra , series decomposition , approximation methods , and derivation skills , and general problem solving ) .</tokentext>
<sentencetext>As a physicist turned software engineer I think you should take both math classes.
Alternatively, take physics classes instead -- if you go far enough you will have to learn and apply almost all of those maths, plus others (linear algebra, series decomposition, approximation methods, and derivation skills, and general problem solving).</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669802</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671282</id>
	<title>There is no choice here</title>
	<author>Dr. Winston O'Boogie</author>
	<datestamp>1262800200000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>I am surprised to see people even thinking this is a debatable issue.  Discrete math and graph theory: hands down. Sure, if you are going to be doing signal processing and special-purpose projects, then differential equations can help, but what percentage of programmers actually wind up working in those areas?<br><br>Most ACM-based CS curriculum do a big disservice to 95\% of the students, but those where Discrete Math and Graph Theory are requirements do les harm than most.</htmltext>
<tokenext>I am surprised to see people even thinking this is a debatable issue .
Discrete math and graph theory : hands down .
Sure , if you are going to be doing signal processing and special-purpose projects , then differential equations can help , but what percentage of programmers actually wind up working in those areas ? Most ACM-based CS curriculum do a big disservice to 95 \ % of the students , but those where Discrete Math and Graph Theory are requirements do les harm than most .</tokentext>
<sentencetext>I am surprised to see people even thinking this is a debatable issue.
Discrete math and graph theory: hands down.
Sure, if you are going to be doing signal processing and special-purpose projects, then differential equations can help, but what percentage of programmers actually wind up working in those areas?Most ACM-based CS curriculum do a big disservice to 95\% of the students, but those where Discrete Math and Graph Theory are requirements do les harm than most.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672610</id>
	<title>Boolean Algebra</title>
	<author>EvilBudMan</author>
	<datestamp>1262805480000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Of course you need that, but it's hard to get into anything else when, oh I already have a routine for that and it will work every time. Matrix math at some point you will need along with the obvious or is it obvious to begin with? I suck at math but not so bad that I can't get the right answer out of a computer except maybe the "theory of everything" and multiverses and things like that. I think you need chalk and a chalk board for that.</p></htmltext>
<tokenext>Of course you need that , but it 's hard to get into anything else when , oh I already have a routine for that and it will work every time .
Matrix math at some point you will need along with the obvious or is it obvious to begin with ?
I suck at math but not so bad that I ca n't get the right answer out of a computer except maybe the " theory of everything " and multiverses and things like that .
I think you need chalk and a chalk board for that .</tokentext>
<sentencetext>Of course you need that, but it's hard to get into anything else when, oh I already have a routine for that and it will work every time.
Matrix math at some point you will need along with the obvious or is it obvious to begin with?
I suck at math but not so bad that I can't get the right answer out of a computer except maybe the "theory of everything" and multiverses and things like that.
I think you need chalk and a chalk board for that.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30673056</id>
	<title>I neglected statistics and got burned</title>
	<author>mpsmps</author>
	<datestamp>1262807220000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>I got a Ph.D. minus epsilon in Math, but never took a statistics course prior to dropping out during the dotcom boom to start a software company. I would trade most of the math I know for a solid background in statistics, which comes up all over the place, from the performance of data structures and algorithms, to dataflow analysis, to mining databases, to projecting performance failure rates, etc. This is not just basic statistics (which I managed to pick up on the street), but a deep knowledge of statistics can make a big difference. I just co-authored a paper on a very simple data structure for which the key step in analyzing its performance is to apply the Kolmogorov-Smirnov distribution.</p></htmltext>
<tokenext>I got a Ph.D. minus epsilon in Math , but never took a statistics course prior to dropping out during the dotcom boom to start a software company .
I would trade most of the math I know for a solid background in statistics , which comes up all over the place , from the performance of data structures and algorithms , to dataflow analysis , to mining databases , to projecting performance failure rates , etc .
This is not just basic statistics ( which I managed to pick up on the street ) , but a deep knowledge of statistics can make a big difference .
I just co-authored a paper on a very simple data structure for which the key step in analyzing its performance is to apply the Kolmogorov-Smirnov distribution .</tokentext>
<sentencetext>I got a Ph.D. minus epsilon in Math, but never took a statistics course prior to dropping out during the dotcom boom to start a software company.
I would trade most of the math I know for a solid background in statistics, which comes up all over the place, from the performance of data structures and algorithms, to dataflow analysis, to mining databases, to projecting performance failure rates, etc.
This is not just basic statistics (which I managed to pick up on the street), but a deep knowledge of statistics can make a big difference.
I just co-authored a paper on a very simple data structure for which the key step in analyzing its performance is to apply the Kolmogorov-Smirnov distribution.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670164</id>
	<title>What? Math for programmers?</title>
	<author>Anonymous</author>
	<datestamp>1262796120000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>I always thought it all boils down to simple arithmetic. Add, subtract, bit shifts...etc.</htmltext>
<tokenext>I always thought it all boils down to simple arithmetic .
Add , subtract , bit shifts...etc .</tokentext>
<sentencetext>I always thought it all boils down to simple arithmetic.
Add, subtract, bit shifts...etc.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672104</id>
	<title>Its Got to be the Discrete Course</title>
	<author>onuhwt</author>
	<datestamp>1262803320000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>As a recent CpE graduate who had to take classes similar to both, I would recommend taking both of these, but if you can only take 1 of these, you need to take the Discrete Class.  It will help with a lot of the advanced logic required for complex programming.  Discrete would be especially useful if you are interested in Artificial Intelligence.</htmltext>
<tokenext>As a recent CpE graduate who had to take classes similar to both , I would recommend taking both of these , but if you can only take 1 of these , you need to take the Discrete Class .
It will help with a lot of the advanced logic required for complex programming .
Discrete would be especially useful if you are interested in Artificial Intelligence .</tokentext>
<sentencetext>As a recent CpE graduate who had to take classes similar to both, I would recommend taking both of these, but if you can only take 1 of these, you need to take the Discrete Class.
It will help with a lot of the advanced logic required for complex programming.
Discrete would be especially useful if you are interested in Artificial Intelligence.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671128</id>
	<title>Fun...</title>
	<author>OrugTor</author>
	<datestamp>1262799600000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>I agree with the other posts that discrete math and graph theory come up more often in programming but the decider should be which will you enjoy. Any math will be helpful because of the rigor and problem-solving aspects.
I took a graph theory course as part of a math major and rated it the most stimulating of all the courses.</htmltext>
<tokenext>I agree with the other posts that discrete math and graph theory come up more often in programming but the decider should be which will you enjoy .
Any math will be helpful because of the rigor and problem-solving aspects .
I took a graph theory course as part of a math major and rated it the most stimulating of all the courses .</tokentext>
<sentencetext>I agree with the other posts that discrete math and graph theory come up more often in programming but the decider should be which will you enjoy.
Any math will be helpful because of the rigor and problem-solving aspects.
I took a graph theory course as part of a math major and rated it the most stimulating of all the courses.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30675512</id>
	<title>Re:The Second, If Not Both</title>
	<author>cjonslashdot</author>
	<datestamp>1262775240000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>I agree that "real mathematics" is more useful for application programming that discrete math.</p><p>And I also agree with the statement that most scientific professions require lots of math. I was a physics major for undergrad, and my first master's degree was in engineering, and I once estimated that I had had in effect no fewer than 20-odd math courses, because each course required lots of mathematics.</p><p>But I think that the answer to this person's question depends. It depends if the goal is to be able to do application programming, or to build reliable large scale or mission critical systems. For the latter, the lack of training in discrete mathematics has really hurt the software engineering profession. Have you noticed how the news is filled with spectacular failures of software? Often these manifest as security breaches. Sometimes they are airplane crashes. Or then we have the multitudinous reports of bugs in critical systems such as operating systems.</p><p>The root cause of the high incidence of these problems is that reliable techniques are not used to design and build most mission critical software. That is because the people designing it do not have the training to be aware of the techniques, many of which are based on discrete mathematics and proofs.</p><p>Interestingly, Erlang, a language developed to build reliable telecommunications systems that can never be turned off, was designed by electrical engineers. However, there is a mathematical basis for the language.</p><p>Yes, discrete math is extremely important for designing reliable systems. It is less so for departmental business applications that have small numbers of users.</p></htmltext>
<tokenext>I agree that " real mathematics " is more useful for application programming that discrete math.And I also agree with the statement that most scientific professions require lots of math .
I was a physics major for undergrad , and my first master 's degree was in engineering , and I once estimated that I had had in effect no fewer than 20-odd math courses , because each course required lots of mathematics.But I think that the answer to this person 's question depends .
It depends if the goal is to be able to do application programming , or to build reliable large scale or mission critical systems .
For the latter , the lack of training in discrete mathematics has really hurt the software engineering profession .
Have you noticed how the news is filled with spectacular failures of software ?
Often these manifest as security breaches .
Sometimes they are airplane crashes .
Or then we have the multitudinous reports of bugs in critical systems such as operating systems.The root cause of the high incidence of these problems is that reliable techniques are not used to design and build most mission critical software .
That is because the people designing it do not have the training to be aware of the techniques , many of which are based on discrete mathematics and proofs.Interestingly , Erlang , a language developed to build reliable telecommunications systems that can never be turned off , was designed by electrical engineers .
However , there is a mathematical basis for the language.Yes , discrete math is extremely important for designing reliable systems .
It is less so for departmental business applications that have small numbers of users .</tokentext>
<sentencetext>I agree that "real mathematics" is more useful for application programming that discrete math.And I also agree with the statement that most scientific professions require lots of math.
I was a physics major for undergrad, and my first master's degree was in engineering, and I once estimated that I had had in effect no fewer than 20-odd math courses, because each course required lots of mathematics.But I think that the answer to this person's question depends.
It depends if the goal is to be able to do application programming, or to build reliable large scale or mission critical systems.
For the latter, the lack of training in discrete mathematics has really hurt the software engineering profession.
Have you noticed how the news is filled with spectacular failures of software?
Often these manifest as security breaches.
Sometimes they are airplane crashes.
Or then we have the multitudinous reports of bugs in critical systems such as operating systems.The root cause of the high incidence of these problems is that reliable techniques are not used to design and build most mission critical software.
That is because the people designing it do not have the training to be aware of the techniques, many of which are based on discrete mathematics and proofs.Interestingly, Erlang, a language developed to build reliable telecommunications systems that can never be turned off, was designed by electrical engineers.
However, there is a mathematical basis for the language.Yes, discrete math is extremely important for designing reliable systems.
It is less so for departmental business applications that have small numbers of users.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30676608</id>
	<title>Good question--but too late for me!</title>
	<author>DrVomact</author>
	<datestamp>1262780580000</datestamp>
	<modclass>Interestin</modclass>
	<modscore>2</modscore>
	<htmltext><p>I got a Ph.D. in Philosophy back in '78 (am I going to have to specify that in four digits soon?), and one day when I was moaning around because I couldn't find a job with reasonable pay and even minimal dignity, a friend said to me, "go into computers, Vomact". I said something like, "huh? But I'm <em>terrible</em> at math!". He told me not to worry, "there's no math required, it's all logic". Overall, I've found that to be true. Basically, you need a mental tool-box to solve programming problems, and those problems have been mostly logic problems for me, so my tools worked just fine. I think that maybe studying mathematics gives you similar tools, but I've always suspected there's some kind of mathist prejudice at work in CS departments that require calculus as a prerequisite. I think they just put it on the list to act as a filter to keep people who should get an M.B.A. or something else trivial from wasting their time. But it's a filter I couldn't have passed. Luckily, there were very few formally trained programmers back in the early eighties, and someone like me could talk his way into a software job. </p><p>
It's obvious, of course, that if you intend to write programs that actually use mathematics, then you'd better study math&mdash;if you're going to be a scientific programmer, for example, just as you'd better understand statistics if you want to write actuarial programs for insurance companies. In fact, depending on what kinds of software you design or write, there are a lot of things you might be called to know...and you can't know the list in advance, when you're still in school. Just be prepared to keep learning when you leave school&mdash;in fact, that's when the learning really starts.</p><p>

No, I am not saying that studying maths is a bad idea or a waste of time. On more than one occasion, I've gotten essential insights into difficult programming problems that involved mathematical and geometrical understanding from mathematicians, so I'm quite prepared to respect their training. I just don't think it's a prerequisite for the job.</p><p>
As others have pointed out, the article summary invites confusion by conflating computer science with programming. I dont' see why you need calculus for either, though. </p></htmltext>
<tokenext>I got a Ph.D. in Philosophy back in '78 ( am I going to have to specify that in four digits soon ?
) , and one day when I was moaning around because I could n't find a job with reasonable pay and even minimal dignity , a friend said to me , " go into computers , Vomact " .
I said something like , " huh ?
But I 'm terrible at math ! " .
He told me not to worry , " there 's no math required , it 's all logic " .
Overall , I 've found that to be true .
Basically , you need a mental tool-box to solve programming problems , and those problems have been mostly logic problems for me , so my tools worked just fine .
I think that maybe studying mathematics gives you similar tools , but I 've always suspected there 's some kind of mathist prejudice at work in CS departments that require calculus as a prerequisite .
I think they just put it on the list to act as a filter to keep people who should get an M.B.A. or something else trivial from wasting their time .
But it 's a filter I could n't have passed .
Luckily , there were very few formally trained programmers back in the early eighties , and someone like me could talk his way into a software job .
It 's obvious , of course , that if you intend to write programs that actually use mathematics , then you 'd better study math    if you 're going to be a scientific programmer , for example , just as you 'd better understand statistics if you want to write actuarial programs for insurance companies .
In fact , depending on what kinds of software you design or write , there are a lot of things you might be called to know...and you ca n't know the list in advance , when you 're still in school .
Just be prepared to keep learning when you leave school    in fact , that 's when the learning really starts .
No , I am not saying that studying maths is a bad idea or a waste of time .
On more than one occasion , I 've gotten essential insights into difficult programming problems that involved mathematical and geometrical understanding from mathematicians , so I 'm quite prepared to respect their training .
I just do n't think it 's a prerequisite for the job .
As others have pointed out , the article summary invites confusion by conflating computer science with programming .
I dont ' see why you need calculus for either , though .</tokentext>
<sentencetext>I got a Ph.D. in Philosophy back in '78 (am I going to have to specify that in four digits soon?
), and one day when I was moaning around because I couldn't find a job with reasonable pay and even minimal dignity, a friend said to me, "go into computers, Vomact".
I said something like, "huh?
But I'm terrible at math!".
He told me not to worry, "there's no math required, it's all logic".
Overall, I've found that to be true.
Basically, you need a mental tool-box to solve programming problems, and those problems have been mostly logic problems for me, so my tools worked just fine.
I think that maybe studying mathematics gives you similar tools, but I've always suspected there's some kind of mathist prejudice at work in CS departments that require calculus as a prerequisite.
I think they just put it on the list to act as a filter to keep people who should get an M.B.A. or something else trivial from wasting their time.
But it's a filter I couldn't have passed.
Luckily, there were very few formally trained programmers back in the early eighties, and someone like me could talk his way into a software job.
It's obvious, of course, that if you intend to write programs that actually use mathematics, then you'd better study math—if you're going to be a scientific programmer, for example, just as you'd better understand statistics if you want to write actuarial programs for insurance companies.
In fact, depending on what kinds of software you design or write, there are a lot of things you might be called to know...and you can't know the list in advance, when you're still in school.
Just be prepared to keep learning when you leave school—in fact, that's when the learning really starts.
No, I am not saying that studying maths is a bad idea or a waste of time.
On more than one occasion, I've gotten essential insights into difficult programming problems that involved mathematical and geometrical understanding from mathematicians, so I'm quite prepared to respect their training.
I just don't think it's a prerequisite for the job.
As others have pointed out, the article summary invites confusion by conflating computer science with programming.
I dont' see why you need calculus for either, though. </sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30690210</id>
	<title>Can you justify that on the job?</title>
	<author>electrosoccertux</author>
	<datestamp>1262877060000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p><div class="quote"><p>Personally, I always liked learning the 'harder' thing as that might expose my brain to concepts or ways of thinking that I wasn't already familiar with.</p></div><p>I would like to do the same, but I would always be concerned I'm not completing tasks fast enough, getting done what I could, etc.<br>Any thoughts? I will be entering the workforce soon. I suppose one could simply explain it as becoming more well rounded.</p></div>
	</htmltext>
<tokenext>Personally , I always liked learning the 'harder ' thing as that might expose my brain to concepts or ways of thinking that I was n't already familiar with.I would like to do the same , but I would always be concerned I 'm not completing tasks fast enough , getting done what I could , etc.Any thoughts ?
I will be entering the workforce soon .
I suppose one could simply explain it as becoming more well rounded .</tokentext>
<sentencetext>Personally, I always liked learning the 'harder' thing as that might expose my brain to concepts or ways of thinking that I wasn't already familiar with.I would like to do the same, but I would always be concerned I'm not completing tasks fast enough, getting done what I could, etc.Any thoughts?
I will be entering the workforce soon.
I suppose one could simply explain it as becoming more well rounded.
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670000</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670188</id>
	<title>Depends on the Problem</title>
	<author>hardburn</author>
	<datestamp>1262796180000</datestamp>
	<modclass>Interestin</modclass>
	<modscore>2</modscore>
	<htmltext><p>It ultimately depends on the kinds of problems you're going to end up working on.  Any sort of graphics programming is going to require a solid understanding of geometry. Designing games requires probability/statistics, where the actual math could often be understood by a bright junior high student, but gets combined in complicated ways.</p><p>Calculus is overrated for anyone not going into Physics or Engineering. I wish schools would put more emphasis on statistics instead, since that's useful for anyone who picks up a news report and sees that there's a 2\% spread of support for a pair of political candidates.</p><p>More importantly than any of that, IMHO, is being able to see how the program fits together on an abstract level. This can be described as a form of math, but it's well outside of what most people think of as math. Which is fine, because what most people think of as math has nothing to do with what mathematicians do all day. Just the same, it's not necessarily anything that gets taught by formal math courses, either, at least not directly. Rather, more advanced math leads to better abstract thought in general. So just take more math, whatever it is, and you'll be indirectly learning how to be a good programmer.</p></htmltext>
<tokenext>It ultimately depends on the kinds of problems you 're going to end up working on .
Any sort of graphics programming is going to require a solid understanding of geometry .
Designing games requires probability/statistics , where the actual math could often be understood by a bright junior high student , but gets combined in complicated ways.Calculus is overrated for anyone not going into Physics or Engineering .
I wish schools would put more emphasis on statistics instead , since that 's useful for anyone who picks up a news report and sees that there 's a 2 \ % spread of support for a pair of political candidates.More importantly than any of that , IMHO , is being able to see how the program fits together on an abstract level .
This can be described as a form of math , but it 's well outside of what most people think of as math .
Which is fine , because what most people think of as math has nothing to do with what mathematicians do all day .
Just the same , it 's not necessarily anything that gets taught by formal math courses , either , at least not directly .
Rather , more advanced math leads to better abstract thought in general .
So just take more math , whatever it is , and you 'll be indirectly learning how to be a good programmer .</tokentext>
<sentencetext>It ultimately depends on the kinds of problems you're going to end up working on.
Any sort of graphics programming is going to require a solid understanding of geometry.
Designing games requires probability/statistics, where the actual math could often be understood by a bright junior high student, but gets combined in complicated ways.Calculus is overrated for anyone not going into Physics or Engineering.
I wish schools would put more emphasis on statistics instead, since that's useful for anyone who picks up a news report and sees that there's a 2\% spread of support for a pair of political candidates.More importantly than any of that, IMHO, is being able to see how the program fits together on an abstract level.
This can be described as a form of math, but it's well outside of what most people think of as math.
Which is fine, because what most people think of as math has nothing to do with what mathematicians do all day.
Just the same, it's not necessarily anything that gets taught by formal math courses, either, at least not directly.
Rather, more advanced math leads to better abstract thought in general.
So just take more math, whatever it is, and you'll be indirectly learning how to be a good programmer.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671292</id>
	<title>Stick to graphs!</title>
	<author>porcho</author>
	<datestamp>1262800260000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>I'd stick to the first subject, as it's related to graphs: you'll use them a lot, depending on the nature of the problems you'll face through your programmer life. Some classic computing problems can be addressed by graphs, and it's likely you find instances of these problems every now and then.

On the other hand, IMHO you'll hardly ever use things like "math analysis;  vectors, euclidean space, differentials" while programming...</htmltext>
<tokenext>I 'd stick to the first subject , as it 's related to graphs : you 'll use them a lot , depending on the nature of the problems you 'll face through your programmer life .
Some classic computing problems can be addressed by graphs , and it 's likely you find instances of these problems every now and then .
On the other hand , IMHO you 'll hardly ever use things like " math analysis ; vectors , euclidean space , differentials " while programming.. .</tokentext>
<sentencetext>I'd stick to the first subject, as it's related to graphs: you'll use them a lot, depending on the nature of the problems you'll face through your programmer life.
Some classic computing problems can be addressed by graphs, and it's likely you find instances of these problems every now and then.
On the other hand, IMHO you'll hardly ever use things like "math analysis;  vectors, euclidean space, differentials" while programming...</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670858</id>
	<title>Anonymous Coward</title>
	<author>Anonymous</author>
	<datestamp>1262798520000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>don't forget to take a foreign language and design</p></htmltext>
<tokenext>do n't forget to take a foreign language and design</tokentext>
<sentencetext>don't forget to take a foreign language and design</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670844</id>
	<title>If you struggle with Math...</title>
	<author>tjwhaynes</author>
	<datestamp>1262798400000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>2</modscore>
	<htmltext><p>... you have will have to break through that wall at some point.

</p><p>Maths is not a memory-based subject - you have to build the manipulation skills that Math requires. The only way to acquire that ability is to keep doing the maths problems until they start to click. You need to build a set of tricks to change problems from ones you don't recognize into ones you do. Be prepared to grind it out. Find a set of problems that increase in difficulty and hack at them until they make complete sense. Don't rush and don't attempt to do them all at once.

</p><p>You also need to find some Math tasks that are fun or interest you. If you are learning about complex numbers, go look up some fractals and look at the formulas. Picks some starting values and play with the numbers. Get a sense of how the numbers move around and a firm underpinning about what is going on. If you are doing calculus, play with the equations of motion and work out what a canon ball does under constant acceleration. Try modelling a N-body system of planets moving around in 2D on a computer. All the time, you will be building an internal model about the way that all this hangs together.

</p><p>Maths can be extremely rewarding once you grok it. But if you don't get past the struggle phase, it will never give you any pleasure and you'll miss out.

</p><p>Cheers,
<br>Toby Haynes</p></htmltext>
<tokenext>... you have will have to break through that wall at some point .
Maths is not a memory-based subject - you have to build the manipulation skills that Math requires .
The only way to acquire that ability is to keep doing the maths problems until they start to click .
You need to build a set of tricks to change problems from ones you do n't recognize into ones you do .
Be prepared to grind it out .
Find a set of problems that increase in difficulty and hack at them until they make complete sense .
Do n't rush and do n't attempt to do them all at once .
You also need to find some Math tasks that are fun or interest you .
If you are learning about complex numbers , go look up some fractals and look at the formulas .
Picks some starting values and play with the numbers .
Get a sense of how the numbers move around and a firm underpinning about what is going on .
If you are doing calculus , play with the equations of motion and work out what a canon ball does under constant acceleration .
Try modelling a N-body system of planets moving around in 2D on a computer .
All the time , you will be building an internal model about the way that all this hangs together .
Maths can be extremely rewarding once you grok it .
But if you do n't get past the struggle phase , it will never give you any pleasure and you 'll miss out .
Cheers , Toby Haynes</tokentext>
<sentencetext>... you have will have to break through that wall at some point.
Maths is not a memory-based subject - you have to build the manipulation skills that Math requires.
The only way to acquire that ability is to keep doing the maths problems until they start to click.
You need to build a set of tricks to change problems from ones you don't recognize into ones you do.
Be prepared to grind it out.
Find a set of problems that increase in difficulty and hack at them until they make complete sense.
Don't rush and don't attempt to do them all at once.
You also need to find some Math tasks that are fun or interest you.
If you are learning about complex numbers, go look up some fractals and look at the formulas.
Picks some starting values and play with the numbers.
Get a sense of how the numbers move around and a firm underpinning about what is going on.
If you are doing calculus, play with the equations of motion and work out what a canon ball does under constant acceleration.
Try modelling a N-body system of planets moving around in 2D on a computer.
All the time, you will be building an internal model about the way that all this hangs together.
Maths can be extremely rewarding once you grok it.
But if you don't get past the struggle phase, it will never give you any pleasure and you'll miss out.
Cheers,
Toby Haynes</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30673076</id>
	<title>DISCRETE STRUCTURES!</title>
	<author>Anonymous</author>
	<datestamp>1262807340000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Go with discrete. As a Computer Engineering major, I've had to take both, but discrete had far more programming applications in my opinion.</p></htmltext>
<tokenext>Go with discrete .
As a Computer Engineering major , I 've had to take both , but discrete had far more programming applications in my opinion .</tokentext>
<sentencetext>Go with discrete.
As a Computer Engineering major, I've had to take both, but discrete had far more programming applications in my opinion.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671574</id>
	<title>Do discrete maths.</title>
	<author>jotaeleemeese</author>
	<datestamp>1262801280000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Is what you are most likely to need.</p><p>Funny, in Mexico I did both. UNAM rules yet again.</p></htmltext>
<tokenext>Is what you are most likely to need.Funny , in Mexico I did both .
UNAM rules yet again .</tokentext>
<sentencetext>Is what you are most likely to need.Funny, in Mexico I did both.
UNAM rules yet again.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30676054</id>
	<title>Noone answered your question: here it is</title>
	<author>alexborges</author>
	<datestamp>1262777640000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Go for the discrete math. class. It has tons and tons to do with the basic computing theory of turing, which is the father-mother theory of the whole thing and learning to make and evaluate mathematical proof is the true signature of the masterful engineer. You will learn enough to invent algorithms and move on to the hairy part of computing: IA, genetic algorithms, fuzzy thingies and that kind of shit.</p><p>Discrete math IS the immediate superset of computing theory.</p></htmltext>
<tokenext>Go for the discrete math .
class. It has tons and tons to do with the basic computing theory of turing , which is the father-mother theory of the whole thing and learning to make and evaluate mathematical proof is the true signature of the masterful engineer .
You will learn enough to invent algorithms and move on to the hairy part of computing : IA , genetic algorithms , fuzzy thingies and that kind of shit.Discrete math IS the immediate superset of computing theory .</tokentext>
<sentencetext>Go for the discrete math.
class. It has tons and tons to do with the basic computing theory of turing, which is the father-mother theory of the whole thing and learning to make and evaluate mathematical proof is the true signature of the masterful engineer.
You will learn enough to invent algorithms and move on to the hairy part of computing: IA, genetic algorithms, fuzzy thingies and that kind of shit.Discrete math IS the immediate superset of computing theory.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670102</id>
	<title>Discrete, NA, then PDE</title>
	<author>Dr\_Art</author>
	<datestamp>1262795820000</datestamp>
	<modclass>Interestin</modclass>
	<modscore>5</modscore>
	<htmltext>Take the Discrete Math stuff first since you are just beginning to learn Computer Science and it will fit better with those courses.  You should then take Numerical Analysis to totally break your concepts that computers are precise.  Finally, take the classical Calculus &amp; Differential Equations track just so you can take Partial Differential Equations, at which point the math will start becoming useful for real world Engineering problems.</htmltext>
<tokenext>Take the Discrete Math stuff first since you are just beginning to learn Computer Science and it will fit better with those courses .
You should then take Numerical Analysis to totally break your concepts that computers are precise .
Finally , take the classical Calculus &amp; Differential Equations track just so you can take Partial Differential Equations , at which point the math will start becoming useful for real world Engineering problems .</tokentext>
<sentencetext>Take the Discrete Math stuff first since you are just beginning to learn Computer Science and it will fit better with those courses.
You should then take Numerical Analysis to totally break your concepts that computers are precise.
Finally, take the classical Calculus &amp; Differential Equations track just so you can take Partial Differential Equations, at which point the math will start becoming useful for real world Engineering problems.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671392</id>
	<title>Math for computer science</title>
	<author>EdMcMan</author>
	<datestamp>1262800620000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>The second class will not be very useful to you.  I've heard this rumor propagated time and again, and no one can ever give me a convincing argument why such a class would be useful, other than for graphics and numeric computation.</p><p>The first class would be much more useful.  Algorithms is the more or less the study of the math of programming.  If you are seriously considering programming, you should learn this topic in great detail.  Judging by the number of topics covered, I am assuming this is a lower-level course.  You should definitely take at least one low-level computer science theory course!</p><p>One other area you may want to look at is logic -- look for Dijkstra's book "A Discipline of Programming".</p></htmltext>
<tokenext>The second class will not be very useful to you .
I 've heard this rumor propagated time and again , and no one can ever give me a convincing argument why such a class would be useful , other than for graphics and numeric computation.The first class would be much more useful .
Algorithms is the more or less the study of the math of programming .
If you are seriously considering programming , you should learn this topic in great detail .
Judging by the number of topics covered , I am assuming this is a lower-level course .
You should definitely take at least one low-level computer science theory course ! One other area you may want to look at is logic -- look for Dijkstra 's book " A Discipline of Programming " .</tokentext>
<sentencetext>The second class will not be very useful to you.
I've heard this rumor propagated time and again, and no one can ever give me a convincing argument why such a class would be useful, other than for graphics and numeric computation.The first class would be much more useful.
Algorithms is the more or less the study of the math of programming.
If you are seriously considering programming, you should learn this topic in great detail.
Judging by the number of topics covered, I am assuming this is a lower-level course.
You should definitely take at least one low-level computer science theory course!One other area you may want to look at is logic -- look for Dijkstra's book "A Discipline of Programming".</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30679884</id>
	<title>Ouch!</title>
	<author>Anonymous</author>
	<datestamp>1262896200000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>I took them both.  I was an electrical engineer interested in doing VLSI design, which I never did, and have NEVER used anything from the analysis course.  It was a fascinating course and I am sure that it made me a better human being, but it has yet to prove itself useful to me.</p><p>I have on many occasions used the information I learned in my discrete math course.  I also got to meet a great math professor and even got to help him write his own textbook used in teaching subsequent semesters of the discrete math course.</p><p>Don't waste your time on the analysis course unless you enjoy serious math work.  Do take the discrete math course.  It's much more useful and more interesting to boot.</p></htmltext>
<tokenext>I took them both .
I was an electrical engineer interested in doing VLSI design , which I never did , and have NEVER used anything from the analysis course .
It was a fascinating course and I am sure that it made me a better human being , but it has yet to prove itself useful to me.I have on many occasions used the information I learned in my discrete math course .
I also got to meet a great math professor and even got to help him write his own textbook used in teaching subsequent semesters of the discrete math course.Do n't waste your time on the analysis course unless you enjoy serious math work .
Do take the discrete math course .
It 's much more useful and more interesting to boot .</tokentext>
<sentencetext>I took them both.
I was an electrical engineer interested in doing VLSI design, which I never did, and have NEVER used anything from the analysis course.
It was a fascinating course and I am sure that it made me a better human being, but it has yet to prove itself useful to me.I have on many occasions used the information I learned in my discrete math course.
I also got to meet a great math professor and even got to help him write his own textbook used in teaching subsequent semesters of the discrete math course.Don't waste your time on the analysis course unless you enjoy serious math work.
Do take the discrete math course.
It's much more useful and more interesting to boot.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670798</id>
	<title>Both</title>
	<author>nedlohs</author>
	<datestamp>1262798280000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>You want a stats course in there too.</p><p>Then again I had enough credits for my mathematics major before I started 3rd year CS.</p><p>And I also found my mathematics courses harder than all my others (CS is a walk in the park in comparison)...</p></htmltext>
<tokenext>You want a stats course in there too.Then again I had enough credits for my mathematics major before I started 3rd year CS.And I also found my mathematics courses harder than all my others ( CS is a walk in the park in comparison ) .. .</tokentext>
<sentencetext>You want a stats course in there too.Then again I had enough credits for my mathematics major before I started 3rd year CS.And I also found my mathematics courses harder than all my others (CS is a walk in the park in comparison)...</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672970</id>
	<title>Two kinds of math</title>
	<author>Anonymous</author>
	<datestamp>1262806860000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>4</modscore>
	<htmltext><p>This This is a gross simplification, but there are sort of two kinds of math. There's logic math, and there's numbers math. It sounds like the the two courses roughly divide according to this line. When most people hear math they generally think of numbers math.</p><p>If you are a programmer then you do already love the first kind of math, and it does love you back. It's the second kind of math, the ugly numbers math, that scares you.</p><p>Math is not merely "important in programming", programming literally is a specialized form of math. Most people don't realize programming is math because because people think of "numbers math" when they hear the word math. Everything software is and everything software does is "logic math". The math of manipulating complex information, the math of manipulating complex logic relationships.</p><p>The math of manipulating data.</p><p> <i>'Discreet structures with graph theory' (discrete math; proofs, sets, algorithms and graphs)</i> </p><p>Programming extensively uses sets, discrete math, and graphs to organize data, to understand data, to manipulate data. A program is literally nothing more than one big algorithm built up out of several smaller algorithms. And in a deep sense, programs and proofs are the exact same thing. There is a math proof that every program can be directly translated into a proof, and every proof can be translated into a program. They are fundamentally identical things with identical logic and identical properties. Reading proofs and writing proofs uses the same precise step-wise logical analysis as reading and writing software.</p><p>This course is the math that is the very essence of programming. It's the sort of math and logic that you already you already use every day as a programmer without realizing that it is math - the sort of math you *will* use every day in the future as a programmer. The insights and logic skills in this course will directly advance your every day skills and capabilities as a programmer.</p><p> <i>'Selected math chapters' (math analysis; vectors, euclidean space, differentials)</i> </p><p>There are things that can be useful *in* a program, but they are not really useful *to* programming. For example if you want to handle or simulate physics-systems, falling rotating moving objects, manipulating 3D objects and graphics, then vectors acre extremely important, along with good intuitive spacial skills. The math analysis and differentials are generally even more rare and specialized. Computers are fantastic at handling that sort of stuff, and sometimes you really need an advanced math-programmer to do literal "rocket science" aerodynamics and orbital mechanics, but most programmers will never need to touch the stuff. You don't need scary-math analysis or differential equations to program an operating system or a webserver or any normal business application.</p><p>If you're not doing that sort of sciency-math programming, then you'll never use that stuff. If you're not working on that stuff but you do come across a case where you need to pull in a small piece of that stuff, you can usually just copy-patse in the ugly equation you need even if you don't have any grasp of the math behind it.</p><p>The biggest issue there is if you want to do 3D graphics manipulations. A lot of those math equations can be copy-pasted in semi-blindly, but you will seriously choke on that sort of work unless you are good with vectors and have a good intuitive spacial skills.</p><p>So in short you definitely want to take the 'Discreet structures with graph theory' course. It will make you a better programmer. The other course merely allows you to specialize as a mathy-sciency-programmer. Take both if you're up for it, but that sort of mathematical programming is not everyone's cup of tea. You can get by fine without it.</p><p> <i>one assistant told me that it would be more useful for a programmer compared to the first subject. Then again, he's not a programmer.</i> </p><p>Exactly - he's not a programmer.</p><p>He sees the course expanding your ability to write programs</p></htmltext>
<tokenext>This This is a gross simplification , but there are sort of two kinds of math .
There 's logic math , and there 's numbers math .
It sounds like the the two courses roughly divide according to this line .
When most people hear math they generally think of numbers math.If you are a programmer then you do already love the first kind of math , and it does love you back .
It 's the second kind of math , the ugly numbers math , that scares you.Math is not merely " important in programming " , programming literally is a specialized form of math .
Most people do n't realize programming is math because because people think of " numbers math " when they hear the word math .
Everything software is and everything software does is " logic math " .
The math of manipulating complex information , the math of manipulating complex logic relationships.The math of manipulating data .
'Discreet structures with graph theory ' ( discrete math ; proofs , sets , algorithms and graphs ) Programming extensively uses sets , discrete math , and graphs to organize data , to understand data , to manipulate data .
A program is literally nothing more than one big algorithm built up out of several smaller algorithms .
And in a deep sense , programs and proofs are the exact same thing .
There is a math proof that every program can be directly translated into a proof , and every proof can be translated into a program .
They are fundamentally identical things with identical logic and identical properties .
Reading proofs and writing proofs uses the same precise step-wise logical analysis as reading and writing software.This course is the math that is the very essence of programming .
It 's the sort of math and logic that you already you already use every day as a programmer without realizing that it is math - the sort of math you * will * use every day in the future as a programmer .
The insights and logic skills in this course will directly advance your every day skills and capabilities as a programmer .
'Selected math chapters ' ( math analysis ; vectors , euclidean space , differentials ) There are things that can be useful * in * a program , but they are not really useful * to * programming .
For example if you want to handle or simulate physics-systems , falling rotating moving objects , manipulating 3D objects and graphics , then vectors acre extremely important , along with good intuitive spacial skills .
The math analysis and differentials are generally even more rare and specialized .
Computers are fantastic at handling that sort of stuff , and sometimes you really need an advanced math-programmer to do literal " rocket science " aerodynamics and orbital mechanics , but most programmers will never need to touch the stuff .
You do n't need scary-math analysis or differential equations to program an operating system or a webserver or any normal business application.If you 're not doing that sort of sciency-math programming , then you 'll never use that stuff .
If you 're not working on that stuff but you do come across a case where you need to pull in a small piece of that stuff , you can usually just copy-patse in the ugly equation you need even if you do n't have any grasp of the math behind it.The biggest issue there is if you want to do 3D graphics manipulations .
A lot of those math equations can be copy-pasted in semi-blindly , but you will seriously choke on that sort of work unless you are good with vectors and have a good intuitive spacial skills.So in short you definitely want to take the 'Discreet structures with graph theory ' course .
It will make you a better programmer .
The other course merely allows you to specialize as a mathy-sciency-programmer .
Take both if you 're up for it , but that sort of mathematical programming is not everyone 's cup of tea .
You can get by fine without it .
one assistant told me that it would be more useful for a programmer compared to the first subject .
Then again , he 's not a programmer .
Exactly - he 's not a programmer.He sees the course expanding your ability to write programs</tokentext>
<sentencetext>This This is a gross simplification, but there are sort of two kinds of math.
There's logic math, and there's numbers math.
It sounds like the the two courses roughly divide according to this line.
When most people hear math they generally think of numbers math.If you are a programmer then you do already love the first kind of math, and it does love you back.
It's the second kind of math, the ugly numbers math, that scares you.Math is not merely "important in programming", programming literally is a specialized form of math.
Most people don't realize programming is math because because people think of "numbers math" when they hear the word math.
Everything software is and everything software does is "logic math".
The math of manipulating complex information, the math of manipulating complex logic relationships.The math of manipulating data.
'Discreet structures with graph theory' (discrete math; proofs, sets, algorithms and graphs) Programming extensively uses sets, discrete math, and graphs to organize data, to understand data, to manipulate data.
A program is literally nothing more than one big algorithm built up out of several smaller algorithms.
And in a deep sense, programs and proofs are the exact same thing.
There is a math proof that every program can be directly translated into a proof, and every proof can be translated into a program.
They are fundamentally identical things with identical logic and identical properties.
Reading proofs and writing proofs uses the same precise step-wise logical analysis as reading and writing software.This course is the math that is the very essence of programming.
It's the sort of math and logic that you already you already use every day as a programmer without realizing that it is math - the sort of math you *will* use every day in the future as a programmer.
The insights and logic skills in this course will directly advance your every day skills and capabilities as a programmer.
'Selected math chapters' (math analysis; vectors, euclidean space, differentials) There are things that can be useful *in* a program, but they are not really useful *to* programming.
For example if you want to handle or simulate physics-systems, falling rotating moving objects, manipulating 3D objects and graphics, then vectors acre extremely important, along with good intuitive spacial skills.
The math analysis and differentials are generally even more rare and specialized.
Computers are fantastic at handling that sort of stuff, and sometimes you really need an advanced math-programmer to do literal "rocket science" aerodynamics and orbital mechanics, but most programmers will never need to touch the stuff.
You don't need scary-math analysis or differential equations to program an operating system or a webserver or any normal business application.If you're not doing that sort of sciency-math programming, then you'll never use that stuff.
If you're not working on that stuff but you do come across a case where you need to pull in a small piece of that stuff, you can usually just copy-patse in the ugly equation you need even if you don't have any grasp of the math behind it.The biggest issue there is if you want to do 3D graphics manipulations.
A lot of those math equations can be copy-pasted in semi-blindly, but you will seriously choke on that sort of work unless you are good with vectors and have a good intuitive spacial skills.So in short you definitely want to take the 'Discreet structures with graph theory' course.
It will make you a better programmer.
The other course merely allows you to specialize as a mathy-sciency-programmer.
Take both if you're up for it, but that sort of mathematical programming is not everyone's cup of tea.
You can get by fine without it.
one assistant told me that it would be more useful for a programmer compared to the first subject.
Then again, he's not a programmer.
Exactly - he's not a programmer.He sees the course expanding your ability to write programs</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671584</id>
	<title>Engineering vs CS</title>
	<author>RandCraw</author>
	<datestamp>1262801280000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Your math knowledge depends on two questions: 1) What domain do you intend to work in (continuous or discrete), and 2) Do you plan to do research.</p><p>If you might deal with data coming from a continuous domain like the Real World, you need linear algebra, calculus, and statistics, i.e. engineering math.  This spans professions like signal processing, image processing, graphics, data mining, machine learning, simulation, financial engineering, and AI (where you need to recognize and manipulate complex patterns).</p><p>However, if your data will arise entirely from  discrete domains, i.e. the mainstream world of computing, you'll still benefit from probability (to understand and characterize the range of variation in input data), but you won't need more than the first term of calculus (differential) or linear algebra, and probably not even statistics.  This domain covers 95\% of the work of programming: web technology, databases, networking, GUIs, mobile, etc.</p><p>In any case, you *will* need discrete math (to understand the theory of computing).  And in no case will you ever use real analysis (the theory of calculus).</p><p>If you want to do research, plan to take more math regardless (like queuing theory and statistics).  But which math you need will depend on which area of research you choose.</p></htmltext>
<tokenext>Your math knowledge depends on two questions : 1 ) What domain do you intend to work in ( continuous or discrete ) , and 2 ) Do you plan to do research.If you might deal with data coming from a continuous domain like the Real World , you need linear algebra , calculus , and statistics , i.e .
engineering math .
This spans professions like signal processing , image processing , graphics , data mining , machine learning , simulation , financial engineering , and AI ( where you need to recognize and manipulate complex patterns ) .However , if your data will arise entirely from discrete domains , i.e .
the mainstream world of computing , you 'll still benefit from probability ( to understand and characterize the range of variation in input data ) , but you wo n't need more than the first term of calculus ( differential ) or linear algebra , and probably not even statistics .
This domain covers 95 \ % of the work of programming : web technology , databases , networking , GUIs , mobile , etc.In any case , you * will * need discrete math ( to understand the theory of computing ) .
And in no case will you ever use real analysis ( the theory of calculus ) .If you want to do research , plan to take more math regardless ( like queuing theory and statistics ) .
But which math you need will depend on which area of research you choose .</tokentext>
<sentencetext>Your math knowledge depends on two questions: 1) What domain do you intend to work in (continuous or discrete), and 2) Do you plan to do research.If you might deal with data coming from a continuous domain like the Real World, you need linear algebra, calculus, and statistics, i.e.
engineering math.
This spans professions like signal processing, image processing, graphics, data mining, machine learning, simulation, financial engineering, and AI (where you need to recognize and manipulate complex patterns).However, if your data will arise entirely from  discrete domains, i.e.
the mainstream world of computing, you'll still benefit from probability (to understand and characterize the range of variation in input data), but you won't need more than the first term of calculus (differential) or linear algebra, and probably not even statistics.
This domain covers 95\% of the work of programming: web technology, databases, networking, GUIs, mobile, etc.In any case, you *will* need discrete math (to understand the theory of computing).
And in no case will you ever use real analysis (the theory of calculus).If you want to do research, plan to take more math regardless (like queuing theory and statistics).
But which math you need will depend on which area of research you choose.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671800</id>
	<title>A Professor speaks</title>
	<author>Anonymous</author>
	<datestamp>1262802300000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>I am a Professor in a strong, research-oriented, Computer Science Department. I think that discrete math (proofs, sets, algorithms and graphs) is essential material for a computer scientist and - if this is a straight choice - would be the course I recommend. Having said this, we are currently radically rebalancing our own curriculum to put much more emphasis on more 'conventional' mathematical analysis and, in particular, statistics. This is what applications require and more significantly is relevant to problems of scale. I think 'internet-scale' problems require a different approach and different maths.</p></htmltext>
<tokenext>I am a Professor in a strong , research-oriented , Computer Science Department .
I think that discrete math ( proofs , sets , algorithms and graphs ) is essential material for a computer scientist and - if this is a straight choice - would be the course I recommend .
Having said this , we are currently radically rebalancing our own curriculum to put much more emphasis on more 'conventional ' mathematical analysis and , in particular , statistics .
This is what applications require and more significantly is relevant to problems of scale .
I think 'internet-scale ' problems require a different approach and different maths .</tokentext>
<sentencetext>I am a Professor in a strong, research-oriented, Computer Science Department.
I think that discrete math (proofs, sets, algorithms and graphs) is essential material for a computer scientist and - if this is a straight choice - would be the course I recommend.
Having said this, we are currently radically rebalancing our own curriculum to put much more emphasis on more 'conventional' mathematical analysis and, in particular, statistics.
This is what applications require and more significantly is relevant to problems of scale.
I think 'internet-scale' problems require a different approach and different maths.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670266</id>
	<title>The only math you need is</title>
	<author>140Mandak262Jamuna</author>
	<datestamp>1262796480000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>arithmatic. Billing rate times billed hours. Remember, if your job actually requires that high level of math, most likely the pay will be very poor. The real money is in writing SQL queries to data bases for finance software.<p>

Basically the logic goes like this. Jobs requiring high level of math are managed by people with high level of math knowledge. They tend to be hard nosed and quite stringy with money and difficult to bullshit with and get a phat pay check. Financial managers, on the other hand, are often clueless and they overpay, they can be hoodwinked into believing the job is much harder than it really is.</p></htmltext>
<tokenext>arithmatic .
Billing rate times billed hours .
Remember , if your job actually requires that high level of math , most likely the pay will be very poor .
The real money is in writing SQL queries to data bases for finance software .
Basically the logic goes like this .
Jobs requiring high level of math are managed by people with high level of math knowledge .
They tend to be hard nosed and quite stringy with money and difficult to bullshit with and get a phat pay check .
Financial managers , on the other hand , are often clueless and they overpay , they can be hoodwinked into believing the job is much harder than it really is .</tokentext>
<sentencetext>arithmatic.
Billing rate times billed hours.
Remember, if your job actually requires that high level of math, most likely the pay will be very poor.
The real money is in writing SQL queries to data bases for finance software.
Basically the logic goes like this.
Jobs requiring high level of math are managed by people with high level of math knowledge.
They tend to be hard nosed and quite stringy with money and difficult to bullshit with and get a phat pay check.
Financial managers, on the other hand, are often clueless and they overpay, they can be hoodwinked into believing the job is much harder than it really is.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30673832</id>
	<title>Math</title>
	<author>whoisisis</author>
	<datestamp>1262810880000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>It's a bit of a toughie, but I think I'd go for analysis. It provides a fundamental insight into how math is done.<br>Math is made up of three basic ingredients: analysis, geometry and algebra.</p><p>You're much more likely to understand a lot of the reasoning in other courses after you take analysis,<br>as the logic applies much more generally than to vectors, euclidean space and differentials. Those are more examples on how to use analysis,<br>and of course could be annoying to get through if you don't like that sort of thing.</p><p>In your non-math (ie. programming/cs) courses, you're very likely to meet graph theory, sets and so on anyway,<br>and because you've taken analysis, you'll have much more intuition on how to use those tools.</p></htmltext>
<tokenext>It 's a bit of a toughie , but I think I 'd go for analysis .
It provides a fundamental insight into how math is done.Math is made up of three basic ingredients : analysis , geometry and algebra.You 're much more likely to understand a lot of the reasoning in other courses after you take analysis,as the logic applies much more generally than to vectors , euclidean space and differentials .
Those are more examples on how to use analysis,and of course could be annoying to get through if you do n't like that sort of thing.In your non-math ( ie .
programming/cs ) courses , you 're very likely to meet graph theory , sets and so on anyway,and because you 've taken analysis , you 'll have much more intuition on how to use those tools .</tokentext>
<sentencetext>It's a bit of a toughie, but I think I'd go for analysis.
It provides a fundamental insight into how math is done.Math is made up of three basic ingredients: analysis, geometry and algebra.You're much more likely to understand a lot of the reasoning in other courses after you take analysis,as the logic applies much more generally than to vectors, euclidean space and differentials.
Those are more examples on how to use analysis,and of course could be annoying to get through if you don't like that sort of thing.In your non-math (ie.
programming/cs) courses, you're very likely to meet graph theory, sets and so on anyway,and because you've taken analysis, you'll have much more intuition on how to use those tools.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670036</id>
	<title>embrace the pain</title>
	<author>bl8n8r</author>
	<datestamp>1262795640000</datestamp>
	<modclass>Informativ</modclass>
	<modscore>3</modscore>
	<htmltext>if you don't have a good understanding of algebra and geometry, computer graphics coding is going to suck for you.  You will not only find the work daunting, but your coworkers will be very frustrated with the duct tape work-arounds you will need to employ in order to compensate.  My advice would be to work your butt off to grok both classes.  It will only make your quality of work life more enjoyable later on.  Trust me, math hated me as much as I hated it and I've had to go back and do it over.</htmltext>
<tokenext>if you do n't have a good understanding of algebra and geometry , computer graphics coding is going to suck for you .
You will not only find the work daunting , but your coworkers will be very frustrated with the duct tape work-arounds you will need to employ in order to compensate .
My advice would be to work your butt off to grok both classes .
It will only make your quality of work life more enjoyable later on .
Trust me , math hated me as much as I hated it and I 've had to go back and do it over .</tokentext>
<sentencetext>if you don't have a good understanding of algebra and geometry, computer graphics coding is going to suck for you.
You will not only find the work daunting, but your coworkers will be very frustrated with the duct tape work-arounds you will need to employ in order to compensate.
My advice would be to work your butt off to grok both classes.
It will only make your quality of work life more enjoyable later on.
Trust me, math hated me as much as I hated it and I've had to go back and do it over.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670490</id>
	<title>90\% of "real" business programming is not math</title>
	<author>fuzzylollipop</author>
	<datestamp>1262797260000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>it is string manipulation at its most basic. unless you are doing math and programming is a end not the means, then math != programming for the most part.</htmltext>
<tokenext>it is string manipulation at its most basic .
unless you are doing math and programming is a end not the means , then math ! = programming for the most part .</tokentext>
<sentencetext>it is string manipulation at its most basic.
unless you are doing math and programming is a end not the means, then math != programming for the most part.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30675304</id>
	<title>Re:Take Both</title>
	<author>muridae</author>
	<datestamp>1262774400000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Parent is right, take both. They both have features that will apply to future computer science topics that you will reach in your degree. Get a minor in math, if you can and have the time for it.</p><p>That said, if you really do not want to take both, then you need to think about which class will teach you more, and which one is applicable to what you want to do with your degree. Discrete math is programing: it is a great way to think in binary (truth tables), and if you have taken or will take a microprocessor course (assembly of some sort, and circuit design) then it is a good complement to the stuff you will learn there. Differentials and vectors show up in the real world, outside of computers. So if you plan on simulating anything, from AI to ray-tracing to path-finding, you need this information. What I am unsettled by, is the 'selected chapters' course. For me, vector math was an entire term. Only a credit or two for the course, but it built on Calculus 2 and ran parallel to multi-variable calc. Differentials was an entire course. Discrete math, though, covered just about everything that yours seems to, and is a pre-req for the more detailed graphs or proofs course. The reason I am unsettled, is that if those are the highest math courses you are required to take, you are getting ripped off. Take a proofs course, take first-order differential equations, take a full course on vectors geometry and graphs. If these two options are just second year courses to help you get interested, then take them both.</p></htmltext>
<tokenext>Parent is right , take both .
They both have features that will apply to future computer science topics that you will reach in your degree .
Get a minor in math , if you can and have the time for it.That said , if you really do not want to take both , then you need to think about which class will teach you more , and which one is applicable to what you want to do with your degree .
Discrete math is programing : it is a great way to think in binary ( truth tables ) , and if you have taken or will take a microprocessor course ( assembly of some sort , and circuit design ) then it is a good complement to the stuff you will learn there .
Differentials and vectors show up in the real world , outside of computers .
So if you plan on simulating anything , from AI to ray-tracing to path-finding , you need this information .
What I am unsettled by , is the 'selected chapters ' course .
For me , vector math was an entire term .
Only a credit or two for the course , but it built on Calculus 2 and ran parallel to multi-variable calc .
Differentials was an entire course .
Discrete math , though , covered just about everything that yours seems to , and is a pre-req for the more detailed graphs or proofs course .
The reason I am unsettled , is that if those are the highest math courses you are required to take , you are getting ripped off .
Take a proofs course , take first-order differential equations , take a full course on vectors geometry and graphs .
If these two options are just second year courses to help you get interested , then take them both .</tokentext>
<sentencetext>Parent is right, take both.
They both have features that will apply to future computer science topics that you will reach in your degree.
Get a minor in math, if you can and have the time for it.That said, if you really do not want to take both, then you need to think about which class will teach you more, and which one is applicable to what you want to do with your degree.
Discrete math is programing: it is a great way to think in binary (truth tables), and if you have taken or will take a microprocessor course (assembly of some sort, and circuit design) then it is a good complement to the stuff you will learn there.
Differentials and vectors show up in the real world, outside of computers.
So if you plan on simulating anything, from AI to ray-tracing to path-finding, you need this information.
What I am unsettled by, is the 'selected chapters' course.
For me, vector math was an entire term.
Only a credit or two for the course, but it built on Calculus 2 and ran parallel to multi-variable calc.
Differentials was an entire course.
Discrete math, though, covered just about everything that yours seems to, and is a pre-req for the more detailed graphs or proofs course.
The reason I am unsettled, is that if those are the highest math courses you are required to take, you are getting ripped off.
Take a proofs course, take first-order differential equations, take a full course on vectors geometry and graphs.
If these two options are just second year courses to help you get interested, then take them both.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669830</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670366</id>
	<title>take discrete</title>
	<author>Anonymous</author>
	<datestamp>1262796780000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>While math certainly is not required for most programming jobs it certainly helps. I double majored in math and CS in college and the math always comes back in strange ways to help me solve problems. Also doing mathematics trains your mind for solving problems. Even if you don't use all of the stuff you learned directly the mathematical maturity you gained by dealing with all the abstractions will help you be a better problem solver.</p><p>I'm a math nerd so I would say take both classes if you can. If you had to choose one, discreet math and graph theory is defiantly more readily applicable to computer science. Many programming problems involve graphs somehow. Discrete math techniques commonly come up when analyzing algorithms.</p></htmltext>
<tokenext>While math certainly is not required for most programming jobs it certainly helps .
I double majored in math and CS in college and the math always comes back in strange ways to help me solve problems .
Also doing mathematics trains your mind for solving problems .
Even if you do n't use all of the stuff you learned directly the mathematical maturity you gained by dealing with all the abstractions will help you be a better problem solver.I 'm a math nerd so I would say take both classes if you can .
If you had to choose one , discreet math and graph theory is defiantly more readily applicable to computer science .
Many programming problems involve graphs somehow .
Discrete math techniques commonly come up when analyzing algorithms .</tokentext>
<sentencetext>While math certainly is not required for most programming jobs it certainly helps.
I double majored in math and CS in college and the math always comes back in strange ways to help me solve problems.
Also doing mathematics trains your mind for solving problems.
Even if you don't use all of the stuff you learned directly the mathematical maturity you gained by dealing with all the abstractions will help you be a better problem solver.I'm a math nerd so I would say take both classes if you can.
If you had to choose one, discreet math and graph theory is defiantly more readily applicable to computer science.
Many programming problems involve graphs somehow.
Discrete math techniques commonly come up when analyzing algorithms.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670136</id>
	<title>Agebra...</title>
	<author>RingDev</author>
	<datestamp>1262796000000</datestamp>
	<modclass>Interestin</modclass>
	<modscore>5</modscore>
	<htmltext><p>Proofs, proofs, then more proofs.</p><p>Programming is all about isolating the smallest part of a problem and simplifying it out. Doing proofs is effectively the basis for programming.</p><p>Understanding trig and calc is handy for specific projects, but for every single program we write we have to be able to see the problem, to isolate components of the problem, and to simplify them.</p><p>-Rick</p></htmltext>
<tokenext>Proofs , proofs , then more proofs.Programming is all about isolating the smallest part of a problem and simplifying it out .
Doing proofs is effectively the basis for programming.Understanding trig and calc is handy for specific projects , but for every single program we write we have to be able to see the problem , to isolate components of the problem , and to simplify them.-Rick</tokentext>
<sentencetext>Proofs, proofs, then more proofs.Programming is all about isolating the smallest part of a problem and simplifying it out.
Doing proofs is effectively the basis for programming.Understanding trig and calc is handy for specific projects, but for every single program we write we have to be able to see the problem, to isolate components of the problem, and to simplify them.-Rick</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30673674</id>
	<title>Re:Study what you enjoy</title>
	<author>Blakey Rat</author>
	<datestamp>1262810100000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p><i>If you want to do human computer interface, you don't need math (or a brain).</i></p><p>At the very least, math-wise you need Statistics, for the user surveys and interviews you'll conduct. (Assuming you're good at your job.) You also need a good dose of Psychology to set up testing, and learn all the established knowledge you'll save time not re-testing.</p><p>On another note, I hope to God you never write an application with any sort of UI, if that is your attitude. Christ.</p></htmltext>
<tokenext>If you want to do human computer interface , you do n't need math ( or a brain ) .At the very least , math-wise you need Statistics , for the user surveys and interviews you 'll conduct .
( Assuming you 're good at your job .
) You also need a good dose of Psychology to set up testing , and learn all the established knowledge you 'll save time not re-testing.On another note , I hope to God you never write an application with any sort of UI , if that is your attitude .
Christ .</tokentext>
<sentencetext>If you want to do human computer interface, you don't need math (or a brain).At the very least, math-wise you need Statistics, for the user surveys and interviews you'll conduct.
(Assuming you're good at your job.
) You also need a good dose of Psychology to set up testing, and learn all the established knowledge you'll save time not re-testing.On another note, I hope to God you never write an application with any sort of UI, if that is your attitude.
Christ.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670244</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672556</id>
	<title>absolutely no relevance to programming</title>
	<author>Anonymous</author>
	<datestamp>1262805240000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>mathematics are in no way in real world related to exquisite or plain programming. its got to do only with binary or if you will silicon manufacturing.<br>never ever mathematicians can realize what the hardware does, or an operating system is, built functions for it, and put then in good use in an application.<br>if they wonna play with formulas, tell them to use openoffice formula and leave the computers to engineers ! not even the CS majors.</p><p>regards.</p><p>ps I'm too old for this....<br>
&nbsp; &nbsp;</p></htmltext>
<tokenext>mathematics are in no way in real world related to exquisite or plain programming .
its got to do only with binary or if you will silicon manufacturing.never ever mathematicians can realize what the hardware does , or an operating system is , built functions for it , and put then in good use in an application.if they wonna play with formulas , tell them to use openoffice formula and leave the computers to engineers !
not even the CS majors.regards.ps I 'm too old for this... .    </tokentext>
<sentencetext>mathematics are in no way in real world related to exquisite or plain programming.
its got to do only with binary or if you will silicon manufacturing.never ever mathematicians can realize what the hardware does, or an operating system is, built functions for it, and put then in good use in an application.if they wonna play with formulas, tell them to use openoffice formula and leave the computers to engineers !
not even the CS majors.regards.ps I'm too old for this....
   </sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674926</id>
	<title>Real Programmers</title>
	<author>s1id3r0</author>
	<datestamp>1262772660000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>Ed Post has already answered this question, and many of the topics that have been raised in the comments he has put to rest as well.  Here is and excerpt from the Article, which can be found in it's entirety here:

<tt>"... What kind of tools does a Real Programmer use? In theory, a Real Programmer could run his programs by keying them into the front panel of the computer. Back in the days when computers had front panels, this was actually done occasionally. Your typical Real Programmer knew the entire bootstrap loader by memory in hex, and toggled it in whenever it got destroyed by his program. (Back then, memory was memory-- it didn't go away when the power went off. Today, memory either forgets things when you don't want it to, or remembers things long after they're better forgotten.) Legend has it that Seymore Cray, inventor of the Cray I supercomputer and most of Control Data's computers, actually toggled the first operating system for the CDC7600 in on the front panel from memory when it was first powered on. Seymore, needless to say, is a Real Programmer.

One of my favorite Real Programmers was a systems programmer for Texas Instruments. One day, he got a long distance call from a user whose system had crashed in the middle of saving some important work. Jim was able to repair the damage over the phone, getting the user to toggle in disk I/O instructions at the front panel, repairing system tables in hex, reading register contents back over the phone. The moral of this story: while a Real Programmer usually includes a keypunch and line printer in his toolkit, he can get along with just a front panel and a telephone in emergencies.

In some companies, text editing no longer consists of ten engineers standing in line to use an 029 keypunch. In fact, the building I work in doesn't contain a single keypunch. The Real Programmer in this situation has to do his work with a "text editor" program. Most systems supply several text editors to select from, and the Real Programmer must be careful to pick one that reflects his personal style. Many people believe that the best text editors in the world were written at Xerox Palo Alto Research Center for use on their Alto and Dorado computers[3]. Unfortunately, no Real Programmer would ever use a computer whose operating system is called SmallTalk, and would certainly not talk to the computer with a mouse.

Some of the concepts in these Xerox editors have been incorporated into editors running on more reasonably named operating systems-- EMACS and VI being two. The problem with these editors is that Real Programmers consider "what you see is what you get" to be just as bad a concept in Text Editors as it is in Women. No, the Real Programmer wants a "you asked for it, you got it" text editor-- complicated, cryptic, powerful, unforgiving, dangerous. TECO, to be precise.

It has been observed that a TECO command sequence more closely resembles transmission line noise than readable text[4]. One of the more entertaining games to play with TECO is to type your name in as a command line and try to guess what it does. Just about any possible typing error while talking with TECO will probably destroy your program, or even worse-- introduce subtle and mysterious bugs in a once working subroutine.

For this reason, Real Programmers are reluctant to actually edit a program that is close to working. They find it much easier to just patch the binary object code directly, using a wonderful program called SUPERZAP (or its equivalent on non-IBM machines). This works so well that many working programs on IBM systems bear no relation to the original Fortran code. In many cases, the original source code is no longer available. When it comes time to fix a program like this, no manager would even think of sending anything less than a Real Programmer to do the job-- no Quiche Eating structured programmer would even know where to start. This is called "job security".

Some programming tools NOT used by Real Programmers:

Fortran preprocessors like MORTRAN and RATFOR. The Cuisinarts of programming-- gr</tt></htmltext>
<tokenext>Ed Post has already answered this question , and many of the topics that have been raised in the comments he has put to rest as well .
Here is and excerpt from the Article , which can be found in it 's entirety here : " ... What kind of tools does a Real Programmer use ?
In theory , a Real Programmer could run his programs by keying them into the front panel of the computer .
Back in the days when computers had front panels , this was actually done occasionally .
Your typical Real Programmer knew the entire bootstrap loader by memory in hex , and toggled it in whenever it got destroyed by his program .
( Back then , memory was memory-- it did n't go away when the power went off .
Today , memory either forgets things when you do n't want it to , or remembers things long after they 're better forgotten .
) Legend has it that Seymore Cray , inventor of the Cray I supercomputer and most of Control Data 's computers , actually toggled the first operating system for the CDC7600 in on the front panel from memory when it was first powered on .
Seymore , needless to say , is a Real Programmer .
One of my favorite Real Programmers was a systems programmer for Texas Instruments .
One day , he got a long distance call from a user whose system had crashed in the middle of saving some important work .
Jim was able to repair the damage over the phone , getting the user to toggle in disk I/O instructions at the front panel , repairing system tables in hex , reading register contents back over the phone .
The moral of this story : while a Real Programmer usually includes a keypunch and line printer in his toolkit , he can get along with just a front panel and a telephone in emergencies .
In some companies , text editing no longer consists of ten engineers standing in line to use an 029 keypunch .
In fact , the building I work in does n't contain a single keypunch .
The Real Programmer in this situation has to do his work with a " text editor " program .
Most systems supply several text editors to select from , and the Real Programmer must be careful to pick one that reflects his personal style .
Many people believe that the best text editors in the world were written at Xerox Palo Alto Research Center for use on their Alto and Dorado computers [ 3 ] .
Unfortunately , no Real Programmer would ever use a computer whose operating system is called SmallTalk , and would certainly not talk to the computer with a mouse .
Some of the concepts in these Xerox editors have been incorporated into editors running on more reasonably named operating systems-- EMACS and VI being two .
The problem with these editors is that Real Programmers consider " what you see is what you get " to be just as bad a concept in Text Editors as it is in Women .
No , the Real Programmer wants a " you asked for it , you got it " text editor-- complicated , cryptic , powerful , unforgiving , dangerous .
TECO , to be precise .
It has been observed that a TECO command sequence more closely resembles transmission line noise than readable text [ 4 ] .
One of the more entertaining games to play with TECO is to type your name in as a command line and try to guess what it does .
Just about any possible typing error while talking with TECO will probably destroy your program , or even worse-- introduce subtle and mysterious bugs in a once working subroutine .
For this reason , Real Programmers are reluctant to actually edit a program that is close to working .
They find it much easier to just patch the binary object code directly , using a wonderful program called SUPERZAP ( or its equivalent on non-IBM machines ) .
This works so well that many working programs on IBM systems bear no relation to the original Fortran code .
In many cases , the original source code is no longer available .
When it comes time to fix a program like this , no manager would even think of sending anything less than a Real Programmer to do the job-- no Quiche Eating structured programmer would even know where to start .
This is called " job security " .
Some programming tools NOT used by Real Programmers : Fortran preprocessors like MORTRAN and RATFOR .
The Cuisinarts of programming-- gr</tokentext>
<sentencetext>Ed Post has already answered this question, and many of the topics that have been raised in the comments he has put to rest as well.
Here is and excerpt from the Article, which can be found in it's entirety here:

"... What kind of tools does a Real Programmer use?
In theory, a Real Programmer could run his programs by keying them into the front panel of the computer.
Back in the days when computers had front panels, this was actually done occasionally.
Your typical Real Programmer knew the entire bootstrap loader by memory in hex, and toggled it in whenever it got destroyed by his program.
(Back then, memory was memory-- it didn't go away when the power went off.
Today, memory either forgets things when you don't want it to, or remembers things long after they're better forgotten.
) Legend has it that Seymore Cray, inventor of the Cray I supercomputer and most of Control Data's computers, actually toggled the first operating system for the CDC7600 in on the front panel from memory when it was first powered on.
Seymore, needless to say, is a Real Programmer.
One of my favorite Real Programmers was a systems programmer for Texas Instruments.
One day, he got a long distance call from a user whose system had crashed in the middle of saving some important work.
Jim was able to repair the damage over the phone, getting the user to toggle in disk I/O instructions at the front panel, repairing system tables in hex, reading register contents back over the phone.
The moral of this story: while a Real Programmer usually includes a keypunch and line printer in his toolkit, he can get along with just a front panel and a telephone in emergencies.
In some companies, text editing no longer consists of ten engineers standing in line to use an 029 keypunch.
In fact, the building I work in doesn't contain a single keypunch.
The Real Programmer in this situation has to do his work with a "text editor" program.
Most systems supply several text editors to select from, and the Real Programmer must be careful to pick one that reflects his personal style.
Many people believe that the best text editors in the world were written at Xerox Palo Alto Research Center for use on their Alto and Dorado computers[3].
Unfortunately, no Real Programmer would ever use a computer whose operating system is called SmallTalk, and would certainly not talk to the computer with a mouse.
Some of the concepts in these Xerox editors have been incorporated into editors running on more reasonably named operating systems-- EMACS and VI being two.
The problem with these editors is that Real Programmers consider "what you see is what you get" to be just as bad a concept in Text Editors as it is in Women.
No, the Real Programmer wants a "you asked for it, you got it" text editor-- complicated, cryptic, powerful, unforgiving, dangerous.
TECO, to be precise.
It has been observed that a TECO command sequence more closely resembles transmission line noise than readable text[4].
One of the more entertaining games to play with TECO is to type your name in as a command line and try to guess what it does.
Just about any possible typing error while talking with TECO will probably destroy your program, or even worse-- introduce subtle and mysterious bugs in a once working subroutine.
For this reason, Real Programmers are reluctant to actually edit a program that is close to working.
They find it much easier to just patch the binary object code directly, using a wonderful program called SUPERZAP (or its equivalent on non-IBM machines).
This works so well that many working programs on IBM systems bear no relation to the original Fortran code.
In many cases, the original source code is no longer available.
When it comes time to fix a program like this, no manager would even think of sending anything less than a Real Programmer to do the job-- no Quiche Eating structured programmer would even know where to start.
This is called "job security".
Some programming tools NOT used by Real Programmers:

Fortran preprocessors like MORTRAN and RATFOR.
The Cuisinarts of programming-- gr</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670978</id>
	<title>Re:The Second, If Not Both</title>
	<author>domulys</author>
	<datestamp>1262799000000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p><div class="quote"><p>The first is most likely going to give you some automata theory for computers but unless you're going into theoretical research, the second is the obvious answer.</p></div><p>Wow, this is about as far from the truth as I can imagine.  Although someone in another comment mentions the travelling salesman problem, there are at least dozens of other incredibly important problems in graph theory and combinatorics that are worth millions of dollars to companies you may have heard of (e.g., Google, IBM, etc.). Hypergraph partitioning (for VLSI placement and boolean satisfiability) is one; constraint-based reasoning is another.<br> <br>

Vectors and differentials are likely to come up in graphics, so I won't purport that they are less important than discrete math.  But, to assert that one of these is hands-down more useful than the other is nonsense.</p></div>
	</htmltext>
<tokenext>The first is most likely going to give you some automata theory for computers but unless you 're going into theoretical research , the second is the obvious answer.Wow , this is about as far from the truth as I can imagine .
Although someone in another comment mentions the travelling salesman problem , there are at least dozens of other incredibly important problems in graph theory and combinatorics that are worth millions of dollars to companies you may have heard of ( e.g. , Google , IBM , etc. ) .
Hypergraph partitioning ( for VLSI placement and boolean satisfiability ) is one ; constraint-based reasoning is another .
Vectors and differentials are likely to come up in graphics , so I wo n't purport that they are less important than discrete math .
But , to assert that one of these is hands-down more useful than the other is nonsense .</tokentext>
<sentencetext>The first is most likely going to give you some automata theory for computers but unless you're going into theoretical research, the second is the obvious answer.Wow, this is about as far from the truth as I can imagine.
Although someone in another comment mentions the travelling salesman problem, there are at least dozens of other incredibly important problems in graph theory and combinatorics that are worth millions of dollars to companies you may have heard of (e.g., Google, IBM, etc.).
Hypergraph partitioning (for VLSI placement and boolean satisfiability) is one; constraint-based reasoning is another.
Vectors and differentials are likely to come up in graphics, so I won't purport that they are less important than discrete math.
But, to assert that one of these is hands-down more useful than the other is nonsense.
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30673602</id>
	<title>Re:Agebra...</title>
	<author>aGuyNamedJoe</author>
	<datestamp>1262809680000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>I agree.   Many of the questions and answers surrounding "which math course" seem to be thinking about the question wrong.</p><p>In 35 years of programming I probably never used Calculus directly in developing a program or wrote a program to solve a problem that required calculus.   Would I argue against including Calculus in a Comp. Sci. curriculum then?  Absolutely NOT.</p><p>When I look at what I do every day as a software designer / developer and I ask where did I learn to do that, the answer is often "in Calculus class".   Why?  "Limits"! -- not Limits themselves, but I think the concept of Limits as used in calc was the first real abstraction I had to grapple with.</p><p>If you ask me what High School class was most useful in preparing to be a programmer, I'd say "Geometry".  Why?  Proofs!</p><p>When did you ever need to know some factoid you picked up in a history class?  Should you not take history?</p><p>The important aspect of most classes is NOT the facts or fomulae you might learn,  but the ways of thinking you learn.</p><p>Geometry / Proofs in general teach you logical thinking and step by step progression.   Constructing a proof and constructing a program are quite similar.   That should make it clear that is important that you actually do the proofs, not just read someone else's proof -- you won't learn to program by reading about someone else writing a program.</p><p>I agree with the "take 'em both" school of thought -- not only are the thinking processes different, but the concepts in both subjects are also useful to  you.</p><p>I'm a big fan of automata theory and formal languages, too.  You'd be surprised how often you can set out to solve the Halting Problem without recognizing it -- and if you don't know what it is and why it's not worth trying to solve<nobr> <wbr></nobr>...   It's also useful to know the limitations of regular expressions and how to write problem oriented languages that are easy to parse...</p><p>But the most important aspect of both courses is how they stretch your mind if you can get your head around the proofs.   You learn to spot weaknesses / holes in proofs and it's amazing what sorts of problems you can spot in requirements.  And debugging proofs is good practice for debugging programs.</p></htmltext>
<tokenext>I agree .
Many of the questions and answers surrounding " which math course " seem to be thinking about the question wrong.In 35 years of programming I probably never used Calculus directly in developing a program or wrote a program to solve a problem that required calculus .
Would I argue against including Calculus in a Comp .
Sci. curriculum then ?
Absolutely NOT.When I look at what I do every day as a software designer / developer and I ask where did I learn to do that , the answer is often " in Calculus class " .
Why ? " Limits " !
-- not Limits themselves , but I think the concept of Limits as used in calc was the first real abstraction I had to grapple with.If you ask me what High School class was most useful in preparing to be a programmer , I 'd say " Geometry " .
Why ? Proofs ! When did you ever need to know some factoid you picked up in a history class ?
Should you not take history ? The important aspect of most classes is NOT the facts or fomulae you might learn , but the ways of thinking you learn.Geometry / Proofs in general teach you logical thinking and step by step progression .
Constructing a proof and constructing a program are quite similar .
That should make it clear that is important that you actually do the proofs , not just read someone else 's proof -- you wo n't learn to program by reading about someone else writing a program.I agree with the " take 'em both " school of thought -- not only are the thinking processes different , but the concepts in both subjects are also useful to you.I 'm a big fan of automata theory and formal languages , too .
You 'd be surprised how often you can set out to solve the Halting Problem without recognizing it -- and if you do n't know what it is and why it 's not worth trying to solve ... It 's also useful to know the limitations of regular expressions and how to write problem oriented languages that are easy to parse...But the most important aspect of both courses is how they stretch your mind if you can get your head around the proofs .
You learn to spot weaknesses / holes in proofs and it 's amazing what sorts of problems you can spot in requirements .
And debugging proofs is good practice for debugging programs .</tokentext>
<sentencetext>I agree.
Many of the questions and answers surrounding "which math course" seem to be thinking about the question wrong.In 35 years of programming I probably never used Calculus directly in developing a program or wrote a program to solve a problem that required calculus.
Would I argue against including Calculus in a Comp.
Sci. curriculum then?
Absolutely NOT.When I look at what I do every day as a software designer / developer and I ask where did I learn to do that, the answer is often "in Calculus class".
Why?  "Limits"!
-- not Limits themselves, but I think the concept of Limits as used in calc was the first real abstraction I had to grapple with.If you ask me what High School class was most useful in preparing to be a programmer, I'd say "Geometry".
Why?  Proofs!When did you ever need to know some factoid you picked up in a history class?
Should you not take history?The important aspect of most classes is NOT the facts or fomulae you might learn,  but the ways of thinking you learn.Geometry / Proofs in general teach you logical thinking and step by step progression.
Constructing a proof and constructing a program are quite similar.
That should make it clear that is important that you actually do the proofs, not just read someone else's proof -- you won't learn to program by reading about someone else writing a program.I agree with the "take 'em both" school of thought -- not only are the thinking processes different, but the concepts in both subjects are also useful to  you.I'm a big fan of automata theory and formal languages, too.
You'd be surprised how often you can set out to solve the Halting Problem without recognizing it -- and if you don't know what it is and why it's not worth trying to solve ...   It's also useful to know the limitations of regular expressions and how to write problem oriented languages that are easy to parse...But the most important aspect of both courses is how they stretch your mind if you can get your head around the proofs.
You learn to spot weaknesses / holes in proofs and it's amazing what sorts of problems you can spot in requirements.
And debugging proofs is good practice for debugging programs.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670136</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671040</id>
	<title>both if you can</title>
	<author>kenshin33</author>
	<datestamp>1262799240000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>if you can't Discreet math is more suitable for programming. Differentials ans stuff like that is more for Electrical Eng<nobr> <wbr></nobr>...</htmltext>
<tokenext>if you ca n't Discreet math is more suitable for programming .
Differentials ans stuff like that is more for Electrical Eng .. .</tokentext>
<sentencetext>if you can't Discreet math is more suitable for programming.
Differentials ans stuff like that is more for Electrical Eng ...</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671142</id>
	<title>Graph Theory</title>
	<author>swordgeek</author>
	<datestamp>1262799720000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>My manager is a comp sci grad from a few decades back. He's one of the best computer geeks I know, and he continually says that graph theory is the most useful course he took in University. A programmer in our group also says that essentially graph theory is an abstraction of programming theory.</p></htmltext>
<tokenext>My manager is a comp sci grad from a few decades back .
He 's one of the best computer geeks I know , and he continually says that graph theory is the most useful course he took in University .
A programmer in our group also says that essentially graph theory is an abstraction of programming theory .</tokentext>
<sentencetext>My manager is a comp sci grad from a few decades back.
He's one of the best computer geeks I know, and he continually says that graph theory is the most useful course he took in University.
A programmer in our group also says that essentially graph theory is an abstraction of programming theory.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674004</id>
	<title>Re:What? Math for programmers?</title>
	<author>jpmorgan</author>
	<datestamp>1262768460000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Yes, it does. The trick is knowing HOW to boil it down to simple arithmetic.</p><p>An itemized breakdown of a $10,000 programming contract:<br>$1 for the simple arithmetic. $9,999 for knowing how to solve it using simple arithmetic.</p></htmltext>
<tokenext>Yes , it does .
The trick is knowing HOW to boil it down to simple arithmetic.An itemized breakdown of a $ 10,000 programming contract : $ 1 for the simple arithmetic .
$ 9,999 for knowing how to solve it using simple arithmetic .</tokentext>
<sentencetext>Yes, it does.
The trick is knowing HOW to boil it down to simple arithmetic.An itemized breakdown of a $10,000 programming contract:$1 for the simple arithmetic.
$9,999 for knowing how to solve it using simple arithmetic.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670164</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670724</id>
	<title>Re:Take both</title>
	<author>xtracto</author>
	<datestamp>1262798040000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>I concur that it is a good idea to take both.</p><p>During my Software Engineering major I had both types of math. Nowadays, I have forgot all of it, except whatever I am using. But at least, I know what to look for (and where to look for it...e.g. those big and expensive text books) if I need it.</p><p>University (bachellors degree) is meant to show it the breadth of your field. The more you know exists, the better for you.</p><p>Now, the submitter does not specify what degree is he/she studying... if it is CS I would incline more for the 'Selected math chapters' option, whereas if he is in Software Engineering (or the like) I would go for  'Discreet structures with graph theory'.</p></htmltext>
<tokenext>I concur that it is a good idea to take both.During my Software Engineering major I had both types of math .
Nowadays , I have forgot all of it , except whatever I am using .
But at least , I know what to look for ( and where to look for it...e.g .
those big and expensive text books ) if I need it.University ( bachellors degree ) is meant to show it the breadth of your field .
The more you know exists , the better for you.Now , the submitter does not specify what degree is he/she studying... if it is CS I would incline more for the 'Selected math chapters ' option , whereas if he is in Software Engineering ( or the like ) I would go for 'Discreet structures with graph theory' .</tokentext>
<sentencetext>I concur that it is a good idea to take both.During my Software Engineering major I had both types of math.
Nowadays, I have forgot all of it, except whatever I am using.
But at least, I know what to look for (and where to look for it...e.g.
those big and expensive text books) if I need it.University (bachellors degree) is meant to show it the breadth of your field.
The more you know exists, the better for you.Now, the submitter does not specify what degree is he/she studying... if it is CS I would incline more for the 'Selected math chapters' option, whereas if he is in Software Engineering (or the like) I would go for  'Discreet structures with graph theory'.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670172</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669802</id>
	<title>Physicists?</title>
	<author>Anonymous</author>
	<datestamp>1262794800000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>5</modscore>
	<htmltext>I don't disagree that mathematicians make great software engineers, but I think most of the great software engineers in the past were physicists and electrical engineers.</htmltext>
<tokenext>I do n't disagree that mathematicians make great software engineers , but I think most of the great software engineers in the past were physicists and electrical engineers .</tokentext>
<sentencetext>I don't disagree that mathematicians make great software engineers, but I think most of the great software engineers in the past were physicists and electrical engineers.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669974</id>
	<title>Take the easier course</title>
	<author>Anonymous</author>
	<datestamp>1262795460000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>3</modscore>
	<htmltext>If you struggle with math, I would definitely take the discrete structures class, not the second class. 3D Vector Calculus (e.g. Maxwell's equations) was one of the toughest subjects I've ever taken, and guess what -- I've never used it since! Set theory, on the other hand, is used constantly in CS; in fact, boolean algebra is just a subset of set theory, and I believe Relational Databases are built on top of set theory.</htmltext>
<tokenext>If you struggle with math , I would definitely take the discrete structures class , not the second class .
3D Vector Calculus ( e.g .
Maxwell 's equations ) was one of the toughest subjects I 've ever taken , and guess what -- I 've never used it since !
Set theory , on the other hand , is used constantly in CS ; in fact , boolean algebra is just a subset of set theory , and I believe Relational Databases are built on top of set theory .</tokentext>
<sentencetext>If you struggle with math, I would definitely take the discrete structures class, not the second class.
3D Vector Calculus (e.g.
Maxwell's equations) was one of the toughest subjects I've ever taken, and guess what -- I've never used it since!
Set theory, on the other hand, is used constantly in CS; in fact, boolean algebra is just a subset of set theory, and I believe Relational Databases are built on top of set theory.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670898</id>
	<title>Re:The Second, If Not Both</title>
	<author>drachenstern</author>
	<datestamp>1262798640000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Not so much to the parent, but to the original asker:</p><p>I agree with eldavojohn here, TAKE BOTH.</p><p>I've a major in CS and a full minor in Applied Mathematics. I wish I had gone for dual-major, but I've always liked tinkering so did a double-minor (Appl Math and Electrical Engineering).</p><p>My point is, the math has been more important, if for no other reason than for understanding the myriad ways that complex problems devolve into simple ones (think how the profs ask you to solve a problem using a particular method even tho another method would be faster/simpler).</p><p>Understanding the fundamentals of problems (like for instance the relationship between velocity speed and acceleration) helps in other areas (and may have you kicking yourself why you didn't take higher order maths before physics).</p><p>So, for real-world application:<br>My first "real job" post Uni, one of the first in-person questions they asked about my schooling was if I had a math-centric degree program. While the problems haven't been math-centric so far, the ability to approach a problem and to know why a particular solution has been helpful, especially as I watch coworkers write voodoo code that I have to detangle for them.</p><p>Now, in relation to the parent's post: Having a good teacher that can show you that it really is interesting, fun and neat, that's what's most important to LEARNING math.</p><p>Last point of advice before I quit sharing my $0.05:<br>If one of the prof's is known for "two exam" classes, don't take that class. Or at least, that's my experience. Those prof's always seemed to be out to screw students, and usually didn't care. My bad luck? Maybe.</p></htmltext>
<tokenext>Not so much to the parent , but to the original asker : I agree with eldavojohn here , TAKE BOTH.I 've a major in CS and a full minor in Applied Mathematics .
I wish I had gone for dual-major , but I 've always liked tinkering so did a double-minor ( Appl Math and Electrical Engineering ) .My point is , the math has been more important , if for no other reason than for understanding the myriad ways that complex problems devolve into simple ones ( think how the profs ask you to solve a problem using a particular method even tho another method would be faster/simpler ) .Understanding the fundamentals of problems ( like for instance the relationship between velocity speed and acceleration ) helps in other areas ( and may have you kicking yourself why you did n't take higher order maths before physics ) .So , for real-world application : My first " real job " post Uni , one of the first in-person questions they asked about my schooling was if I had a math-centric degree program .
While the problems have n't been math-centric so far , the ability to approach a problem and to know why a particular solution has been helpful , especially as I watch coworkers write voodoo code that I have to detangle for them.Now , in relation to the parent 's post : Having a good teacher that can show you that it really is interesting , fun and neat , that 's what 's most important to LEARNING math.Last point of advice before I quit sharing my $ 0.05 : If one of the prof 's is known for " two exam " classes , do n't take that class .
Or at least , that 's my experience .
Those prof 's always seemed to be out to screw students , and usually did n't care .
My bad luck ?
Maybe .</tokentext>
<sentencetext>Not so much to the parent, but to the original asker:I agree with eldavojohn here, TAKE BOTH.I've a major in CS and a full minor in Applied Mathematics.
I wish I had gone for dual-major, but I've always liked tinkering so did a double-minor (Appl Math and Electrical Engineering).My point is, the math has been more important, if for no other reason than for understanding the myriad ways that complex problems devolve into simple ones (think how the profs ask you to solve a problem using a particular method even tho another method would be faster/simpler).Understanding the fundamentals of problems (like for instance the relationship between velocity speed and acceleration) helps in other areas (and may have you kicking yourself why you didn't take higher order maths before physics).So, for real-world application:My first "real job" post Uni, one of the first in-person questions they asked about my schooling was if I had a math-centric degree program.
While the problems haven't been math-centric so far, the ability to approach a problem and to know why a particular solution has been helpful, especially as I watch coworkers write voodoo code that I have to detangle for them.Now, in relation to the parent's post: Having a good teacher that can show you that it really is interesting, fun and neat, that's what's most important to LEARNING math.Last point of advice before I quit sharing my $0.05:If one of the prof's is known for "two exam" classes, don't take that class.
Or at least, that's my experience.
Those prof's always seemed to be out to screw students, and usually didn't care.
My bad luck?
Maybe.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670710</id>
	<title>Easy</title>
	<author>pvera</author>
	<datestamp>1262797980000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>I can confidently tell you this after two decades of programming: learn as much math as you can possibly handle. The more the merrier. Algebra, calculus, differential equations, numerical analysis, the works.</p><p>Of all of courses I took for my bachelors, the one I remember the most vividly, that was both fun and hard as hell, was numerical analysis because it was the first time after 2+ years of being miserable with my calculus courses that I took a math course with immediate, real world application.</p><p>If you can also get some logic for programmers, even better. My school's philosophy department had logic courses aimed specifically at engineering majors instead of forcing us to take the general (what we called poets') version.</p><p>It is knowledge that is general and very portable, you can apply it to almost everything that you will ever do as a programmer. You simply can't go wrong.</p></htmltext>
<tokenext>I can confidently tell you this after two decades of programming : learn as much math as you can possibly handle .
The more the merrier .
Algebra , calculus , differential equations , numerical analysis , the works.Of all of courses I took for my bachelors , the one I remember the most vividly , that was both fun and hard as hell , was numerical analysis because it was the first time after 2 + years of being miserable with my calculus courses that I took a math course with immediate , real world application.If you can also get some logic for programmers , even better .
My school 's philosophy department had logic courses aimed specifically at engineering majors instead of forcing us to take the general ( what we called poets ' ) version.It is knowledge that is general and very portable , you can apply it to almost everything that you will ever do as a programmer .
You simply ca n't go wrong .</tokentext>
<sentencetext>I can confidently tell you this after two decades of programming: learn as much math as you can possibly handle.
The more the merrier.
Algebra, calculus, differential equations, numerical analysis, the works.Of all of courses I took for my bachelors, the one I remember the most vividly, that was both fun and hard as hell, was numerical analysis because it was the first time after 2+ years of being miserable with my calculus courses that I took a math course with immediate, real world application.If you can also get some logic for programmers, even better.
My school's philosophy department had logic courses aimed specifically at engineering majors instead of forcing us to take the general (what we called poets') version.It is knowledge that is general and very portable, you can apply it to almost everything that you will ever do as a programmer.
You simply can't go wrong.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671920</id>
	<title>Re:Agebra...</title>
	<author>imbaczek</author>
	<datestamp>1262802720000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>that's completely, totally, absolutely, 100\% right. go for discrete maths, it helps in every kind of programming you may end up in.</htmltext>
<tokenext>that 's completely , totally , absolutely , 100 \ % right .
go for discrete maths , it helps in every kind of programming you may end up in .</tokentext>
<sentencetext>that's completely, totally, absolutely, 100\% right.
go for discrete maths, it helps in every kind of programming you may end up in.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670136</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30681864</id>
	<title>Re:Physicists?</title>
	<author>Anonymous</author>
	<datestamp>1262877000000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Yeah, just look at the code produced by Matlab users<nobr> <wbr></nobr>:)</p><p>If your heading to the embedded arena don't you just need and,or,and not?</p><p>Derek</p></htmltext>
<tokenext>Yeah , just look at the code produced by Matlab users : ) If your heading to the embedded arena do n't you just need and,or,and not ? Derek</tokentext>
<sentencetext>Yeah, just look at the code produced by Matlab users :)If your heading to the embedded arena don't you just need and,or,and not?Derek</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671092</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672326</id>
	<title>Captain Obvious</title>
	<author>Anonymous</author>
	<datestamp>1262804220000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>I'd start with "Basic" math, to be sure.</p></htmltext>
<tokenext>I 'd start with " Basic " math , to be sure .</tokentext>
<sentencetext>I'd start with "Basic" math, to be sure.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671350</id>
	<title>Definitely discrete structures, maybe the selected</title>
	<author>MobyDisk</author>
	<datestamp>1262800440000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>In every school I went to, discrete structures is a CS requirement.  Don't graduate with out it.  But programming is about solving problems, so the question you need to ask is "what kinds of problems do I want to solve?"  Then, pick a math or science that matches that.</p><p>If you want to use programming to solve physics problems, than the "Selected math chapters" sounds useful.  The vectors and euclidean space sounds great for video games or robotics.</p><p>But let me ask this: if math is not your thing, would IT be a better major?  Computer science is a science, and science is math.  In the past, computer science was programming, but now it is far more than that.  Many CS students approach the upper-level CS classes (algorithms, finite automata, etc.) and find that they really wanted to administer a network, write Python code, and make web sites.  CS may not be the best place for that.</p></htmltext>
<tokenext>In every school I went to , discrete structures is a CS requirement .
Do n't graduate with out it .
But programming is about solving problems , so the question you need to ask is " what kinds of problems do I want to solve ?
" Then , pick a math or science that matches that.If you want to use programming to solve physics problems , than the " Selected math chapters " sounds useful .
The vectors and euclidean space sounds great for video games or robotics.But let me ask this : if math is not your thing , would IT be a better major ?
Computer science is a science , and science is math .
In the past , computer science was programming , but now it is far more than that .
Many CS students approach the upper-level CS classes ( algorithms , finite automata , etc .
) and find that they really wanted to administer a network , write Python code , and make web sites .
CS may not be the best place for that .</tokentext>
<sentencetext>In every school I went to, discrete structures is a CS requirement.
Don't graduate with out it.
But programming is about solving problems, so the question you need to ask is "what kinds of problems do I want to solve?
"  Then, pick a math or science that matches that.If you want to use programming to solve physics problems, than the "Selected math chapters" sounds useful.
The vectors and euclidean space sounds great for video games or robotics.But let me ask this: if math is not your thing, would IT be a better major?
Computer science is a science, and science is math.
In the past, computer science was programming, but now it is far more than that.
Many CS students approach the upper-level CS classes (algorithms, finite automata, etc.
) and find that they really wanted to administer a network, write Python code, and make web sites.
CS may not be the best place for that.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30676974</id>
	<title>Re:Physicists?</title>
	<author>geezer nerd</author>
	<datestamp>1262782740000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>Computers were first used to solve heavy-duty computational problems which arose from the mathematics of ballistics and nuclear physics and such. The people who accomplished the work were those who madly wanted the *answers* to their problems. Pretty much everything I know about computing I taught myself while in graduate school studying quantum chemistry. My graduate dissertation depended entirely on presenting and analyzing a series of computed numbers, each of which required ~8 hours of solid computation. I had to learn about computing and programming because my results depended on it! In particular, I was interested in how to make the computing go faster -- and for that, some mathematics played a big role, particularly the theory of symmetrical groups (but that was more about the physics, not the computing). Subsequently I went on to a 38-year career in mainly software design and development. <br><br>

As I recall, one of the great gods of computing in the 60s &amp; 70s was F J Corbato, of Multics fame, who was first a quantum chemist. There were others in that vein, notably from U of Illinois. At my own alma mater, U Texas Austin, the first computer on campus was brought in by the quantum chemist professor (my advisor) in his younger days.</htmltext>
<tokenext>Computers were first used to solve heavy-duty computational problems which arose from the mathematics of ballistics and nuclear physics and such .
The people who accomplished the work were those who madly wanted the * answers * to their problems .
Pretty much everything I know about computing I taught myself while in graduate school studying quantum chemistry .
My graduate dissertation depended entirely on presenting and analyzing a series of computed numbers , each of which required ~ 8 hours of solid computation .
I had to learn about computing and programming because my results depended on it !
In particular , I was interested in how to make the computing go faster -- and for that , some mathematics played a big role , particularly the theory of symmetrical groups ( but that was more about the physics , not the computing ) .
Subsequently I went on to a 38-year career in mainly software design and development .
As I recall , one of the great gods of computing in the 60s &amp; 70s was F J Corbato , of Multics fame , who was first a quantum chemist .
There were others in that vein , notably from U of Illinois .
At my own alma mater , U Texas Austin , the first computer on campus was brought in by the quantum chemist professor ( my advisor ) in his younger days .</tokentext>
<sentencetext>Computers were first used to solve heavy-duty computational problems which arose from the mathematics of ballistics and nuclear physics and such.
The people who accomplished the work were those who madly wanted the *answers* to their problems.
Pretty much everything I know about computing I taught myself while in graduate school studying quantum chemistry.
My graduate dissertation depended entirely on presenting and analyzing a series of computed numbers, each of which required ~8 hours of solid computation.
I had to learn about computing and programming because my results depended on it!
In particular, I was interested in how to make the computing go faster -- and for that, some mathematics played a big role, particularly the theory of symmetrical groups (but that was more about the physics, not the computing).
Subsequently I went on to a 38-year career in mainly software design and development.
As I recall, one of the great gods of computing in the 60s &amp; 70s was F J Corbato, of Multics fame, who was first a quantum chemist.
There were others in that vein, notably from U of Illinois.
At my own alma mater, U Texas Austin, the first computer on campus was brought in by the quantum chemist professor (my advisor) in his younger days.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669802</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671074</id>
	<title>Discrete + Statisitcs</title>
	<author>garytencents</author>
	<datestamp>1262799360000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>Discrete is so useful for DB work and logic of programming flow but what I missed most and had to teach myself was statistics and finance. It's hard when you are in a meeting with a bunch of finance guys who couldn't lick your boots in a diff calculus class but think you're a moron for not being familiar with variance or amortization.</htmltext>
<tokenext>Discrete is so useful for DB work and logic of programming flow but what I missed most and had to teach myself was statistics and finance .
It 's hard when you are in a meeting with a bunch of finance guys who could n't lick your boots in a diff calculus class but think you 're a moron for not being familiar with variance or amortization .</tokentext>
<sentencetext>Discrete is so useful for DB work and logic of programming flow but what I missed most and had to teach myself was statistics and finance.
It's hard when you are in a meeting with a bunch of finance guys who couldn't lick your boots in a diff calculus class but think you're a moron for not being familiar with variance or amortization.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670140</id>
	<title>Discrete</title>
	<author>jacksinn</author>
	<datestamp>1262796060000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>I had to take a symbolic logic and set theory class in undergrad that had a book written by our professor. Though initially tough it has proved invaluable to my thinking patterns and knowledge of computer science.</htmltext>
<tokenext>I had to take a symbolic logic and set theory class in undergrad that had a book written by our professor .
Though initially tough it has proved invaluable to my thinking patterns and knowledge of computer science .</tokentext>
<sentencetext>I had to take a symbolic logic and set theory class in undergrad that had a book written by our professor.
Though initially tough it has proved invaluable to my thinking patterns and knowledge of computer science.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671702</id>
	<title>Matrix Logic</title>
	<author>Darth Cider</author>
	<datestamp>1262801880000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Do yourself a favor and check out the Matrix Logic books by August Stern. I don't understand why the simple concept of logic as a vector process (a matrix process) isn't better known. I regret even mentioning the words vector and matrix, lest they put people off of understanding how simple the idea is. Conceptually deep, though.</p><p>Matrix Logic will completely reshape your head. I hope you truly want what you asked for.</p></htmltext>
<tokenext>Do yourself a favor and check out the Matrix Logic books by August Stern .
I do n't understand why the simple concept of logic as a vector process ( a matrix process ) is n't better known .
I regret even mentioning the words vector and matrix , lest they put people off of understanding how simple the idea is .
Conceptually deep , though.Matrix Logic will completely reshape your head .
I hope you truly want what you asked for .</tokentext>
<sentencetext>Do yourself a favor and check out the Matrix Logic books by August Stern.
I don't understand why the simple concept of logic as a vector process (a matrix process) isn't better known.
I regret even mentioning the words vector and matrix, lest they put people off of understanding how simple the idea is.
Conceptually deep, though.Matrix Logic will completely reshape your head.
I hope you truly want what you asked for.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674682</id>
	<title>Re:Depends on the Problem</title>
	<author>khallow</author>
	<datestamp>1262771400000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p><div class="quote"><p>Calculus is overrated for anyone not going into Physics or Engineering. I wish schools would put more emphasis on statistics instead, since that's useful for anyone who picks up a news report and sees that there's a 2\% spread of support for a pair of political candidates.</p></div><p>Calculus is also necessary for anyone picking up statistics. You can get by without it for basic probability and combinatorics. But when you get to statistics proper, things like distributions, expected values, generating functions, etc. Those things require calculus.</p></div>
	</htmltext>
<tokenext>Calculus is overrated for anyone not going into Physics or Engineering .
I wish schools would put more emphasis on statistics instead , since that 's useful for anyone who picks up a news report and sees that there 's a 2 \ % spread of support for a pair of political candidates.Calculus is also necessary for anyone picking up statistics .
You can get by without it for basic probability and combinatorics .
But when you get to statistics proper , things like distributions , expected values , generating functions , etc .
Those things require calculus .</tokentext>
<sentencetext>Calculus is overrated for anyone not going into Physics or Engineering.
I wish schools would put more emphasis on statistics instead, since that's useful for anyone who picks up a news report and sees that there's a 2\% spread of support for a pair of political candidates.Calculus is also necessary for anyone picking up statistics.
You can get by without it for basic probability and combinatorics.
But when you get to statistics proper, things like distributions, expected values, generating functions, etc.
Those things require calculus.
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670188</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670650</id>
	<title>Take Both</title>
	<author>Anonymous</author>
	<datestamp>1262797800000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>At my school, both math courses are required. Graph theory is becoming ever more important these days, especially as the web (and more specifically, social networking) grows. The first course helps form the foundation for a solid understanding of algorithms. Sure, you don't need it to be a solid programmer. But many, many programmers just *apply* algorithms (such as Dijkstras) without actually understanding the theory behind it, which is important to be a top programmer. The reason the best programmers have a solid math background isn't because they're good at math, but because they have that extra level of understanding of the theory.</p><p>The second course is also crucial in order to work in an area that is graphics dependent, 2D or 3D. Again, it's not *absolutely* necessary (I did a fair bit of work in real-time 3D before taking any formal linear algebra courses), but the understanding it provides will really help improve efficiency.</p><p>The question you need to ask yourself is, do you want to be a developer, or a code monkey? One can adapt, extend, and create. The other implements. Not to say one is better than the other, but both require different skill sets and a different level of theoretical and practical knowledge.</p><p>As an aside, I currently work as an intern for the BC Cancer Research Center, where I'm helping to develop imaging techniques for automated breast cancer screening. I use math that both courses cover on a daily basis.</p><p>Best of luck!</p><p>Ps. Take a stats course too<nobr> <wbr></nobr>;)</p></htmltext>
<tokenext>At my school , both math courses are required .
Graph theory is becoming ever more important these days , especially as the web ( and more specifically , social networking ) grows .
The first course helps form the foundation for a solid understanding of algorithms .
Sure , you do n't need it to be a solid programmer .
But many , many programmers just * apply * algorithms ( such as Dijkstras ) without actually understanding the theory behind it , which is important to be a top programmer .
The reason the best programmers have a solid math background is n't because they 're good at math , but because they have that extra level of understanding of the theory.The second course is also crucial in order to work in an area that is graphics dependent , 2D or 3D .
Again , it 's not * absolutely * necessary ( I did a fair bit of work in real-time 3D before taking any formal linear algebra courses ) , but the understanding it provides will really help improve efficiency.The question you need to ask yourself is , do you want to be a developer , or a code monkey ?
One can adapt , extend , and create .
The other implements .
Not to say one is better than the other , but both require different skill sets and a different level of theoretical and practical knowledge.As an aside , I currently work as an intern for the BC Cancer Research Center , where I 'm helping to develop imaging techniques for automated breast cancer screening .
I use math that both courses cover on a daily basis.Best of luck ! Ps .
Take a stats course too ; )</tokentext>
<sentencetext>At my school, both math courses are required.
Graph theory is becoming ever more important these days, especially as the web (and more specifically, social networking) grows.
The first course helps form the foundation for a solid understanding of algorithms.
Sure, you don't need it to be a solid programmer.
But many, many programmers just *apply* algorithms (such as Dijkstras) without actually understanding the theory behind it, which is important to be a top programmer.
The reason the best programmers have a solid math background isn't because they're good at math, but because they have that extra level of understanding of the theory.The second course is also crucial in order to work in an area that is graphics dependent, 2D or 3D.
Again, it's not *absolutely* necessary (I did a fair bit of work in real-time 3D before taking any formal linear algebra courses), but the understanding it provides will really help improve efficiency.The question you need to ask yourself is, do you want to be a developer, or a code monkey?
One can adapt, extend, and create.
The other implements.
Not to say one is better than the other, but both require different skill sets and a different level of theoretical and practical knowledge.As an aside, I currently work as an intern for the BC Cancer Research Center, where I'm helping to develop imaging techniques for automated breast cancer screening.
I use math that both courses cover on a daily basis.Best of luck!Ps.
Take a stats course too ;)</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30678166</id>
	<title>Re:Two kinds of math</title>
	<author>Anonymous</author>
	<datestamp>1262791320000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p><div class="quote"><p>This This is a gross simplification, but there are sort of two kinds of math. There's logic math, and there's numbers math.</p></div><p>As a mathematician and programmer, I just want to throw my 2c in here and outline some the various types of math that are out there, and how they relate to programming</p><p>Firstly, and most nebulously, there's graph theory. Graph theory is really useful for manipulating problems when you have a set of object and various "connections" or "relations" between them. You might want to schedule workers into shifts, figure out how many routers your network needs to not collapse, etc. These are graph theory problems.</p><p>Next there's Vector Calculus, Differential Equations and Dynamical Systems. If your code ever interacts with or simulates any physical process you will *need* to have a good understanding of DEs.</p><p>Then there's Linear Algebra. This is the foundation of computer generated graphics and you will be very, very lost if you try to do any graphics programming without this. If you've ever seen things like a 'matrix' or 'vector', that's linear algebra.</p><p>Calculus is relevant to programming in two different ways. In more advanced studies, calculus develops such tools as the Fourier series, which is what mp3s are based on, and it also gives us the study of the limit which is what we use when we compare the big-O runtimes of different algorithms.</p><p>Group Theory, Rings and Fields, and Elementary Number Theory are the foundation of coding/checksumming, (lossless) compression and encryption, as well as a variety of miscellaneous algorithms. It's also the foundation of a lot of bar tricks like recalling the day of week given a certain date, or those calculation tricks where you get someone to pick a number, perform some arithmetic operations, and then "predict" the answer they get. Good fun to be had.</p><p>Advanced Set Theory studies might seem tempting, but unless you really want to know how to construct the integers from a series of base axioms it's really not that much use for programming. You'll want to steer clear of this and concentrate more on applications of set theory, which are the foundations of database operations.</p><p>Numerical Methods is vital if you ever get anywhere near a floating point number of any significance. The study of this material will provide you with the tools you need to not only find approximations to solutions to troublesome equations very quickly, but will also give you the tools needed to analyse and track the errors in those approximations.</p><p>Combinatorics is, literally, the study of counting things. If you want to know how many different passwords you can make with 16 characters, 3 of which are uppercase letters, and 2 of which are non-alphanumeric symbols, such that the same character is never repeated twice in a row, combinatorics will give you the answer.</p><p>Finally, while we're at it, it's important not to overlook Statistics. If you ever need to measure something such that you get a different reading each time, Statistics will separate the signal from the noise. If you ever need to automatically group and categorize something, Statistics is there for you.</p><p>There's a whole world out there to explore in math, and it's not nearly as frightening as it first appears, looking in from the outside. Challenge yourself, and you will be rewarded.</p></div>
	</htmltext>
<tokenext>This This is a gross simplification , but there are sort of two kinds of math .
There 's logic math , and there 's numbers math.As a mathematician and programmer , I just want to throw my 2c in here and outline some the various types of math that are out there , and how they relate to programmingFirstly , and most nebulously , there 's graph theory .
Graph theory is really useful for manipulating problems when you have a set of object and various " connections " or " relations " between them .
You might want to schedule workers into shifts , figure out how many routers your network needs to not collapse , etc .
These are graph theory problems.Next there 's Vector Calculus , Differential Equations and Dynamical Systems .
If your code ever interacts with or simulates any physical process you will * need * to have a good understanding of DEs.Then there 's Linear Algebra .
This is the foundation of computer generated graphics and you will be very , very lost if you try to do any graphics programming without this .
If you 've ever seen things like a 'matrix ' or 'vector ' , that 's linear algebra.Calculus is relevant to programming in two different ways .
In more advanced studies , calculus develops such tools as the Fourier series , which is what mp3s are based on , and it also gives us the study of the limit which is what we use when we compare the big-O runtimes of different algorithms.Group Theory , Rings and Fields , and Elementary Number Theory are the foundation of coding/checksumming , ( lossless ) compression and encryption , as well as a variety of miscellaneous algorithms .
It 's also the foundation of a lot of bar tricks like recalling the day of week given a certain date , or those calculation tricks where you get someone to pick a number , perform some arithmetic operations , and then " predict " the answer they get .
Good fun to be had.Advanced Set Theory studies might seem tempting , but unless you really want to know how to construct the integers from a series of base axioms it 's really not that much use for programming .
You 'll want to steer clear of this and concentrate more on applications of set theory , which are the foundations of database operations.Numerical Methods is vital if you ever get anywhere near a floating point number of any significance .
The study of this material will provide you with the tools you need to not only find approximations to solutions to troublesome equations very quickly , but will also give you the tools needed to analyse and track the errors in those approximations.Combinatorics is , literally , the study of counting things .
If you want to know how many different passwords you can make with 16 characters , 3 of which are uppercase letters , and 2 of which are non-alphanumeric symbols , such that the same character is never repeated twice in a row , combinatorics will give you the answer.Finally , while we 're at it , it 's important not to overlook Statistics .
If you ever need to measure something such that you get a different reading each time , Statistics will separate the signal from the noise .
If you ever need to automatically group and categorize something , Statistics is there for you.There 's a whole world out there to explore in math , and it 's not nearly as frightening as it first appears , looking in from the outside .
Challenge yourself , and you will be rewarded .</tokentext>
<sentencetext>This This is a gross simplification, but there are sort of two kinds of math.
There's logic math, and there's numbers math.As a mathematician and programmer, I just want to throw my 2c in here and outline some the various types of math that are out there, and how they relate to programmingFirstly, and most nebulously, there's graph theory.
Graph theory is really useful for manipulating problems when you have a set of object and various "connections" or "relations" between them.
You might want to schedule workers into shifts, figure out how many routers your network needs to not collapse, etc.
These are graph theory problems.Next there's Vector Calculus, Differential Equations and Dynamical Systems.
If your code ever interacts with or simulates any physical process you will *need* to have a good understanding of DEs.Then there's Linear Algebra.
This is the foundation of computer generated graphics and you will be very, very lost if you try to do any graphics programming without this.
If you've ever seen things like a 'matrix' or 'vector', that's linear algebra.Calculus is relevant to programming in two different ways.
In more advanced studies, calculus develops such tools as the Fourier series, which is what mp3s are based on, and it also gives us the study of the limit which is what we use when we compare the big-O runtimes of different algorithms.Group Theory, Rings and Fields, and Elementary Number Theory are the foundation of coding/checksumming, (lossless) compression and encryption, as well as a variety of miscellaneous algorithms.
It's also the foundation of a lot of bar tricks like recalling the day of week given a certain date, or those calculation tricks where you get someone to pick a number, perform some arithmetic operations, and then "predict" the answer they get.
Good fun to be had.Advanced Set Theory studies might seem tempting, but unless you really want to know how to construct the integers from a series of base axioms it's really not that much use for programming.
You'll want to steer clear of this and concentrate more on applications of set theory, which are the foundations of database operations.Numerical Methods is vital if you ever get anywhere near a floating point number of any significance.
The study of this material will provide you with the tools you need to not only find approximations to solutions to troublesome equations very quickly, but will also give you the tools needed to analyse and track the errors in those approximations.Combinatorics is, literally, the study of counting things.
If you want to know how many different passwords you can make with 16 characters, 3 of which are uppercase letters, and 2 of which are non-alphanumeric symbols, such that the same character is never repeated twice in a row, combinatorics will give you the answer.Finally, while we're at it, it's important not to overlook Statistics.
If you ever need to measure something such that you get a different reading each time, Statistics will separate the signal from the noise.
If you ever need to automatically group and categorize something, Statistics is there for you.There's a whole world out there to explore in math, and it's not nearly as frightening as it first appears, looking in from the outside.
Challenge yourself, and you will be rewarded.
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672970</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671726</id>
	<title>Whichever makes you prove things</title>
	<author>Penguin Programmer</author>
	<datestamp>1262802000000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>As a grad student in CS who has also worked in industry, I've never directly used any but the most basic of math (matrix multiplication etc.).  The reason math is important for programmers is that it teaches you to think.  It doesn't really matter what kind of math you take - as a programmer you're unlikely to ever use it directly, and even if you do you really only need to know the practical aspects.  What's important is that you take something that makes you prove things and think analytically.  Those ways of thinking are what is important for all computer scientists and programmers.</p></htmltext>
<tokenext>As a grad student in CS who has also worked in industry , I 've never directly used any but the most basic of math ( matrix multiplication etc. ) .
The reason math is important for programmers is that it teaches you to think .
It does n't really matter what kind of math you take - as a programmer you 're unlikely to ever use it directly , and even if you do you really only need to know the practical aspects .
What 's important is that you take something that makes you prove things and think analytically .
Those ways of thinking are what is important for all computer scientists and programmers .</tokentext>
<sentencetext>As a grad student in CS who has also worked in industry, I've never directly used any but the most basic of math (matrix multiplication etc.).
The reason math is important for programmers is that it teaches you to think.
It doesn't really matter what kind of math you take - as a programmer you're unlikely to ever use it directly, and even if you do you really only need to know the practical aspects.
What's important is that you take something that makes you prove things and think analytically.
Those ways of thinking are what is important for all computer scientists and programmers.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671038</id>
	<title>My experience</title>
	<author>FalstaffsMind</author>
	<datestamp>1262799240000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>is that if you aren't involved in low level programming requiring true applied mathematics, that you can almost always google whatever math algorithm you might need.  Today's mapping applications often require some sophisticated geospatial mathematics, but you can almost always google up what ever you need.</htmltext>
<tokenext>is that if you are n't involved in low level programming requiring true applied mathematics , that you can almost always google whatever math algorithm you might need .
Today 's mapping applications often require some sophisticated geospatial mathematics , but you can almost always google up what ever you need .</tokentext>
<sentencetext>is that if you aren't involved in low level programming requiring true applied mathematics, that you can almost always google whatever math algorithm you might need.
Today's mapping applications often require some sophisticated geospatial mathematics, but you can almost always google up what ever you need.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674032</id>
	<title>Amen Brother</title>
	<author>tobiah</author>
	<datestamp>1262768580000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>There's usually a 3rd-semester "Intro to Advanced Mathematics" class offered by the Math dept., that's the one to take.</p><p>A proof should satisfy the conditions of "necessary and complete" proof of the theorem in question. i.e. nothing extra, nothing missing. Applying this line of thinking to programming makes for lean, efficient code.</p></htmltext>
<tokenext>There 's usually a 3rd-semester " Intro to Advanced Mathematics " class offered by the Math dept. , that 's the one to take.A proof should satisfy the conditions of " necessary and complete " proof of the theorem in question .
i.e. nothing extra , nothing missing .
Applying this line of thinking to programming makes for lean , efficient code .</tokentext>
<sentencetext>There's usually a 3rd-semester "Intro to Advanced Mathematics" class offered by the Math dept., that's the one to take.A proof should satisfy the conditions of "necessary and complete" proof of the theorem in question.
i.e. nothing extra, nothing missing.
Applying this line of thinking to programming makes for lean, efficient code.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670136</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671198</id>
	<title>Computer Science is Math</title>
	<author>Anonymous</author>
	<datestamp>1262799960000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Math isn't just used in computer science. Computer science <em>is</em> math. A computer scientist <em>is</em> a mathematician. Your first choice is basically a pure computer science course.</p><p>The problem is many people believe that computer science = programming. That's like saying physics = smashing things together. True, you'll often do the second part if you're studying the first, but that doesn't make it the core purpose of that field of study. Now because most people want to do programing when they go into a computer science program, extra emphasis is usually placed on the practical programming aspects. But a person could actually study computer science without ever typing a line of code, and theoretically oriented computer scientists often do huge amounts of work without a computer.</p><p>This is why a lot of people try to make a distinction between computer science, the pure mathematical aspects, from software engineering, the practical application aspects. Most people probably want to study software engineering, not computer science. They want to be like mechanical engineers, not like physicists.</p><p>Maybe understanding this distinction will help you make your choice. If you're really interested in the mathematical field of computer science, go for the first class. If you're interested in the practical application of software engineering, go for the second. Though as others suggest, take both if you can. Also keep in mind that computer science is a different kind of math from things like calculus and differential equations. If you're struggling with classical math classes, you might still be able to do, maybe even enjoy, computer science math classes.</p></htmltext>
<tokenext>Math is n't just used in computer science .
Computer science is math .
A computer scientist is a mathematician .
Your first choice is basically a pure computer science course.The problem is many people believe that computer science = programming .
That 's like saying physics = smashing things together .
True , you 'll often do the second part if you 're studying the first , but that does n't make it the core purpose of that field of study .
Now because most people want to do programing when they go into a computer science program , extra emphasis is usually placed on the practical programming aspects .
But a person could actually study computer science without ever typing a line of code , and theoretically oriented computer scientists often do huge amounts of work without a computer.This is why a lot of people try to make a distinction between computer science , the pure mathematical aspects , from software engineering , the practical application aspects .
Most people probably want to study software engineering , not computer science .
They want to be like mechanical engineers , not like physicists.Maybe understanding this distinction will help you make your choice .
If you 're really interested in the mathematical field of computer science , go for the first class .
If you 're interested in the practical application of software engineering , go for the second .
Though as others suggest , take both if you can .
Also keep in mind that computer science is a different kind of math from things like calculus and differential equations .
If you 're struggling with classical math classes , you might still be able to do , maybe even enjoy , computer science math classes .</tokentext>
<sentencetext>Math isn't just used in computer science.
Computer science is math.
A computer scientist is a mathematician.
Your first choice is basically a pure computer science course.The problem is many people believe that computer science = programming.
That's like saying physics = smashing things together.
True, you'll often do the second part if you're studying the first, but that doesn't make it the core purpose of that field of study.
Now because most people want to do programing when they go into a computer science program, extra emphasis is usually placed on the practical programming aspects.
But a person could actually study computer science without ever typing a line of code, and theoretically oriented computer scientists often do huge amounts of work without a computer.This is why a lot of people try to make a distinction between computer science, the pure mathematical aspects, from software engineering, the practical application aspects.
Most people probably want to study software engineering, not computer science.
They want to be like mechanical engineers, not like physicists.Maybe understanding this distinction will help you make your choice.
If you're really interested in the mathematical field of computer science, go for the first class.
If you're interested in the practical application of software engineering, go for the second.
Though as others suggest, take both if you can.
Also keep in mind that computer science is a different kind of math from things like calculus and differential equations.
If you're struggling with classical math classes, you might still be able to do, maybe even enjoy, computer science math classes.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670348</id>
	<title>definitely discrete</title>
	<author>Anonymous</author>
	<datestamp>1262796720000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>I use concepts from my discrete class on a daily basis, and have at my game software job, my enterprise software job, my cable tv software job, and my gps software job.</p><p>I've also taken the other kind of class, but I've never used:<br>math analysis; euclidean space, differentials in 15 years of work.</p><p>I have used vectors on occasion, but that is really not hard to pick up.</p></htmltext>
<tokenext>I use concepts from my discrete class on a daily basis , and have at my game software job , my enterprise software job , my cable tv software job , and my gps software job.I 've also taken the other kind of class , but I 've never used : math analysis ; euclidean space , differentials in 15 years of work.I have used vectors on occasion , but that is really not hard to pick up .</tokentext>
<sentencetext>I use concepts from my discrete class on a daily basis, and have at my game software job, my enterprise software job, my cable tv software job, and my gps software job.I've also taken the other kind of class, but I've never used:math analysis; euclidean space, differentials in 15 years of work.I have used vectors on occasion, but that is really not hard to pick up.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669830</id>
	<title>Take Both</title>
	<author>Fantom42</author>
	<datestamp>1262794980000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>2</modscore>
	<htmltext><p>Take Both.  Make time for it.</p></htmltext>
<tokenext>Take Both .
Make time for it .</tokentext>
<sentencetext>Take Both.
Make time for it.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671404</id>
	<title>Discreet</title>
	<author>wonderboss</author>
	<datestamp>1262800680000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>Your description of 'Discreet structures with graph theory' sounds like things we use
every day.  'Selected math chapters'  sounds more useful for numerical analysis programming.
If you struggle with math, numerical analysis is probably not the field for you.</htmltext>
<tokenext>Your description of 'Discreet structures with graph theory ' sounds like things we use every day .
'Selected math chapters ' sounds more useful for numerical analysis programming .
If you struggle with math , numerical analysis is probably not the field for you .</tokentext>
<sentencetext>Your description of 'Discreet structures with graph theory' sounds like things we use
every day.
'Selected math chapters'  sounds more useful for numerical analysis programming.
If you struggle with math, numerical analysis is probably not the field for you.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670118</id>
	<title>Depending on what kind of programmer</title>
	<author>Anonymous</author>
	<datestamp>1262795880000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>It all depends on what kind of programmer you wish to become. All coders require basic algebra... isolate variables, some basic math skills. Obviously, boolean math is important. Some very basic math functions understanding is also necessary.</p><p>Then, 3D requires proper matrix knowledge, financial requires solving knowledge, sounds and music requires linear algebra, and so on.</p><p>I cannot say one is better than the other, since I don't know what makes your heart beat and where you want to go later on. If you are unsure, I'd go with something that basically covers the widest range of topics, while not being an expert on any of these, you'll be able to pick up what you're missing as you go in your programming career.</p><p>For example, if you wish to do 3D, you'll do tesselation algorithms once and then you'll know how it works, but beforehand, you only need to know the technique exists. Then, if you are expected to better up what you did before, you'll be able to dwelve in arcane books and publications, and improve on the algorithm.</p></htmltext>
<tokenext>It all depends on what kind of programmer you wish to become .
All coders require basic algebra... isolate variables , some basic math skills .
Obviously , boolean math is important .
Some very basic math functions understanding is also necessary.Then , 3D requires proper matrix knowledge , financial requires solving knowledge , sounds and music requires linear algebra , and so on.I can not say one is better than the other , since I do n't know what makes your heart beat and where you want to go later on .
If you are unsure , I 'd go with something that basically covers the widest range of topics , while not being an expert on any of these , you 'll be able to pick up what you 're missing as you go in your programming career.For example , if you wish to do 3D , you 'll do tesselation algorithms once and then you 'll know how it works , but beforehand , you only need to know the technique exists .
Then , if you are expected to better up what you did before , you 'll be able to dwelve in arcane books and publications , and improve on the algorithm .</tokentext>
<sentencetext>It all depends on what kind of programmer you wish to become.
All coders require basic algebra... isolate variables, some basic math skills.
Obviously, boolean math is important.
Some very basic math functions understanding is also necessary.Then, 3D requires proper matrix knowledge, financial requires solving knowledge, sounds and music requires linear algebra, and so on.I cannot say one is better than the other, since I don't know what makes your heart beat and where you want to go later on.
If you are unsure, I'd go with something that basically covers the widest range of topics, while not being an expert on any of these, you'll be able to pick up what you're missing as you go in your programming career.For example, if you wish to do 3D, you'll do tesselation algorithms once and then you'll know how it works, but beforehand, you only need to know the technique exists.
Then, if you are expected to better up what you did before, you'll be able to dwelve in arcane books and publications, and improve on the algorithm.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30673656</id>
	<title>Re:Agebra...</title>
	<author>hitnrunrambler</author>
	<datestamp>1262809980000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p><div class="quote"><p>Proofs, proofs, then more proofs.</p><p>Programming is all about isolating the smallest part of a problem and simplifying it out. Doing proofs is effectively the basis for programming.</p><p>Understanding trig and calc is handy for specific projects, but for every single program we write we have to be able to see the problem, to isolate components of the problem, and to simplify them.</p><p>-Rick</p></div><p>I have to agree with the conceptual crossovers between programming and algebra. In my personal experience I didn't do so well with my high school Algebra 1 class (looking back I can see it was the teaching method being used.... which is irrelevant but I want to say it<nobr> <wbr></nobr>:-).   Before my next significant algebra class came along I  began to learn programming, and suddenly it made perfect sense.<br>Programming concepts I had learned made the algebra understandable, and I'm sure if I had gained a strong math foundation first it would have benefited my programming education in the same way.</p><p>p.s.    What's an AgeBra? Is that like the "bro" from Seinfeld?</p></div>
	</htmltext>
<tokenext>Proofs , proofs , then more proofs.Programming is all about isolating the smallest part of a problem and simplifying it out .
Doing proofs is effectively the basis for programming.Understanding trig and calc is handy for specific projects , but for every single program we write we have to be able to see the problem , to isolate components of the problem , and to simplify them.-RickI have to agree with the conceptual crossovers between programming and algebra .
In my personal experience I did n't do so well with my high school Algebra 1 class ( looking back I can see it was the teaching method being used.... which is irrelevant but I want to say it : - ) .
Before my next significant algebra class came along I began to learn programming , and suddenly it made perfect sense.Programming concepts I had learned made the algebra understandable , and I 'm sure if I had gained a strong math foundation first it would have benefited my programming education in the same way.p.s .
What 's an AgeBra ?
Is that like the " bro " from Seinfeld ?</tokentext>
<sentencetext>Proofs, proofs, then more proofs.Programming is all about isolating the smallest part of a problem and simplifying it out.
Doing proofs is effectively the basis for programming.Understanding trig and calc is handy for specific projects, but for every single program we write we have to be able to see the problem, to isolate components of the problem, and to simplify them.-RickI have to agree with the conceptual crossovers between programming and algebra.
In my personal experience I didn't do so well with my high school Algebra 1 class (looking back I can see it was the teaching method being used.... which is irrelevant but I want to say it :-).
Before my next significant algebra class came along I  began to learn programming, and suddenly it made perfect sense.Programming concepts I had learned made the algebra understandable, and I'm sure if I had gained a strong math foundation first it would have benefited my programming education in the same way.p.s.
What's an AgeBra?
Is that like the "bro" from Seinfeld?
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670136</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670416</id>
	<title>Re:The Second, If Not Both</title>
	<author>Anonymous</author>
	<datestamp>1262797080000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>1</modscore>
	<htmltext><p>I'm far more of a mathematician than a programmer, but it's worth pointing out the following. Even if you want to work in graphics or games and find yourself needing to know how to work with vector calculus in three dimensions, or use quaternions to represent rotations in 3-space, it might be very valuable for you to be comfortable with graph theory. If you glance at some books or papers by Knuth, Dijkstra, etc., you'll notice (perhaps surprisingly) that many of the more important algorithms *of practical use for programmers* were developed and implemented in the language of graph theory. This is not a coincidence: graph theory is simply a nice, loose, abstract language in which to phrase combinatorial (i.e., counting) problems. A computer, fundamentally, is not much more than a very good adding machine, and a lot of the art of programming is recognizing the combinatorial structure of the task you hope to accomplish, perhaps by abstracting it into a graph theory problem, and then solving the resulting combinatorial problem efficiently using an appropriate algorithm. This perspective, I think, argues in facor of the "Discrete math" class rather than the "Vector calculus" class. </p><p>The counterargument is that the harder class will certainly be better training at abstract thought and sound reasoning, both of fundamental importance in programming or any other quantitative science (or any other intellectual endeavor, for that matter, from art history to anthropology).</p></htmltext>
<tokenext>I 'm far more of a mathematician than a programmer , but it 's worth pointing out the following .
Even if you want to work in graphics or games and find yourself needing to know how to work with vector calculus in three dimensions , or use quaternions to represent rotations in 3-space , it might be very valuable for you to be comfortable with graph theory .
If you glance at some books or papers by Knuth , Dijkstra , etc. , you 'll notice ( perhaps surprisingly ) that many of the more important algorithms * of practical use for programmers * were developed and implemented in the language of graph theory .
This is not a coincidence : graph theory is simply a nice , loose , abstract language in which to phrase combinatorial ( i.e. , counting ) problems .
A computer , fundamentally , is not much more than a very good adding machine , and a lot of the art of programming is recognizing the combinatorial structure of the task you hope to accomplish , perhaps by abstracting it into a graph theory problem , and then solving the resulting combinatorial problem efficiently using an appropriate algorithm .
This perspective , I think , argues in facor of the " Discrete math " class rather than the " Vector calculus " class .
The counterargument is that the harder class will certainly be better training at abstract thought and sound reasoning , both of fundamental importance in programming or any other quantitative science ( or any other intellectual endeavor , for that matter , from art history to anthropology ) .</tokentext>
<sentencetext>I'm far more of a mathematician than a programmer, but it's worth pointing out the following.
Even if you want to work in graphics or games and find yourself needing to know how to work with vector calculus in three dimensions, or use quaternions to represent rotations in 3-space, it might be very valuable for you to be comfortable with graph theory.
If you glance at some books or papers by Knuth, Dijkstra, etc., you'll notice (perhaps surprisingly) that many of the more important algorithms *of practical use for programmers* were developed and implemented in the language of graph theory.
This is not a coincidence: graph theory is simply a nice, loose, abstract language in which to phrase combinatorial (i.e., counting) problems.
A computer, fundamentally, is not much more than a very good adding machine, and a lot of the art of programming is recognizing the combinatorial structure of the task you hope to accomplish, perhaps by abstracting it into a graph theory problem, and then solving the resulting combinatorial problem efficiently using an appropriate algorithm.
This perspective, I think, argues in facor of the "Discrete math" class rather than the "Vector calculus" class.
The counterargument is that the harder class will certainly be better training at abstract thought and sound reasoning, both of fundamental importance in programming or any other quantitative science (or any other intellectual endeavor, for that matter, from art history to anthropology).</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30680038</id>
	<title>Re:Does math pay?</title>
	<author>Anonymous</author>
	<datestamp>1262855700000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>I second this.  10 years of web app dev (intranets and public facing sites) for various companies (small and large) currently gives me $90K per year.  I could've gone into management years ago as well to make even more.  But, as usual, there is more job security as the top Indian at your employer vs. being another chief.</p></htmltext>
<tokenext>I second this .
10 years of web app dev ( intranets and public facing sites ) for various companies ( small and large ) currently gives me $ 90K per year .
I could 've gone into management years ago as well to make even more .
But , as usual , there is more job security as the top Indian at your employer vs. being another chief .</tokentext>
<sentencetext>I second this.
10 years of web app dev (intranets and public facing sites) for various companies (small and large) currently gives me $90K per year.
I could've gone into management years ago as well to make even more.
But, as usual, there is more job security as the top Indian at your employer vs. being another chief.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671204</parent>
</comment>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_66</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669802
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671092
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30673320
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_68</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670068
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674208
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_73</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669802
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30676008
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_47</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669840
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670244
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671388
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_50</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669802
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30676974
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_41</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670172
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671056
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_12</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669830
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30675304
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_37</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669802
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30675160
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_40</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670536
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_31</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669802
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30679022
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_9</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670546
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_65</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672000
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_70</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670182
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672382
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_2</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669840
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670244
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670988
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_4</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669802
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671450
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_29</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670136
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30673602
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_57</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669958
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30688082
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_6</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670684
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_60</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670136
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674032
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_34</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670164
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30676100
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_19</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669840
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672112
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_10</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669840
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670244
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671306
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_53</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670548
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_24</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669802
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674648
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_58</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30679294
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_7</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670544
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_1</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669802
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671092
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30681864
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_77</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670188
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674682
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_0</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669840
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670244
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672248
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_54</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670280
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_16</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669802
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672554
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_32</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670598
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_23</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670136
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30690254
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_46</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669974
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671154
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_51</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671378
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_22</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669958
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30690240
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_13</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674094
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_74</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670136
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671920
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_64</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669830
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671862
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_38</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670164
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674004
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_43</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670068
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671498
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30676952
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_71</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670028
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_14</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672970
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30680528
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_45</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670136
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674402
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_28</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669974
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671054
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_21</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669840
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670220
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_44</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674068
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_35</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671108
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_11</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670114
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_69</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669958
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30677322
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_72</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669840
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670244
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30673674
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_63</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669830
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671676
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_59</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670990
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_8</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670164
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671440
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_62</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30675512
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_36</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670190
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671946
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_27</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669802
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671092
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674638
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_30</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672970
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30678166
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_55</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670172
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670724
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_26</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670974
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_17</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670068
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670912
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_78</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670510
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_33</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670284
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_3</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671060
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_56</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669802
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672360
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_5</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670180
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672380
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_61</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671376
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_75</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671204
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30673370
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_18</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670478
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_49</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669966
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671382
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_52</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670978
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_25</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670416
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_48</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670136
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30673656
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_39</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669840
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670250
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_42</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669802
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671092
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30673718
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30681710
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_15</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670000
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30690210
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_76</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670898
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_67</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671204
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30680038
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_10_01_06_141247_20</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669802
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30678380
</commentlist>
</thread>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_01_06_141247.26</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670172
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671056
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670724
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_01_06_141247.24</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670094
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_01_06_141247.31</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670182
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672382
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_01_06_141247.18</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670036
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_01_06_141247.30</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671074
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_01_06_141247.16</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671168
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_01_06_141247.9</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670188
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674682
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_01_06_141247.17</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670348
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_01_06_141247.3</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670180
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672380
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_01_06_141247.15</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670068
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670912
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674208
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671498
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30676952
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_01_06_141247.14</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670038
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_01_06_141247.1</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670140
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_01_06_141247.29</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670130
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_01_06_141247.12</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669966
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671382
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_01_06_141247.2</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669812
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671378
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670416
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674094
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671060
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670598
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670536
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670000
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30690210
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670546
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670978
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674068
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670280
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670898
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670114
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670684
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670974
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671108
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671376
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30675512
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670028
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670990
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670544
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670548
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670510
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670284
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670478
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30679294
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671204
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30680038
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30673370
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672000
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_01_06_141247.27</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670164
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30676100
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674004
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671440
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_01_06_141247.4</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669840
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672112
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670250
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670244
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670988
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671306
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671388
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672248
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30673674
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670220
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_01_06_141247.10</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670136
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674402
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671920
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30673602
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674032
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30673656
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30690254
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_01_06_141247.19</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670086
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_01_06_141247.21</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669958
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30688082
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30690240
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30677322
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_01_06_141247.7</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670190
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671946
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_01_06_141247.28</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669802
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30678380
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671450
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30679022
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30675160
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674648
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671092
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30681864
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674638
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30673320
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30673718
---http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30681710
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672360
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30676974
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30676008
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672554
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_01_06_141247.5</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670382
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_01_06_141247.22</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670710
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_01_06_141247.13</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670368
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_01_06_141247.6</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30672970
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30678166
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30680528
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_01_06_141247.8</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670580
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_01_06_141247.20</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669830
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671862
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30675304
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671676
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_01_06_141247.11</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30673868
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_01_06_141247.25</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30674926
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_01_06_141247.0</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670208
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_01_06_141247.32</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30669974
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671054
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30671154
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation10_01_06_141247.23</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment10_01_06_141247.30670818
</commentlist>
</conversation>
