Slashdot Mirror


CS Profs Debate Role of Math In CS Education

theodp writes "Worried that his love-hate relationship with math might force him to give up the pursuit of computer science, CS student Dean Chen finds comfort from an unlikely source — the postings of CS professors on the SIGSE mailing list. 'I understand that discussing the role of math in CS is one of those religious war type issues,' writes Brad Vander Zanden. 'After 30 years in the field, I still fail to see how calculus and continuous math correlate with one's ability to succeed in many areas of computer science...I have seen many outstanding programmers who struggled with calculus and never really got it.' Dennis Frailey makes a distinction between CS research and applied CS: 'For too long, we have taught computer science as an academic discipline (as though all of our students will go on to get PhDs and then become CS faculty members) even though for most of us, our students are overwhelmingly seeking careers in which they apply computer science.' Frailey adds that part of the problem may be that some CS Profs — math gods that they may be — are ill-equipped to teach CS in a non-mathematical manner: 'Let's be honest about another aspect of the problem — what can the faculty teach? For a variety of reasons, a typical CS faculty consists mainly of individuals who specialize in CS as a discipline, often with strong mathematical backgrounds. How many of them could teach a good course in cloud computing or multi-core systems or software engineering or any of the many other topics that the graduates will find useful when they graduate? Are such courses always relegated to instructors or adjuncts or other non-tenure-track faculty?' So, how does this jibe with Slashdotters' experience?"

583 comments

  1. Calculus? Psh by Anonymous Coward · · Score: 0

    I don't think it's continuous math that is the hard part of CS... http://www.cs.cmu.edu/afs/cs.cmu.edu/academic/class/15251-f07/Site/

  2. Haven't we already seen this by Compaqt · · Score: 0

    on Slashdot?

    Could ./ benefit from some kind of elementary math in some SQL scripts?

    SELECT count(DISTINCT story_url) ?

    --
    I'm not a lawyer, but I play one on the Internet. Blog
    1. Re:Haven't we already seen this by Anonymous Coward · · Score: 1, Insightful

      It's not ./, it's /. you twit.

    2. Re:Haven't we already seen this by Anonymous Coward · · Score: 0

      ../., ?

    3. Re:Haven't we already seen this by Anonymous Coward · · Score: 0

      It's a typo; keep your pants on, jeez.

    4. Re:Haven't we already seen this by Anonymous Coward · · Score: 0

      SELECT count(DISTINCT story_url)

      4

    5. Re:Haven't we already seen this by Tablizer · · Score: 1

      Finding dupe stories would be in interesting test for an AI project. Remember, Slashdot's run on a skeleton staff and probably many have alternate "day" job such that the same person may not have been there when the first story was posted. Do you want slashdot to charge $ so that they can hire dupe checkers?

    6. Re:Haven't we already seen this by davester666 · · Score: 1

      Hell, I think TFS is overly generous presenting the capabilities of some of the profs teaching CS in university. I had one who would read a chapter of the textbook to us during class, then at the end of it, if we had any questions, would write them down and then at the start of the next class, read us the answers to the questions.

      But I was told he could write some great research papers.

      --
      Sleep your way to a whiter smile...date a dentist!
    7. Re:Haven't we already seen this by SnowHog · · Score: 0

      I too have had the experience of listening to a professor read directly from the text book. I was shocked the first time it happened, disappointed the second, and vowed after the third time that I would never attend that professor's lectures ever again. Apparently communication and didactic skills need not apply to the physics department.

    8. Re:Haven't we already seen this by oliverthered · · Score: 1

      Good job you didn't want to become a shrink!

      there's a fine line between shrink and not all there.

      --
      thank God the internet isn't a human right.
    9. Re:Haven't we already seen this by kperson · · Score: 1

      You must be a CS major. We engineers immediately recognized the use of RPN. If you want to "slash" the "dot" you put the "slash" operator last.

    10. Re:Haven't we already seen this by Anonymous Coward · · Score: 0

      herp it's not /B/ you faggot, it's /b/.

      That's what you reminded me of.

      Congrats.

    11. Re:Haven't we already seen this by Anonymous Coward · · Score: 0

      I keep my pants on only if its an emergency mister!

    12. Re:Haven't we already seen this by tobiah · · Score: 1

      I saw that a lot while teaching in grad school; teaching undergrads, graduates, conducting research, writing papers and writing grants are all very different skills. It's rare to for someone to be good at more than a couple of those. I had a good friend in grad school who was brilliant, and a great help to his fellow grad students. But he got fired halfway through his first semester teaching Calculus, apparently he couldn't deal with non-mathematicians. I knew a physics prof. who was rightfully elected teacher-of-the-year for the whole campus, and was nearly derailed from tenure-track that same year because his research was not cutting edge physics, it was cutting edge physics-education (his papers and course design were impressive). It took sustained protests to reinstate him in the brand new "teaching physicist" role he got.
      Expecting faculty do everything is especially a problem at research universities, where they are only rewarded for research, grants, and political maneuvering. Teaching ability in the hard sciences is unrelated to career advancement, and so is neglected by most. These professors are still very useful to graduate students who are operating nearly on their level, but asking them to teach beginner undergraduate classes is a diservice to the students and the reluctant teacher.

      --
      "The ability to delude yourself may be an important survival tool" - Jane Wagner -
    13. Re:Haven't we already seen this by slash.duncan · · Score: 1

      > It's not ./, it's /. you twit.

      But "./" is a *ix and therefore geeky way of saying "right here, in this current directory", which by extension means "right here, on this current site."

      That current site being "/.", using "./" to refer to it /as/ the current site isn't wrong, it's simply above your AC head.

      --
      Duncan
      "Every nonfree program has a lord, a master,
      and if you use the program, he is your master."
      R Stallman
  3. Do you want computer science, or engineering? by FooAtWFU · · Score: 4, Interesting

    And, for that matter, do you want to learn in the classroom, or in industry?

    --
    The World Wide Web is dying. Soon, we shall have only the Internet.
    1. Re:Do you want computer science, or engineering? by curril · · Score: 5, Insightful

      Which is really the way it should be broken out. Computer Science should be about the math, theories, and algorithms that make up computation, and computer software engineering should be more about building applications. Sort of like how traditional engineering relates to physics.

    2. Re:Do you want computer science, or engineering? by $RANDOMLUSER · · Score: 5, Funny

      Sort of like how traditional engineering relates to physics.

      Thanks a lot. Like there weren't already enough religious warriors at this party.

      --
      No folly is more costly than the folly of intolerant idealism. - Winston Churchill
    3. Re:Do you want computer science, or engineering? by Anonymous Coward · · Score: 0

      Why can't it be both?

    4. Re:Do you want computer science, or engineering? by theillien · · Score: 1

      I think this might be a core question. Fundamentally, at least in my experience, "computer science" is a vocational education track; MIS's geeky brother. As it is, I've encountered more people without degrees (or any higher education, for that matter) in the IT industry than I probably would in any other field. What might be a better methodology for university-level education is pure computer engineering.

    5. Re:Do you want computer science, or engineering? by Sloppy · · Score: 1

      There's no reason it can't, but won't be efficient. You might as well ask why someone can't learn to herd sheep, operate a loom, and design/predict the next season's clothing fashions. Someone can do all those things, and they're all related, and yet I kind of doubt that someone who learns to predict fashions is also going to be good at herd-- hey waitaminute, maybe they are really are the same-- no, the weaving skills don't fit into this conjecture at all.

      --
      As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
    6. Re:Do you want computer science, or engineering? by AK+Marc · · Score: 1

      Why either? There is a greater difference between "computer science" jobs than that degree and, say, an English degree.

      Sadly, there is almost nothing that will be learned in 4 years of college that used that couldn't be taught in 10 minutes of skimming through a "best practices" document that isn't already done in the software packages one would be using for work. It's mainly being used as a litmus test to see if people are trainable. Which is sad. It's got no more meaning than a paper MCSE, but takes 4-5 years and $100,000 for a piece of paper.

    7. Re:Do you want computer science, or engineering? by Mitchell314 · · Score: 1

      Yes, it's even the fuggin name the machine. A computer. Computer science.

      --
      I read TFA and all I got was this lousy cookie
    8. Re:Do you want computer science, or engineering? by Unoriginal_Nickname · · Score: 2

      If you make it real Software Engineering, meaning it is taught by the Department of Engineering and has the opportunity for p. eng. accreditation, students will end up having to take MORE math (at my university it's something like Lin Alg. I-II, Calculus I-III, ODEs, PDEs, Applied Probability and Applied Stats) just to satisfy their general requirements.

      I'm also unclear on exactly what part of CS doesn't require math, applied or not. What kind of programs are you going to write without a strong mathematical background? CRUD is the only thing I can think of, but to write those you don't even have to go to high school.

    9. Re:Do you want computer science, or engineering? by Anonymous Coward · · Score: 0

      ^^ It's not just a can of worms, it's a supertanker full of those wiggly bastards!

    10. Re:Do you want computer science, or engineering? by mikael · · Score: 3, Informative

      You should look at the current jobs market. All of the good paying jobs require solid mathematics knowledge, especially for anything simulation/visualization related - CFD, aerodynamics, combustion systems, design/simulation of industrial processing equipment (grinders, shredders, slicers), and require OpenGL, CUDA, MPI, OpenMP experience as well.

      Those jobs that aren't mathematics related, seem to be more arts based (web design) requiring knowledge of Photoshop, 3Dmax. The remainder seems to be management or customer facing roles.

      --
      Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
    11. Re:Do you want computer science, or engineering? by munitor · · Score: 3, Interesting

      I'm a Mechanical Engineer with 30 years experience and for a BSME from a fully accredited major school, my math requirements were only Calculus 1-3 and ODEs (loads of application, of course). In my career I've only used the calculus a few times (e.g. passing the EIT exam). I did do some graphics programming, FEM, etc. in school, but at the end of the day, what maths you needed really depended on the direction of your career. What few bits of software I've written that get used needed just bitwise operations and logic. You don't need much math for that.

    12. Re:Do you want computer science, or engineering? by metlin · · Score: 2

      In fact, I would say that there are three separate (but related) categories in computing --

      1. Computer Engineering -- this would be akin to any other field of engineering. You learn about microprocessors, VLSI, DSP, and other elements, not dissimilar from EE or ECE. Lots of practical, engineering considerations should be involved.

      2a. Theoretical Computer Science -- this, to your point, should be about theoretical computer science, complexity, discrete math, topology, graph theory, and other aspects of "real" computer science.

      2b. Applied Computer Science -- one learns to apply the topics of above to specific real-world problems (e.g. how can you use physics and vectors in building a raytracer or graph theory in network topology or how semantics encoding can ensure soundness and completeness in parsers etc).

      You can have something along the lines of Computer Science & Engineering where both are taught, for those areas which overlap (e.g. OS design, device drivers etc).

      3. Programming/Development -- this is the least glamorous and the most pedestrian application, so much so that I question if this should be taught at all. If one were to understand the fundamentals, they should be able to pick up the intricacies of applying them in any language or API. Ditto with system administration. In my mind, I bucket this with all the IT/IS/MIS load of crap.

      The reason this last area is popular at all is because there are no polytechnics these days -- back in the day, this would have been an easy skill that would have been taught in polytechnics for people to quickly learn and apply.

      In the hierarchy of things --

      pure math >> applied math >> theoretical physics >> applied physics >> engineering physics >> engineering >> programming

    13. Re:Do you want computer science, or engineering? by nate+nice · · Score: 1

      Computers aren't limited to the machines we're familiar with. Computation is a subset of mathematics and a computer is as simple as a set of rules that can be written on paper.

      --
      "If you are a dreamer, a wisher, a liar, A hope-er, a pray-er, a magic bean buyer ..."
    14. Re:Do you want computer science, or engineering? by Anonymous Coward · · Score: 1

      I dare you to try and see what computer science is all about in the former Soviet Block , It's nothing but math from start to finish , and it's none of that watered down engineer math. They won't just ask you to learn to use the mathematical instruments , you'll have to learn it inside out and be capable of proving every last statement.

    15. Re:Do you want computer science, or engineering? by Col+Bat+Guano · · Score: 2

      The software engineering part doesn't need (continuous) math.
      Testing, process, management, analysis, design, coding, requirements gathering are all fairly math free.

      Sure there are some domains that require continuous math, but there are a hell of a lot of other domains that don't.

    16. Re:Do you want computer science, or engineering? by Unoriginal_Nickname · · Score: 1

      I argue that testing, process, management and analysis all require statistics. In practice this is done using continuous functions even when the probability distribution is discrete (e.g. the central limit theorem.)

      Implementation requires knowledge of first-order logic, which is mathematics.

      Design and requirements-gathering require knowledge of the problem domain, which I hope will involve algorithmics and mathematics. If they truly don't, I feel deeply sorry for any developer working on the project.

    17. Re:Do you want computer science, or engineering? by Anonymous Coward · · Score: 0

      This has been my experience. At Ohio State, Computer Science Engineering (my degree) is by FAR more theoretical than its counterpart plain old Computer Science. I have to take 1 extra statistics class, linear algebra, and and extra calculus class on top of theoretical computing classes like numerical methods and formal automata. All of these are optional to the CS students, but required for CSE.

    18. Re:Do you want computer science, or engineering? by Anonymous Coward · · Score: 0

      Sadly, there is almost nothing that will be learned in 4 years of college that used that couldn't be taught in 10 minutes of skimming through a "best practices" document that isn't already done in the software packages one would be using for work. It's mainly being used as a litmus test to see if people are trainable. Which is sad. It's got no more meaning than a paper MCSE, but takes 4-5 years and $100,000 for a piece of paper.

      Seriously, dude, where did you get your CS degree?! Cause if it isn't more meaningful than an MCSE, you really should demand your money back...

    19. Re:Do you want computer science, or engineering? by gtall · · Score: 2

      Logic is not mathematics, and legions of mathematicians will tell you this. Mathematical reasoning uses logical reasoning. Models of logics use mathematics. However, logic systems are not mathematics systems. Any part of mathematics is what we'd call a theory in logic.

      And implementation does not require only first-order logic. At its core, at least if we are talking computer programs, the reasoning required is a variant of modal logic. If we are talking hardware, there are all sorts of logic that could be used: fuzzy logic, modal logic, intuitionistic logic, usw.

    20. Re:Do you want computer science, or engineering? by gtall · · Score: 1

      I wish I had mod points.

    21. Re:Do you want computer science, or engineering? by Roger+W+Moore · · Score: 2

      Sadly, there is almost nothing that will be learned in 4 years of college that used that couldn't be taught in 10 minutes of skimming through a "best practices" document

      ...and how would you know which "best practices" document to skim through if you don't have a broad knowledge of the field? What happens when you encounter a problem for which there is no "best practice" because you are the first to do it? The value of a university education is that it gives you a framework of knowledge and skills and the ability to expand it as needed.

      Given that EVERY student taking science should be made to take basic calculus. In fact in the UK basic (polynomial) calculus used to be part of the old maths O'level so everyone going to university ended up learning it - even those going to do an english degree - in the same manner that those of us doing physics had to learn Shakespeare. So if 16 year-old future english students could manage to learn enough calculus to pass an O'level there should be no problem for any science student, no matter what their field, to pass a basic calculus course at university.

    22. Re:Do you want computer science, or engineering? by Undead+Waffle · · Score: 3, Interesting

      Calculus was where I was introduced to the concept of limits, which is the core of Big O notation.

      I really wish some of the people writing the code I now have to maintain understood Big O notation...

    23. Re:Do you want computer science, or engineering? by bpsheen · · Score: 1

      Computer Science is about the implementation of the many complex details that go into computing. You dont need advanced math skills to be a security researcher for example. It helps to understand crypto algorithms but at the end of the day having a full understanding of what is secure and not secure and why is what matters most. You cant get that kind of security from just the maths alone. The maths involved is a important part of it but the real world results and being able to interpret them and understand them matters most. I doubt strongly that for example sandboxing a badly written app (think adobe flash here) involves a lot of maths. However such a action is a part of computer science is it not????

      --
      My first computer had 1024 bytes of ram
    24. Re:Do you want computer science, or engineering? by bpsheen · · Score: 2

      Yes, You need the ability to write a series of operations that interact with each other. Those operations are instructions and a bunch of instructions and data is what software is. However you don't need Calculus to be a good programmer. It possibly helps with certain areas but for the most part if you can write a sequence of instructions and have the desired result, is that not computer science. Where does the knowledge of advanced maths really fit here? Sure you need to understand Bresenham's_line_algorithm you need to understand integer addition, subtraction and bit shifting, I don't see any Calculus or any other advanced knowledge really needed there. If you can do read a word problem and write code to solve it you can write code, That in effect is computer science. Is it not?????

      --
      My first computer had 1024 bytes of ram
    25. Re:Do you want computer science, or engineering? by Edmund+Blackadder · · Score: 1

      That being said, even if you choose to study only the engineering part, there should still be a lot of math required, as it is quite necessary to build applications that work. To follow your example, most reputable real world engineering degrees still require a lot of math even if it might no be quite as much as that required to become an actual physicist.

      So even if you follow your distinction one still has to study math and algorithms for a software engineering degree.

      Now if you really want a math free degree there could be a "code monkey" degree which will only train you to code simple things hoping that there is a well qualified person somewhere that figures out the complicated stuff and tells you what to do. That might be a possibility, but one should not fool themselves into thinking that one can write software applications of any complexity without knowing math.

    26. Re:Do you want computer science, or engineering? by AK+Marc · · Score: 1

      So your argument is that someone in computer science should learn no more math than the computer science student? That the computer science student doesn't need any more math than the political science student? Or are you saying that the 3 math classes I took for computer science after "basic calculus" were a complete waste of time? I don't know where you went for computer science, but we took basic calc, and then 3 more advanced classes (not counting statistics, which wasn't technically a math class at my university). Of course, though those may be of use for the Electrical Engineering students in our sister program as they work out how to build the NAND gate on a chemical/physical level, they seemed quite unneeded for the computer science student that ended up doing database administration after graduation.

    27. Re:Do you want computer science, or engineering? by Anonymous Coward · · Score: 0

      Wait a minute. In the US, you learn basic math like limits and calculus at university, not already at school?!!

    28. Re:Do you want computer science, or engineering? by ceoyoyo · · Score: 1

      "I have seen many outstanding programmers who struggled with calculus and never really got it."

      There's the key word. Programmers should be educated in a tech school for a year or two then kicked out into industry. Software architects and systems analysts should take a degree in software engineering. Computer science graduates should be scientists, not engineers or programmers. The whole debate stems from the weird absence in the US of proper software engineering and information technology programs.

    29. Re:Do you want computer science, or engineering? by catmistake · · Score: 2

      Once again we have some people that want to redefine words. Computer Science is mathematics. Either something is computer science or it is not. I don't know of much computer science going on outside of academia. Programmig is not computer science. Software Engineering has been accepted as a meaningful term in the last 15 years... but I still have trouble understanding exactly what it is that is being engineered under this term... I know it isn't electronics, or computers, or engines or bridges or roads... and I know what programming is... I just don't get it... unless, of course... it is a trumped up marketing term.

    30. Re:Do you want computer science, or engineering? by metlin · · Score: 2

      No, he was saying that at the very least, everyone should have basic levels of education in certain things, and that these things include essentials (e.g. basic math such as calculus, core English literature such as Shakespeare etc).

      I would in fact add a few more to the list -- basic chemistry, including physical, organic, and inorganic; basic physics, including mechanics, electromagnetism, quantum mechanics; engineering drawing; at least conversational skills in one non-native language; introduction to music theory; fundamentals of philosophy and the main schools of thought; introduction to social sciences, including economics, political theory, geography, history, law, sociology, and psychology; and finally, art.

      I could point to someone like John Stuart Mill as the product of such an education, but I will instead leave with a Heinlein quote:

      "A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects."

    31. Re:Do you want computer science, or engineering? by brendank310 · · Score: 1

      You can't really group US education into one big lump. Quality of education varies widely across the nation. Sorry for feeding the troll.

    32. Re:Do you want computer science, or engineering? by Javagator · · Score: 1

      Every math course I took helps me think about the algorithms I develop at work, just as every English course I took helps me write and communicate. I took a lot of math that I do not use directly, but I don't consider any of it wasted.

    33. Re:Do you want computer science, or engineering? by Anonymous Coward · · Score: 0

      but surely you don't use partial differential equations when solving recurrence relations, for example?

    34. Re:Do you want computer science, or engineering? by mcswell · · Score: 1

      Well, who cares about Soviets, former or otherwise? I want to know how the Klingons teach CS!

    35. Re:Do you want computer science, or engineering? by Col+Bat+Guano · · Score: 1

      I argue that testing, process, management and analysis all require statistics. In practice this is done using continuous functions even when the probability distribution is discrete (e.g. the central limit theorem.)

      I agree with you there. I had thought about stats, but hadn't considered the continuous functions aspect.

      Implementation requires knowledge of first-order logic, which is mathematics.

      I'd be surprised if this is the case. Can you give an example that shows why it is necessary?

      Design and requirements-gathering require knowledge of the problem domain, which I hope will involve algorithmics and mathematics. If they truly don't, I feel deeply sorry for any developer working on the project.

      I'm all for discrete maths, which most algorithms are (graph searching etc). I think that continuous maths (with the exception above) are limited in their usefulness for most domains.

    36. Re:Do you want computer science, or engineering? by AK+Marc · · Score: 1

      No, he was saying that at the very least, everyone should have basic levels of education in certain things, and that these things include essentials (e.g. basic math such as calculus, core English literature such as Shakespeare etc).

      His actual statement was:
      Given that EVERY student taking science should be made to take basic calculus.

      That wasn't a sentence, and gave a hint that there was some minimum (that's already met everywhere, is it's kind of silly to present as a minimum like it's a suggestion, rather than a redundant statement of the current status quo). No one here ever said anything that disagrees. There were some questions of where to draw the minimum. But you seem to be very disagreeably agreeing with me that he was giving useless or wrong suggestions. I don't know where you went to school, but you'd have to work hard to not take Shakespeare and get a bachelors degree of any kind in the US. That's one of the points of a bachelors. It isn't a vocational degree. And you'd have to take math, though the basic math doesn't necessarily require calculus.

      And one would think that whatever the "basics" everyone should have would be covered in the period of required and free education, so that someone graduating from high school would know what's necessary. Otherwise, what's the point of mandatory education if it's deliberately designed to not educate to the minimum societal standard? At which point, any of that would be unnecessary at the university level.

    37. Re:Do you want computer science, or engineering? by Mongoose+Disciple · · Score: 1

      That might be a possibility, but one should not fool themselves into thinking that one can write software applications of any complexity without knowing math.

      Sure you can. At least, without math beyond what everyone has to learn up through high school, anyway.

      In my career I've created a huge variety of software applications for many different clients. Each one of those projects was complex in some way; in only a very few cases would I say that what was complex was something you could legitimately call requiring non-basic math knowledge.

    38. Re:Do you want computer science, or engineering? by Anonymous Coward · · Score: 0

      Boolean Algebra.....have you ever heard of it??????
      Do you know how to transform from && to ||?
      Do you know how to build a boolean equation with 10 different parameters?
      Do you.....know what math actually is?

    39. Re:Do you want computer science, or engineering? by ModernGeek · · Score: 1

      Fuck ABET. They will really fuck up software engineering if ever allowed to put their hands in it.

      --
      Sig: I stole this sig.
    40. Re:Do you want computer science, or engineering? by Lemmy+Caution · · Score: 2

      That's one of the points of a bachelors. It isn't a vocational degree.

      It is now. Or, rather, it's the new HS Diploma. It no longer guarantees you entry into the middle class. Companies won't take a chance on you because they like you or think you'd "fit in" to their culture if you have a Bachelors. Once, this was, in fact, the case: a BA or BS gained you entry into the corporate world without any questions of specific skills: the employer would train you as needed.

      That era is over. There are more college educated people than there are jobs we would consider providing the basis of a middle-class existence. The BA or BS is actually a little less than a vocational degree/

    41. Re:Do you want computer science, or engineering? by Lemmy+Caution · · Score: 1

      That is disingenuous.

      My view is that most of the truly math-intensive, theoretical CS problems are now just a subset of math. CS as a field should probably disappear; degrees in math with emphasis on computation should suffice on one side; degrees in software engineering, HCI (perhaps co-taught within design and psychology departments) or AI (perhaps co-taught with psych/cog sci, robotics/ME/EE, linguistics, or physics) should take their place. Math-centric theoretical CS as an intellectual project is nearly depleted. Computers are important to us because they are the basis of culture and society, because we interact with them for reading, writing, making and hearing music games, and video; innovation and invention comes from developing new metaphors and implementing them, not solving P=NP, except for a rather small set of problems (cryptography, optimization, etc.)

      If CS wants to survive - if CS *departments* want to survive - they need to understand this.

    42. Re:Do you want computer science, or engineering? by Lemmy+Caution · · Score: 2

      And that's why Soviet superiority in computer science helped them to win the Cold War!

    43. Re:Do you want computer science, or engineering? by Lemmy+Caution · · Score: 1

      To the extent that remains true, CS departments should be absorbed into math departments.

    44. Re:Do you want computer science, or engineering? by catmistake · · Score: 1

      That's where all CS departments began, as part of the Math department. Since the coinage of the term "Software Engineering," however, some have moved partially or completely into the the Engineering department. I know this is what happened at my alma mater, VA Tech, and in speaking with the head of CS and some faculty from Mathematics, turns out it really was simply a marketing decision... the university needs to attract students top students, and they think that will do it. Mathematics, it seems, just isn't as sexy as Engineering. But even the CS department head agreed with me when I balked at this new term and the placement of the department within Engineering... that they're not really engineering anything... its just programming, which was an issue I had with VA Tech's CS program from when I had started there a decade earlier (left school to work after my 2nd year and had returned to finish the degree).. that at the time they weren't teaching CS, but merely testing to see if we already knew this language or that language.

    45. Re:Do you want computer science, or engineering? by iggie · · Score: 1

      Oh yeah "best practices". This results, taken as a whole, in the biggest pile of crap ever devised by man. The exceptions are few enough to be thought of as fortunate accidents.

      What people refer to as "engineering" in the software world would have long ago brought our industrial revolution to its knees.

      What people refer to as "CS math" would have brought science to its knees if scientists payed any serious attention.

      Luckily, with our "sharing culture" and "gift economy", the crap tends to find its place, and so do the gems.

      Do something worthwhile wether your degree is in CS, math or English lit. Seriously.

    46. Re:Do you want computer science, or engineering? by nate+nice · · Score: 1

      It's called a masters degree.

      Why on Earth should an undergrad degree be so specialized when the student body isn't sophisticated enough to even really do anything with those fields without understanding core CS?

      You're basically saying students should be allowed to skip the premise and foundation of CS so they can work in other fields that are derivative of it?

      Computer Science undergrads already do what you desire. Any decent CS program is going to have plenty of core classes that all grads must take covering theory and practical applications and then allow the student to fill the rest of their degree with plenty of electives where they can focus on software engineering, testing, security, networks, graphics, databases, etc or more theoretical applications a future grad student may enjoy such as type systems, compilers, natural language processing, etc or a combination of them.

      Any student who takes a type systems course and a compilers course I'm going to wager is going to be a better practical programmer. Plus, learning things like programming MFC or .NET or learning jquery and CSS or SQL (no more than a week or 2 on any DB course) is something you shouldn't need a professor to learn and a student should use their college time learning things that interest them outside of class. My college didn't teach Objectice-C and the App Kit but I taught myself it while in school for fun. We didn't teach Python but I used it a lot in college. We didn't teach .Net or ASP.Net but my first job out of school was using those techs.

      I don't see what the problem is.

      --
      "If you are a dreamer, a wisher, a liar, A hope-er, a pray-er, a magic bean buyer ..."
    47. Re:Do you want computer science, or engineering? by Anonymous Coward · · Score: 0

      "However, logic systems are not mathematics systems. Any part of mathematics is what we'd call a theory in logic."

      I would love if you have a link to some "authoritarian" site that backs this up?

    48. Re:Do you want computer science, or engineering? by johanatan · · Score: 1

      SE may not usually involve continuous math, but it certainly does help to understand it when you get into higher-order programming (and I would argue that programming should always be of the higher-order variety--code should be as succinct as possible as a service to your readers [including your future self]).

    49. Re:Do you want computer science, or engineering? by stiller · · Score: 2

      Really? I don't know where you are looking, but I don't see the situation you describe at all, not now or ever before. By far the most jobs in software development (you describe a lot of other, perhaps related fields) are about implementing business logic. And I don't mean business logic on the 'quant' level, but rather on the mundane, daily process level. These do not require any substantial knowledge of maths, except to reach a very high level of expertise. Before you say these jobs don't pay as good, take a look at average SAP consultant/engineer salaries.

    50. Re:Do you want computer science, or engineering? by AK+Marc · · Score: 2

      What people refer to as "CS math" would have brought science to its knees if scientists payed any serious attention.

      CS math requires:
      Engineering Math I (Calculus)
      Engineering Math II (calc 2)
      Discrete Math
      And linear algebra or differential equations.

      Math for a full-on engineering degree requires:
      Engineering Math I (Calculus)
      Engineering Math II (calc 2)
      Engineering Math III (Even more calculus!)
      Diff EQ
      Applied Engineering Math

      One more math class for full-on engineering than CS. Do you really think that someone making it through two semesters of engineering calculus, discrete math and Dif EQ is completely inadequate? Because you can get a bachelors of science in science (like chemistry or physics) with the same or fewer math classes as CS (and yes, physics and chemistry require fewer math classes than any engineering degree). Oh, and if you count the CS mandatory statistics class as math, which it is more math than most freshman math classes, then CS requires more math than any degree from the college of science other than an actual mathematics degree.

      So, tell me again how CS is weak on math. Go ahead. I'm waiting. How many math classes did you take in college? If you aren't a mathematician (and count statistics as math), then I probably have taken more than you.

    51. Re:Do you want computer science, or engineering? by Anonymous Coward · · Score: 3, Insightful

      At the same time, it turns out that many math wizards are horrible programmers.

      In many ways, I feel you could substitute "programming" with "composing music" in your hierarchy and still be making roughly the same argument; there is a well known overlap between mathematical and musical talent, music can certainly be "reduced to" mathematics. And yet, a math professor rarely turns out as good music as a musician and there is really no general assumption going that the best musicians are also math wizards.

      Unfortunately, by knowing math or CS one does not know programming, just as one doesn't know music that way. There certainly have been musicians who were able to translate improved mathematical understanding into more sophisticated music, but this would not hold true for all or even most musicians and it would be ridiculous to dismiss those musicians who don't care about math as less talented. The same, imo, holds for programming.

      It may look like a paradox when all of a program or a musical composition can be reduced to math but a math professor might not be able to write as good a program or musical score as a programmer or musician who is a math novice. But the answer is that even though the finished product can be thought of as a purely mathematical artifact, the procedures for deriving at the product are not the same skills as a math professor uses to manipulate mathematical expressions. In other words, the skills of a math professor are not sufficient to perform well in programming or musical composition.

      I'm not sure I'm really objecting to anything you said as such, I just wanted to point out what I perceive as limitations to the scope of your argument.

    52. Re:Do you want computer science, or engineering? by ScreamingCactus · · Score: 1

      How can you build good applications without knowledge of math, theories, and algorithms; and what use are such things if you're not going to apply them?

      --
      The path to enlightenment is truly through homemade drugs!
    53. Re:Do you want computer science, or engineering? by Synonymous+Homonym · · Score: 1

      if you can write a sequence of instructions and have the desired result, is that not computer science.

      If you can do read a word problem and write code to solve it you can write code, That in effect is computer science. Is it not?????

      Correct: It is not. That is programming. That is not computer science.
      Programming is a strict subset of computer science.
      They are not identical, nor even equivalent.

    54. Re:Do you want computer science, or engineering? by snowgirl · · Score: 1

      Wait a minute. In the US, you learn basic math like limits and calculus at university, not already at school?!!

      In High School, I knew a foreign exchange student from Germany. He was taking a full set of elective classes, because no matter what courses he took here, he had no possible chance of receiving any credit back home for the classes beyond English credits.

      --
      WARNING! This girl exceeds the MAXIMUM SAFE standards established by the FDA for BRATTINESS
    55. Re:Do you want computer science, or engineering? by Anonymous Coward · · Score: 0

      Been there and done that. I had enough math in CS for a minor by the time I earned my BS, let alone starting on my masters.
      Yes there are areas where the math is essential and there are areas (probably 90% of the field) where school is the last time you use it.
      Two of the first courses I had in my masters were the Design and Analysis of Algorithms and Digital Image Enhancement. We only went to 5 level simultaneous equations in the first, but by the 5th week in the second we were doing Fourier analysis. Not FF, or straight Fourier. Then we moved on to Matrix Algebra before it got deep.

      The thing is, today most of the routines have been designed, analyzed and run. Generally you don't need to go through all that math to know which algorithm to use. However moving on into development work the math can often be essential. Shaving a few tents or hundredths of a second off a routine may save minutes or more in a complex modeling program. That time saved may allow for the program to do more work with a higher accuracy. Also in programs that use global positioning timing accuracy is essential and may require organizing the program to take advantage of execution times for routines.

    56. Re:Do you want computer science, or engineering? by pjt33 · · Score: 1

      Theoretical CS has always been a subset of maths. The first degree in the world in the field was Cambridge University's Dip.Comp.Sci, which came out of the Mathematical Laboratory.

    57. Re:Do you want computer science, or engineering? by pjt33 · · Score: 1

      As I understand the US system, it merges the equivalent of the Baccalaureate into university, so students enter university at 16 and spend a loooong time there.

    58. Re:Do you want computer science, or engineering? by NoOneInParticular · · Score: 1

      This holds for an idealized computer that works in pure serial mode. When the computer is connected to the network, works together with other machines that it is not synchronized with, has interrupts, shares memory, has caches, uses a disk, uses various forms of memory with various speed signatures, and interprets 'machine code' in a microcode interpreter to create a reduced instruction set which uses pipelining, then your mathematical analysis of the performance of this computer might fall seriously short. Constants ignored in computational analysis become the object of study. Often in current day systems, the shortest description of the system is the system itself. When this is the case, studying computers becomes an empirical science, where mathematics forms the method of creating models of what happens, not being the object of study itself.

    59. Re:Do you want computer science, or engineering? by nate+nice · · Score: 1

      What difference does that make at all? It's all still a Turing Machine obeying the Church-Turing Thesis.

      Everything you describe would be covered in an Operating Systems and Computer Organization/Assembly course. I don't know what it has to do with anything discussed here, however.

      --
      "If you are a dreamer, a wisher, a liar, A hope-er, a pray-er, a magic bean buyer ..."
    60. Re:Do you want computer science, or engineering? by metlin · · Score: 1

      Indeed. I'll even add that a master's in itself is becoming meaningless, and the only additional qualifications that you can have that would be useful as professional ones (e.g. JD, MD, or perhaps an MBA) or a doctorate.

    61. Re:Do you want computer science, or engineering? by Lemmy+Caution · · Score: 1

      We have reached a point where most software work is as "derivative" of theoretical computer science as psychology is of physics. Security and network optimization may be the main exceptions.

      The problem is that there are many people who could make incredibly valuable contributions in those other fields - in HCI, AI, game design, application design - who are "weeded out" by the math-centric stuff. It doesn't just hurt them - it hurts those of us who could use their abilities.

    62. Re:Do you want computer science, or engineering? by Lemmy+Caution · · Score: 1

      And, to be honest, the correlation between strong basic CS skills and programming just isn't there. Many people who grasped Big O notation brilliantly turn out to be crap programmers and worse software engineers.

    63. Re:Do you want computer science, or engineering? by NoOneInParticular · · Score: 1

      It's about predicting the runtime characteristics of your system. Analyzing everything as a Turing machine ignores the 'constants'. The constants in a real machine do matter. CS concentrates on algorithms, not on systems. Systems do matter. Industry deals with systems of computers, CS works with an idealized model and states that the rest is irrelevant. Computation is not just theory, it's also empirical. Once you've seen an O(n^2) algorithm beat an O(n^1.91) on workloads of significant 'n' due to better use of L1 cache, you might appreciate that.

    64. Re:Do you want computer science, or engineering? by peetm · · Score: 1

      Software Engineering. Here's what my old school lists as appropriate:

      http://www.softeng.ox.ac.uk/courses/subjects.html

      By the way, this is for their M.Sc., Soft Eng isn't taught at the UG level in ox.

      --
      @peetm
    65. Re:Do you want computer science, or engineering? by nate+nice · · Score: 1

      I think every CS curriculum covers that though. Operating systems courses (which cover interrupts, process scheduling), computer organization and then a systems course you have these things covered. We covered caching as well as the algorithms that caching techniques use in full and even had overlap.

      CS degrees cover a lot of ground and I remember at least 3 courses that were core curriculum that covered all that you speak of.

      --
      "If you are a dreamer, a wisher, a liar, A hope-er, a pray-er, a magic bean buyer ..."
    66. Re:Do you want computer science, or engineering? by Shadow99_1 · · Score: 1

      Their are equivalents to polytechnics. However business swears they don't produce people they want, thus forcing people who would not otherwise go into a CS bachelors into doing so. Even for things that prove to be dramatically bad fits. Anything related to computers makes HR departments require 'a Bachelors in CS' and they discard applications that don't have that on them.

      --
      we are all invisible unless we choose otherwise
    67. Re:Do you want computer science, or engineering? by Anonymous Coward · · Score: 0

      Programig is not computer science.

      Really? I'd love to see what data structures you are using. I use my computer science degree all the time in development to make efficient choices. My understanding of computer science allows me to understand the best choice for algorithms, data structures, and overall general interaction with whatever interface I am programming on. I will buy into your statement that you don't need to be understand computer science (the understanding - not the degree) to program, but there is no way you will be a halfway decent programmer without it.

    68. Re:Do you want computer science, or engineering? by Anonymous Coward · · Score: 0

      Computer science is about algorithms

      algorithms are basically sequences of instructions

      how is programming different from algorithms

      I am curious for your detailed answer?

    69. Re:Do you want computer science, or engineering? by Calindae · · Score: 1

      No, he was saying that at the very least, everyone should have basic levels of education in certain things, and that these things include essentials (e.g. basic math such as calculus, core English literature such as Shakespeare etc).

      I would in fact add a few more to the list -- basic chemistry, including physical, organic, and inorganic; basic physics, including mechanics, electromagnetism, quantum mechanics; engineering drawing; at least conversational skills in one non-native language; introduction to music theory; fundamentals of philosophy and the main schools of thought; introduction to social sciences, including economics, political theory, geography, history, law, sociology, and psychology; and finally, art.

      I could point to someone like John Stuart Mill as the product of such an education...

      "This intensive study however had injurious effects on Mill's mental health, and state of mind. At the age of twenty[6] he suffered a nervous breakdown."

      hmm...

    70. Re:Do you want computer science, or engineering? by Anonymous Coward · · Score: 0

      Let us not confuse Computer Science with the application of Computer Science, or Computer Practice. When you use your CS degree to make choices, this is not science (ideal), but application (pragmatic).

    71. Re:Do you want computer science, or engineering? by Synonymous+Homonym · · Score: 1
      Programming is the art of skillfully applying algorithms to problems, and codifying them such that a machine can execute them.

      Programming is thus applied computer science.

      Much like installing wiring is applied electrophysics.

    72. Re:Do you want computer science, or engineering? by Anonymous Coward · · Score: 0

      I could not disagree more. In college, I started as a CS major. I did just fine in all my computer-related classes such as programming. But I could NOT do the math requirements. Calculus is what eventually forced me to change majors - I was getting great grades in my other classes, but simply could not pass the THREE SEMESTERS of Calculus required, and since they were required, I couldn't get my degree. I had to change majors at the last minute. I had a huge shouting match with the head of the CS "department" (i.e., the head of the Math faculty) about the importance of Calculus in computing, and stormed out shouting that I already knew more about computers than he did (which was true, at least when it came to PCs), and how I would go ahead and have a computer career anyways without his stupid Calculus.

      The result? I've been getting paid to do computer-related things since I was sixteen and I went right on doing it. After I graduated I immediately got a job in IT and in the 20+ years since then I've worked as a PC tech, a database programmer, a game designer (not programmer), and now a UNIX system administrator at a large bank. The number of times I've ever needed calculus? ZERO. Now, in order to be effective I agree you should have a working familiarity with basic algebra (for using variable when programming), but assuming you did OK in that area in high school you should be fine.

      Yes, it's true, if you're going to be a programmer who uses a lot of graphics or scientific simulation, probably calculus would be necessary. But that's about the only example I can think of. As opposed to your view that everything but web design needs calculus, it's actually the other way around - only a few very specialized fields need it at all. I've had many jobs all over the country and all over the industry and never once has anyone ever asked me anything about math. Algebra comes in a little handy when making spreadsheets and writing functions and scripts, but Calculus? As other posters have mentioned, unless you plan on making CS your career as an academic and study theory in an ivory tower, you almost certainly won't ever need it. The only reason it's a requirement at so many universities is because they all grew out of the Math department and haven't actually taken a good look at their curriculum in 40 years.

    73. Re:Do you want computer science, or engineering? by HappyPsycho · · Score: 1

      I don't quite agree with your comment above, while I agree as a whole computer programming & usage has become extremely cross-discipline (if you want to write an accounting package, please go learn some accounts) and that based on which sub-field you are interested in the appropriate skills need to be taught.

      If you stop there though what makes you any better than the specialist in the field? What sets computer scientist apart in this respect is a set of math based (hopefully objective) set of eyes looking for how to perform the task at hand in a better way. Computer Science requires math not for its day to day operation (that's why sys admins exist) but to keep that ever constant "make-it-better" wheel turning.

      "Computers are important to us because they are the basis of culture and society, because we interact with them for reading, writing, making and hearing music games, and video", as much as I hate it the above statement is true. However you have seriously underestimated the role of math in making the above happen. Text is represented as numbers internally to computers, that affects reading, writing, searching of textual data. Then again why am I limiting the above to textual data, the same applies to music and video as well.

      The role of algorithmic optimization in the above is immeasurable, a simple example is data compression. MP3 took off because at the time it's competition was the uncompressed wav file and all most people had at the time was dial-up modems, MP4 / x264 have taken the video world by storm for mostly the same reasons. On the database side knowing that an operation is O(1) and that another is O(x) makes a big difference in which one you will choose, given that all filesystems that underlie most computers today are specialized databases I think the algorithm choices have a big impact on daily life of lots of people. High end graphics and multi-core computers are all the rage these days how to use them efficiently is still an outstanding problem, the heart of which sits in complexity theory.

      CS is probably not going anywhere because the targets of CS and math are similar yet different enough to validate the separation (I'd actually invite you to validate the existence of accounting, it is nothing but math as well). Just like there is a separation between theoretical science and practical engineering the differences are enough to validate the existence of the practical CS from the theoretical Math.

      Even though the user of the machine may not realize it the tools needed to meet their needs come from math. While allot of the basics are already laid down in libraries of code, libraries of books did not stop Isaac Newton from "standing on the shoulders of giants" to produce the next great idea.

  4. Simple Solution by ExploHD · · Score: 5, Insightful

    If you don't want math with your computer science, learn computers / networks / shiny jargon at a trade school

    1. Re:Simple Solution by Gorobei · · Score: 3, Informative

      Um, the prof was saying calculus and continuous math have little to do with CS. Discrete math, etc, is always going to be a big part of CS/algorithms.

    2. Re:Simple Solution by Anonymous Coward · · Score: 0

      Discrete math is also fun, in contrast to calculus...
      (ops...)

    3. Re:Simple Solution by Anonymous Coward · · Score: 0

      my subjective view is a reversal of yours (except the "ops" part)

    4. Re:Simple Solution by Anonymous Coward · · Score: 4, Insightful

      Um, the prof was saying calculus and continuous math have little to do with CS.

      And he couldn't be more wrong, IMO. Knowing only discrete math, or only continuous math, can be as bad as being blind or deaf; it may arbitrarily limit the abilities of otherwise smart people, resulting in worse solutions, or none at all, to many problems. For example, factorials of large numbers can be approximated much faster using continuous functions. And since calculus pops up everywhere in the real world, anyone doing real world simulation (like graphics and physics) may need it! In fact, I believe one should be familiar with as broad a field of math as possible; for instance, abstract algebra and geometry are both very useful.

      Math is very stable knowledge that can be applied to all kinds of problems and may speed up the learning of new concepts. Industry related things usually aren't that stable: It simply makes more sense to learn proper theory and then specialize as needed for the problems at hand. Moreover, teaching such unstable things in universities is borderline idiotic, since they may no longer be relevant after graduation!

    5. Re:Simple Solution by IICV · · Score: 5, Insightful

      Yeah, exactly - CS needs some very specific kinds of math, and instead of organizing the curriculum around it, universities teach a "jack of all trades" mathematical toolkit that's not especially useful.

      For example: in order to get my CS degree, I had to take a statistics course that used calculus. However, according to the school curriculum, this statistics course mostly covered continuous, classical statistics - not the discrete, Bayesian statistics which are so incredibly useful in computer science (why do you think your inbox isn't full of spam? Discrete Bayesian statistics). The only reason why we covered Bayesian statistics at all is because the professor was a Bayesian statistician, and he shoe-horned it into the class.

      Another example: I had to take the first calculus series, which was comprised of introductory calculus topics; I also had to take the first quarter of the second calculus series, which was advanced calculus. However, I found out from other students who took the rest of the second calculus series that the later courses covered mathematical topics that are ridiculously useful for computer vision and computer graphics - I believe they covered things like convolution and calculating the curl of a vector field.

      Basically, computer science uses a lot of discrete math, and a lot of vector/matrix math. Universities don't have a lot of general education courses that teach discrete math or vector/matrix math. This means that CS students have to slog through a lot of continuous mathematics that is, quite frequently, not very useful, and not necessary to learn the discrete stuff - when they could instead be learning mathematics that would be very useful.

    6. Re:Simple Solution by eggnoglatte · · Score: 0

      Whatever, I want to see him do computer graphics without calculus and continuous math, just as an example.

      That said, his statement is a bit more credible if you looks specifically at his own institution. U Tennessee isn't exactly a top tier school, so I would expect their graduates to go into relatively low profile positions, possibly web design with a bit of PHP, or possibly they'll learn network or system administration after their degree and move into that. They are not going to be expert programmers at Google or Microsoft.

      Also, at any decent university, you are not getting a Computer Science degree. You are getting a Science degree with a specialization in CS. That means you are supposed to have a fairly broad understanding of science and math when you graduate, so even though you may have specialized in CS you will be able to shift to other fields within science to some degree. If that is not for you, then go to vocational school.

    7. Re:Simple Solution by khallow · · Score: 3, Interesting

      For example: in order to get my CS degree, I had to take a statistics course that used calculus.

      Given that calculus-based statistics is pretty important to CS (eg, software metrics, big "O" stuff, writing programs that use statistics, etc), how is this relevant to your complaint?

    8. Re:Simple Solution by Anonymous Coward · · Score: 0

      Which doesn't really address this:

      How many of them could teach a good course in cloud computing or multi-core systems or software engineering or any of the many other topics that the graduates will find useful when they graduate?

      I'm sure that most companies would love to have someone who wasted 4+ years learning about whatever trendy piece of technology was hip at the time they were in school. Doesn't it make you wonder that early CS concepts still have extremely practical (not to mention the many, many theoretical) uses and that no one really cares about 99% of the stuff that came out during the Dot Com bubble?

    9. Re:Simple Solution by Threni · · Score: 1

      I think that a lot of people are just 'HTML hairdressers' - you don't need to know how to do calculus - or even how to code properly - if all you're doing is using other people's frameworks and plug-ins to move data from a database into a drop-down box or whatever. You DO need to be able to locate the relevant podcasts to explain what this seasons exciting new trend is for separating the various layers of your solution, however. Different skills for different times.

    10. Re:Simple Solution by Anonymous Coward · · Score: 3, Insightful

      In my CS degree I took a "Discrete Mathematics" course. There was also a "Linear Algebra" course that covered matrices and vectors. I also took several other mathematics classes that covered calculus, statistics, etc. Basically, courses over the real and complex numbers. Ignoring calculus is basically throwing out almost all of mathematics that has happened since Newton. Any formulas you use will just be the algebraic results of applying calculus to find them. While it's possible to just use mathematics in computer science without understanding it, it's a bad idea. It's what causes programmers to think floats are great for storing fractional currency values or to ignore catastrophic subtraction. You can learn some of the tricks to avoid problems with floats, ints, and other CS mathematical problems, but you won't understand *why* they are problems or be able to discover problems in new algorithms on your own.

      And seriously, how is anyone supposed to do any sort of numerical analysis without understanding taylor series or fourier transforms? How can someone perform complexity analysis without a good grasp of infinite series and calculus?

    11. Re:Simple Solution by bill_mcgonigle · · Score: 1

      If you don't want math with your computer science, learn computers / networks / shiny jargon at a trade school

      This is the attitude that's so damaging to applied computer science.

      At an undergrad level, anyway, it's better to get a broad overview. I've seen what happens when trade-school IT folks try to design computer architectures or do sysadmin. They wind up calling in somebody with a firm grasp of CS eventually (unless the project is written off as a failure first).

      Even in the graduate level CS classes I've taken, very little is needed beyond high school math except in some very specialized algorithms areas. Algorithms people like to pretend they represent all that's important in computer science, and perhaps it's true that they need the continuous math to describe their egos.

      There have been times where I've needed to learn more math to accomplish certain tasks/algorithms. For instance, I needed to learn about Catmull-Rom splines for a surgical planning application I was doing once and I needed to learn about the math to do it first. That's why I had computer graphics texts on my shelf. And Wolfram's website.

      Remember, time is finite. If you spend all your undergrad time doing most of a math major, you're going to not take a lot of essential CS classes.

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    12. Re:Simple Solution by Anonymous Coward · · Score: 0

      Classical statistics are indispensable when doing any kind of CS research -- how do you expect to get a paper published without doing a controlled experiment to prove the validity of your hypothesis?

    13. Re:Simple Solution by CharlesEGrant · · Score: 1

      Fiddlesticks! Baysean does not imply discrete. You are still going to have to learn about continuous distributions to do modeling with modeling with Bayesian models are applied to continuous variables. Look up Gaussian Bayesian networks for example. Furthermore if you are going to treat useful tools like the gamma function or MCMC as more than black boxes you are going to have to know calculus.

    14. Re:Simple Solution by IICV · · Score: 1

      Given that calculus-based statistics is pretty important to CS (eg, software metrics, big "O" stuff, writing programs that use statistics, etc), how is this relevant to your complaint?

      Because, as I went on to explain, the statistics course with calculus was primarily about continuous classical statistics, with discrete classical statistics as something of a side note and Bayesian statistics not even in the curriculum. Software metrics are discrete statistics, big "O" stuff is discrete classical statistics, and programs that use statistics are almost certainly going to be using discrete Bayesian statistics.

      I am not complaining about the fact that I was required to take a statistics course for my major; I am complaining about the fact that I was required to take the wrong statistics course. A classical and Bayesian statistics course emphasizing discrete statistics would have been better; this stuff I'm never going to use, ever, except for maybe the Central Limit Theorem.

    15. Re:Simple Solution by IICV · · Score: 1

      In my CS degree I took a "Discrete Mathematics" course. There was also a "Linear Algebra" course that covered matrices and vectors. I also took several other mathematics classes that covered calculus, statistics, etc. Basically, courses over the real and complex numbers. Ignoring calculus is basically throwing out almost all of mathematics that has happened since Newton. Any formulas you use will just be the algebraic results of applying calculus to find them.

      Good grief. Did you not read my post at all? My point was that in my major, I was required to take other kind of mathematics that were not the useful kinds of mathematics.

      Though we did have a discrete math course - it was offered through the CS department, because the math department didn't have any equivalent, and it kicked everyone's ass because we'd never done discrete mathematics before - it'd all been continuous math up until that point. Heck, I remember that the professor put up a bar graph of midterm results, and his Y axis extended off to the left of zero - someone had actually gotten a negative grade on the midterm.

      And that's the point that the guy in the article is raising. CS students are getting math, but not the right kinds of math.

      And seriously, how is anyone supposed to do any sort of numerical analysis without understanding taylor series or fourier transforms?

      Fucking right, how is anyone supposed to do numerical analysis without understanding Taylor series or Fourier transforms? And why were these topics not covered in any of the classes I took, until I was ambushed by them in senior level CS courses?

    16. Re:Simple Solution by Anonymous Coward · · Score: 0

      I have a CS minor because I could not pass Discrete Math. I went on to get a History BA degree and I write code for a living and do it well.

      You do not need a math education to code. Sorry folks.

    17. Re:Simple Solution by DMiax · · Score: 1

      sure, don't ever try to get a smooth curve in a UI and you are fine. Also: don't touch anti aliasing and for the love of god never try to mix colors: you may need fourier transforms! Don't ever work with sensor input audio or video or radio or accelerometers. Don't try to implement physics system for a game or industry application. Obviously floats are designed that way because it's fun, not because they approximate real numbers!

    18. Re:Simple Solution by Anonymous Coward · · Score: 0

      I continue to see that CS graduates can't run a simple experiment and calculate the error bounds of their measurements - even a simple one, such as "how long does this operation take in my cloud". How many of you know how to calculate the error bounds for the estimates of mean and variance for this experiment? I see very few who know how to do this.

      Finding error bounds for derived values sometimes requires the use of partial derivatives, which is a continuous function calculus concept (2nd trimester/3rd quarter, not the introductory class).

      Do CS grads take a physics or quantitative chemistry lab classes anymore? It doesn't appear to me that they do.

      To me, many CS grads seem to be unable to find out interesting things about the real, continuous world around them. IMHO this makes them a tradesperson, not an engineer.

      I work for a company that makes 'cloud computing' equipment. I use continuous math calculus and statistics several times a month - for example the above experiment I've dealt with multiple times in the last 6 months. (A hint - it's not basic statistics. If you assume it's a normal distribution, you're wrong, which I had to explain carefully to the CS grad involved)

    19. Re:Simple Solution by Skuld-Chan · · Score: 1

      I think it has to do with the fact that if you aren't dealing with low end systems you don't really need to know anything about math. I have two friends - one who is a developer at sendmail and the other at blizzard (works on sc2) and they both told me they rarely have to use any math at all in there day to day job.

    20. Re:Simple Solution by Mirey · · Score: 1

      "Basically, computer science uses a lot of discrete math, and a lot of vector/matrix math. Universities don't have a lot of general education courses that teach discrete math or vector/matrix math"

      It sounds like you're generalising from your university to all universities. In my first year we had 2 discrete maths modules and a general engineering one(basic statistics, calculus, analysis etc). After that, all modules that need something new get taught by the module that needs it. For example, in a data modeling module, we got taught about Bayesian statistics and all the other relevant mathematical concepts.

      I'm not saying that every University gets it right, I'm just saying that generalising from your university to all universities is a bit silly.

      Back on topic, teaching someone how to do something specific is silly, especially when the computing world moves so quickly. Maths lets you teach generalisations which you can easily apply to new situations.

    21. Re:Simple Solution by khallow · · Score: 1

      Software metrics are discrete statistics, big "O" stuff is discrete classical statistics, and programs that use statistics are almost certainly going to be using discrete Bayesian statistics.

      You want to whine? Fine, whine. I have found continuous statistics to be useful for the above things. That's why I listed them. Further, now that you know the continuous version of statistics, the discrete version will come along rather easily. Knowing any sort of statistics, some logic, and combinatorics or number theory, is pretty much what you need for discrete statistics and probability.

      Also, another replier to my original post, agreed, stating:

      To me, many CS grads seem to be unable to find out interesting things about the real, continuous world around them. IMHO this makes them a tradesperson, not an engineer.

    22. Re:Simple Solution by Anonymous Coward · · Score: 0

      And seriously, how is anyone supposed to do any sort of numerical analysis without understanding taylor series or fourier transforms? How can someone perform complexity analysis without a good grasp of infinite series and calculus?

      RIght... just like all med students, even if they're going to be a gynecologist or family practitioner, should learn open heart surgery, those pesky OS and network stack programmers should write numerical analysis code.

      Way to miss the point.

    23. Re:Simple Solution by PerlPunk · · Score: 1

      Not a CS student. I learned software development on my own and in the industry and later returned to get a Stats degree. The reason I did that is Stats allows you to make inferences about populations from samples of the population. The utility of a Stats degree in software engineering should be self-evident: there are plenty of situations where you will be dealing with way too much information yet you have to make inferences about it. Therefore I would say if you are an able-enough programmer coming into college, keep software development as a part-time job and go for a stats degree or a math degree. In fact, better I think they teach basic programming like Java, C++, Perl, PHP, shell scripting, etc., at the level of high school and reserve CS (with emphasis on science) for college.

    24. Re:Simple Solution by Anonymous Coward · · Score: 0

      Your remark is condescending to a disgusting level. Fuck you, and have fun troubleshooting the network at a 50,000 endpoint location across more than 100 subnets and 3 DMZs.

      I'll take my shiny jargon over the stick you have up your ass.

    25. Re:Simple Solution by Anonymous Coward · · Score: 0

      For me this would have made sense if 6 other classes didn't shoehorn software metrics into their curriculum, so I had software metrics about 4 times before I had even gotten to statistics. This however is a completely different problem.

    26. Re:Simple Solution by exploder · · Score: 1

      Um, the prof was saying calculus and continuous math have little to do with CS. Discrete math, etc, is always going to be a big part of CS/algorithms.

      Ever hear of the integral test for convergence of a sequence? Or more generally, the entire field of analytic number theory? Continuous methods are used all the time, and with great profit, to investigate discrete problems.

      --
      Yo dawg, I heard you like the Ackermann function, so OH GOD OH GOD OH GOD
    27. Re:Simple Solution by exploder · · Score: 1

      Math is very stable knowledge [...] It simply makes more sense to learn proper theory and then specialize as needed for the problems at hand. Moreover, teaching such unstable things in universities is borderline idiotic, since they may no longer be relevant after graduation!

      IMO this is the most insightful comment in the whole discussion.

      --
      Yo dawg, I heard you like the Ackermann function, so OH GOD OH GOD OH GOD
    28. Re:Simple Solution by khallow · · Score: 1

      For me this would have made sense if 6 other classes didn't shoehorn software metrics into their curriculum, so I had software metrics about 4 times before I had even gotten to statistics. This however is a completely different problem.

      Statistics doesn't teach software metrics. It teaches what to do (and not do) with statistics like software metrics.

    29. Re:Simple Solution by Lemmy+Caution · · Score: 1

      Good grief. Did you not read my post at all? My point was that in my major, I was required to take other kind of mathematics that were not the useful kinds of mathematics.

      Of course he didn't read your post. He's a CS student.

    30. Re:Simple Solution by Anonymous Coward · · Score: 0

      Since when is Bayesian statistics only discrete? you are going to have a hard time modelling the hyper-parameters of any standard Bayesian model using only discrete math.

  5. Everything we do is maths by Colin+Smith · · Score: 1

    It's everywhere. Unfortunately, it seems that the overwhelming majority of those who are taught it are almost universally unable to see where it can and should be applied.
     

    --
    Deleted
    1. Re:Everything we do is maths by icebike · · Score: 1

      It's everywhere. Unfortunately, it seems that the overwhelming majority of those who are taught it are almost universally unable to see where it can and should be applied.

      Perhaps there is some truth to that, but the history of the last 20 years of CS education has suggested that far too much time is spent teaching maths that have virtually no applicability to life beyond degree.

      There are computer fields where math education is critical, such as high end graphics, image manipulation, audio codecs, etc. But for the bulk of software engineers, programmers, network techs, sys-admins, and developers higher maths and calculus is totally unnecessary, simply NEVER used in real life applications.

      The whole field of computer science has been taken over by the higher maths crowd, starting with the assumptions that since its computers it must be complex and therefore it must need math. I challenged a professor as to why CS was a sub department of the Math department at my university (back in the day before CS broke out as its own school), and the rationale was that iteration (use of subscripts), dealing with arrays, counters, even summing simple numbers were all "math". And with that sweeping (and wrong) assertion the math department captured Computer Science for the next 15 years, doing irreparable harm in my view.

      In the real world, I could never hire these people because they couldn't get anything done. The few I did hire had to be "promoted" to the "turkey farm" doing studies and proposals to get them out of the way. Admittedly my field of systems development were more geared toward financial and tracking applications and commercial software development. But over my meager 30 years in the industry I've never seen any math more complex than that necessary for linear regression analysis, chi squares, and a few present value calculations.

      Most, the overwhelmingly vast majority of computer related work is simply not rocket science.

      --
      Sig Battery depleted. Reverting to safe mode.
  6. It's not the math ... by tomhudson · · Score: 2, Funny
    Forget advanced math - too many people lack basic language skills. This is supposed to be a tech site, and yet we still see people whose first language is english continuously confusing they're, their, and there, or rein, rain, and reign.

    We need some grammar nazis in the admissions offices.

    1. Re:It's not the math ... by Anonymous Coward · · Score: 0

      We also have people who think sci-fi is a form of engineering and that Star Trek was a documentary. Space Nutters ESPECIALLY should take remedial math, physics, chemistry, and biology to understand that there will never be space elevators, space-based solar power, Mars mining or asteroid colonies. Ever.

    2. Re:It's not the math ... by hedwards · · Score: 1

      Or, we need to realize that people arn't perfect, and that peopel like you could benefit from etiquete lessons and probably a dose of Paxil to help take the edge of the OCD.

    3. Re:It's not the math ... by $RANDOMLUSER · · Score: 4, Insightful

      Before everybody jumps all over him for being wrong and off-topic and all that, I'm going to agree with him. As working programmers, not necessarily CS professors, we manipulate language(s) for living, both formal languages for programs, and natural language for (ick!) documentation and communicating with others on projects. These languages, formal and informal, have both syntactic requirements and expressive requirements. A statement (or function) may compile cleanly and yet read as complete gibberish to a human trying to understand what this piece of code actually does; similarly, an e-mail may read as though it says something useful, yet impart no actual information. We all see examples of these phenomena every day when we write code for a living.

      --
      No folly is more costly than the folly of intolerant idealism. - Winston Churchill
    4. Re:It's not the math ... by Anonymous Coward · · Score: 2, Insightful

      You may try to write off this guy as anal. However, if you mix up your grammar on the job, I'll see you as a moron. Therefore, I'll give you the crappy assignments. Sorry, that is just the way it is. How can I trust you with a computer language when you can't even master the one you grew up with?

    5. Re:It's not the math ... by real+gumby · · Score: 1

      Forget advanced math - too many people lack basic language skills.

      I read your as half jest, half serious, but on a serious note: I find that good (and great) programmers are also very clear writers in English.

      I think there's a strong correlation between the skills needed to decompose a problem, structure a solution, and find appropriate and understandable (to other programmers and one's self later) constructs in order to write a good program and the same skills in making an argument or mastering a complex topic.

      I don't mean to suggest that great hackers are automatically great novelists! I am talking about clear expository prose.

    6. Re:It's not the math ... by tomhudson · · Score: 2
      While a space elevator to the ground probably isn't doable, one that doesn't reach down to the troposphere could be. At which point asteroid colonies begin to look a bit more feasible.

      A space elevator for the moon would only require the same tensile strength as kevlar, and one for Mars would be doable at the limits of current technology if it weren't for Phobos getting in the way every 8 hours..

      So the best way to get an Earth space elevator (or anything else) is to get your materials from the moon, from the lunar space elevator, rather than boosting them up Earth's gravity well.

    7. Re:It's not the math ... by thisnamestoolong · · Score: 4, Insightful

      Let's eat, grandpa!
      Let's eat grandpa!

      Grammar: it saves lives.

      --
      To the haters: You can't win. If you mod me down, I shall become more powerful than you could possibly imagine
    8. Re:It's not the math ... by Anonymous Coward · · Score: 0

      English is a proper noun

    9. Re:It's not the math ... by CptNerd · · Score: 2

      When I was in high school (in the early 70's, admittedly the dark ages) I learned how to parse sentences in two different classes: English and Latin. Learning how to parse a sentence to extract and identify the pieces was a skill that paid off when I had to learn about parsers and compilers in college. I agree that language skills are vital to practical software development, not just from the technical standpoint of writing logical software, but also from the political standpoint of understanding the requirements that the user expects the software to meet.

      --
      By the taping of my glasses, something geeky this way passes
    10. Re:It's not the math ... by tomhudson · · Score: 2
      I'd like to emphasize that both mathematics and language are used to communicate. Numbers don't "exist" by themselves. We're the ones who add multiple meanings to the number 42, for example.

      Look at the way we invented the number zero. There's no ready analog in the natural world. We can point out the first, second, third, ... apples in a row, but not the zeroeth one, and say "that is apple number zero".

      It's one reason we don't use roman numerals for math - no zero (they wrote nullus instead) - and why it was replaced with hindu-arabic numbers.

      Even back when we were learning to count on our fingers, we used numbers (or digits) to communicate more than just an abstract concept - we instinctively associate numbers with the objects they represent when we communicate with math. X dollars @ YY.ZZ per hour for an hourly wage, for example. We expect to be paid in dollars, not the abstract number behind it (though fiat currency and the fed are doing their best to change that :-)

    11. Re:It's not the math ... by cheekyjohnson · · Score: 1

      How can I trust you with a computer language when you can't even master the one you grew up with?

      Because it's not the same thing. I see people who evaluate others based on somewhat irrelevant qualities or skills as moronic.

      Yes, communicating with others is important. However, just because someone makes a few mistakes or doesn't know the language in perfect detail, that does not make them a "moron." It certainly doesn't mean that they do not understand anything else in great detail.

      --
      Filthy, filthy copyrapists!
    12. Re:It's not the math ... by PPH · · Score: 1

      That explains a lot. I've been spending weeks trying to get a loupe construct to work.

      --
      Have gnu, will travel.
    13. Re:It's not the math ... by demonlapin · · Score: 2

      That's just punctuation. Try capitalization:
      I had to help my uncle Jack off a horse.

    14. Re:It's not the math ... by Jane+Q.+Public · · Score: 1

      Not long ago for a "social networking" site I had to take some data about two people, one action, and sometimes an item or two, and turn them into an English sentence for a history feed, like this (emphasis added):

      "Bob Jones posted a comment about <a ...>this photo</a> in your photo album."

      "Cindy Smith added Tom Lewis to her circle of friends."

      This looks pretty simple at first. But it is actually far more complicated than it appears. There are a vast number of combinations. (Who is performing the action? Who [if anyone else] is being acted upon? Is there a possessive? Male or female? You, your, his, her? And so on. Then: how do I modify each part of the sentence to accurately reflect this?)

      In is complicated enough that even large sites with a lot of money behind them give up on this and just do "Tracy changed their profile picture." ("Their"? How do they get "their" out of Tracy? But it's easy to do this way.)

      It was a hard enough task just programming-wise. But if I didn't have a decent grasp of English I would not have been able to do it at all.

    15. Re:It's not the math ... by tomhudson · · Score: 1

      Forget advanced math - too many people lack basic language skills. This is supposed to be a tech site, and yet we still see people whose first language is english continuously confusing they're, their, and there, or rein, rain, and reign. We need some grammar nazis in the admissions offices.

      Or, we need to realize that people arn't (sic) perfect, and that peopel (sic) like you could benefit from etiquete (sic) lessons and probably a dose of Paxil to help take the edge of (sic) the OCD.

      Let me guess - you were trying for the first anti-grammar-nazi-nazi-spelling-nazi-troll-post of the day?

      I guess we should add a spelling nazi to the list of requirements. Maybe if we had had one back in the day, we wouldn't be stuck with HTTP-REFERER instead of HTTP-REFERRER.

    16. Re:It's not the math ... by Anonymous Coward · · Score: 2, Funny

      You're right. We never would've made it through the winter without eating grandpa. Wait. Without eating, grandpa. Wait. No. It was one of those. Can't remember which.

    17. Re:It's not the math ... by khallow · · Score: 1

      Space Nutters ESPECIALLY should take remedial math, physics, chemistry, and biology to understand that there will never be space elevators, space-based solar power, Mars mining or asteroid colonies. Ever.

      The "space nutter" thing again. Do you have a name?

    18. Re:It's not the math ... by delphi125 · · Score: 2

      There's no ready analog (to zero) in the natural world.

      None?

    19. Re:It's not the math ... by metlin · · Score: 1

      Hahaha! Too bad I posted in this thread, else I'd have modded you up. :-)

    20. Re:It's not the math ... by tomhudson · · Score: 1
      Line up 4 apples. You can point out apple #1, 2, 3, and 4. You can't point out apple #0. You can't tell me what it's color is, how much it weights, how it tastes, or even whether it's a golden delicious, a crabapple, or a macintosh. You can point to the space before the first apple, but that's not an apple, is it?

      Similarly, while you can divide them into 1, 2, 3, 4 portions (you'll need a knife for 3 portions, obviously), you can't divide them into zero portions.

      And while you can compare 1 apple and one orange, and say "these are not the same", try doing that with no apples and no oranges. All of a sudden, do apples compare equal to oranges? After all, the number of calories in zero apples is the same as the number of calories in zero oranges, they don't taste any different, or weigh any different, or even look any different. Or are they still unequal?

      Zero is purely a mathematical construct, with no physical analogue. Even nature abhors a vacuum.

    21. Re:It's not the math ... by jedidiah · · Score: 1

      When it comes to what's "nutty" and what's not, I think I will take my cues from actual NASA technical experts and not people from the Slashdot peanut gallery.

      "never" and "ever" are very dubious things to sprinkle your claims with.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    22. Re:It's not the math ... by Anonymous Coward · · Score: 0

      Or, we need to realize that people arn't perfect, and that peopel

      And that's where I stopped reading. Firefox highlights both of those. It's not about being perfect, it's about giving a shit and having basic English skills.

    23. Re:It's not the math ... by Anonymous Coward · · Score: 1

      > I see people who evaluate others based on somewhat irrelevant qualities or skills as moronic.

      The people being complained about aren't the ones who make "just a few mistakes"... they're the ones regularly making mistakes and trying to use "it's just a few mistakes" as their defense when they wonder "why do people hate me?" (which is, itself, a misinterpretation).

      Repeated mistakes demonstrate some or all of several things:
      - poor attention to detail
      - unwilling or unable to learn
      - disrespect for the time of others. (a particularly antagonizing one; "oh, he can understand me anyway, what's the big deal?" Well, you're expecting us to put in disproportionately more effort to communicate with you than you put in to communicating with us. You're essentially blaming US when we don't understand what YOU are failing to say.)

      These are ALL strong indicators that the same person is weak in other areas.

    24. Re:It's not the math ... by geezer+nerd · · Score: 1

      My credentials: I hold a PhD in Quantum Chemistry. Did a turn as Asst. Prof. of CS at a large US university. Enjoyed a 30+ year career in computing, doing processor architecture, language design, compiler and OS development, scientific computing, etailing, and voice response applications.
      Many times I was asked by young students "What should I take to really succeed?" My answer was "Learn to write English. Remember the legacy that a scientist or engineer leaves behind is whatever he writes."
      When I was teaching many times I heard students confess they were taking CS mainly because it had limited requirements to write, which they did not want to have to do.
      That attitude apparently continues to influence the choices made by current practitioners. (note the "ick!" above) When I acquire a new software package to find the documentation is replete with confusion of "your" with "you're" and other language gaffes, I note the fact and wonder whether the software itself was written with any more care and attention to detail and correctness than was the documentation.
      As for the math discussion, I always found the math more arising from the problem domain than ever from the programming. I do, however, remember a lost weekend where I was feverishly compensating for the fact that I had inherited a deployed system which had a built-in O(n^2) initialization algorithm that ran when the system was restarted at midnight every day and finally n had gotten big enough that the initialization was going to take all day itself.

    25. Re:It's not the math ... by delphi125 · · Score: 1

      Oh dear, you actually do need a refresher course in mathematics.

      What do you call an abelian group with an associative, distributive secondary operator and the power to corrupt mortals?

      Answer here: http://www.irregularwebcomic.net/470.html

      Apples and oranges are age 5 concepts of counting, at which point children aren't necessarily learning even to subtract yet. As a child I lived at #17, so #13 was two doors to the left, and #21 was two doors to the right. They were two doors away from my house, and from each other they were four doors! But my house was no doors from my house, it was (in more formal mathematical terms) O, the Origin, for me.

      Next thing you will be telling me that Quaternions are a purely mathematical construct, with no physical analogue. Oh wait, how about Spacetime, you know, the natural universe we live in?

      Now, defining Zero to be the equivalent of the empty set {} and then using the Peano axioms, THAT is a mathematical construct which can help us (mathematicians) to be rigorous (at least until Kurt F.ing Goedel comes along) without a direct physical analogue.

      What confused you in your previous post is that the Romans had a perfectly good CONCEPT of zero (nullus) but lacked the notation for it, because they were (in CS terms) overloading their alphabet to do numbers too. Just as hexadecimal notitation does, feed face?

      The reason that calculus is so common (not that I did it in my CS diploma, but then I have an M.A. in natural philosophy) a requirement is that Euler's formula brings together many of the (non-discrete) mathematical topics. I'm not sure to what degree (ha!) multiple differentiation (let alone integration) is relevant to a CS student, but a sound mathetical grounding is most certainly to be expected, just as biology and chemistry are to medical students, language to law and arts student, and ouija board usage to economists.

      Furthermore, in a liberal (arts/science) degree, if you choose to be a science major of any kind, it would make sense that there is some sort of core curriculum which you are expected to be aware of at least, and where say a medical student might get away with slightly less on the maths front, I'd certainly hope they'd be able to understand that none/zero is one less than one in much the same way as one is one less than two.

      Perhaps you are confused between ordinals and cardinals. It makes sense to say "I ate my first apple, then my second apple." It makes significantly less sense to then say "But before that, I ate my zeroth apple". If I have an apple, and you have an orange, then in the vector space of apples and oranges, I have (1, 0) and you have (0, 1). Those look remarkably different to me. However, if we both had 42 apples and 13 oranges, then the difference between our possessions would be NONE.

    26. Re:It's not the math ... by tomhudson · · Score: 1
      Mathematics are, by nature, human constructs. The entire "mathematical universe", including all mathematical operations, simply doesn't exist outside of our minds. We can add 2 apples + 2 apples, but this is something WE do - it isn't part of the natural universe - we would see it as 4 apples, but the apples don't suddenly become an entity of "4 apples", they are still individual apples. Of course, if we make apple sauce, we have changed the properties of the apples - they are no longer apples, they're apple sauce.

      Example - when you say:

      However, if we both had 42 apples and 13 oranges, then the difference between our possessions would be NONE.

      You are totally wrong. Our possessions are completely different. If I take and eat one of my apples, you still have 42 apples. YOUR 42 apples are not MY 42 apples - each one is completely different. The point is that the "quantity" is a human concept, it is not something that the universe, or the apple, is "aware of". If you really believe there is no difference, then you shouldn't mind us starting with the same AMOUNT of money, movie, going to the movies and paying both tickets with YOUR money - after all, there is no difference between our money, so paying my ticket with your money should be identical to paying my ticket with my own money.

      The universe doesn't "do math".

    27. Re:It's not the math ... by cheekyjohnson · · Score: 1

      - poor attention to detail
      - unwilling or unable to learn

      In that specific area. You don't know their reasons.

      These are ALL strong indicators that the same person is weak in other areas.

      It only indicates that they are weak in that specific area (until you can prove otherwise).

      --
      Filthy, filthy copyrapists!
    28. Re:It's not the math ... by Anonymous Coward · · Score: 0

      That's why we go to school: to learn things we don't already know, and to learn how to learn. Were the two typos in your one-sentence response ironic/sarcastic?

    29. Re:It's not the math ... by Anonymous Coward · · Score: 0

      Or, we need to realize that people arn't perfect, and that peopel like you could benefit from etiquete lessons and probably a dose of Paxil to help take the edge of the OCD.

      I don't usually post anonymously, but my wife is really sensitive about this aspect of herself.

      She is an incredibly smart person, and she has a reading disability. While she has a PharmD and is practicing as a pharmacy manager she also misspells everything. Anyone who reads her emails would think she is an idiot unless they understood her challenges.

      So to you, hedwards, Sir, I would give modpoints if I had them. I would also like to mark tomhudson (43916) as a troll, but I cannot.

      --Jason

    30. Re:It's not the math ... by Volvogga · · Score: 1

      Forget advanced math - too many people lack basic language skills. This is supposed to be a tech site, and yet we still see people whose first language is english continuously confusing they're, their, and there, or rein, rain, and reign.

      We need some grammar nazis in the admissions offices.

      No, we need them in the K-12 classrooms. My university decided that I needed to take two writing classes for my IS degree. They were nothing more than a re-hash of topics I learned in middle school and high school. At first, I thought the classes (every major has to take them) were a way to ensure that the writing department got to keep its feelings of self-importance, but discovered that I was quite wrong in that assumption. When we had to read each others' papers, I was shocked at how bad my classmates' writings were. I know that I am not the best writer (I'm sure a real grammar nazi could find a decent number of technical mistakes in my work), but most of my errors are subtle and get lost in the flow. These errors were obvious and occurred in great number. Reading the papers was painful.

      Good writing doesn't seem to be a requirement for a high school diploma now. I personally don't think a college/university has any business teaching grammar, sentence structure, or the difference between they're, their, and there. In fact, I would say if you can't get they're, their, and there correct by middle school, you shouldn't be allowed to move on to high school.

      --
      Vol~
    31. Re:It's not the math ... by Anonymous Coward · · Score: 0

      Never gonna happen. Ever. Nice to dream, though, eh?

    32. Re:It's not the math ... by Anonymous Coward · · Score: 0
      Haha, being a technical expert on space elevators is kind of like being a veterinarian to a unicorn. I don't think I'm making a "dubious" claim when I say that there will never, ever be space elevators. Why is the old proverb "extraordinary claims require extraoridnary proof" thrown out the window when it comes to geeky sci-fi brain jism?

      It will NEVER happen. Anyone with even a SLIGHT contact with reality should know that.

      So, does this "NASA technical expert" on non-existing technologies have a name? Since there are no space elevators, why aren't his comments viewed as "peanut gallery" level?

    33. Re:It's not the math ... by CptNerd · · Score: 1

      And what makes you the expert on space colonies etc., that you can say they will never happen, ever?

      --
      By the taping of my glasses, something geeky this way passes
    34. Re:It's not the math ... by bugs2squash · · Score: 1

      I can create a pointer to apples 0, 1, 2, and 3 but pointing to apple 4 is an array out of bounds error.

      --
      Nullius in verba
    35. Re:It's not the math ... by DCFusor · · Score: 1

      And even you forgot loose and lose, and affect and effect, which are classics around here. I'm a sort of precisionist when it comes to language -- human or computer. While you can never make, say, English as specific and definite as say, C++, if you can't communicate the problem, you're never going to get a correct solution except by luck. And of course, it can be kinda tough to express some things in a computer language. For that matter, somethings resist expression in any known language. And some languages lose meanings. The Romans had three words for love -- eros, filial, agape. Once you know what those mean, there's a lot less misunderstanding. We didn't pick up on that.....and look at the effects on society from using just one word to mean 3 different things! Say what you mean, and if you have to stop and think how to do that with few words, fine. Mean what you say -- again, if that takes extra thought, take the time, don't waste mine.

      --
      Why guess when you can know? Measure!
    36. Re:It's not the math ... by tomhudson · · Score: 1

      It's one reason I keep a thesaurus handy when writing code. If the function/object/variable name isn't right, it makes the code less manageable in the long run.

    37. Re:It's not the math ... by mhelander · · Score: 1

      Every programmer I know will point to the first apple and say "that is apple number zero"

    38. Re:It's not the math ... by chthon · · Score: 1

      So you don't think that nuclear reactions and chemistry amount to some kind of calculation, e.g. adding protons is incrementing, letting orbitals connect together is not also a kind of addition?

    39. Re:It's not the math ... by Wain13001 · · Score: 1

      when viewed as "incrementing" you are applying an abstract mathematical idea to what you are seeing. The very fact that the individual protons are distinguishable from one another means you in fact aren't "incrementing" within the natural world...you are applying an abstract concept in order to generalize the action occurring, the reason why you do this is so you can then develop an abstract (a highly useful one) understanding of the relationship....but it's all applied maths, it doesn't happen innately within the world...you are the one saying the protons are all exactly alike and therefore are being incremented. Nature makes no such statements, it's just physical things that happen.

      What OP is talking about is that maths has to be applied to the world, it does not exist "within" the world.

      "None" refers to something that doesn't exist, which means as OP says "there is no analog of it in the natural world." It is a concept that is applied to the world by humans abstractly. You can't physically show me the "no apples you have today."

      Your example of the doors where you live is applied abstractly by you in order to generate a relationship among the doors for you to understand...but that relationship is not physical, it is abstracted, it does not exist within the real world.

    40. Re:It's not the math ... by Anonymous Coward · · Score: 0

      A basic understanding of physics, economy, biology, psychology, politics, engineering and chemistry? There simply are no materials out there to allow the sci-fi levels of technology, and we certainly don't have the energy. How does a coal-powered space elevator sound to you? How does 100% fail-safe engineering sound to you?

    41. Re:It's not the math ... by tomhudson · · Score: 1
      Thank you thank you thank you - someone who understands that we see things because that's how we see them, and not necessarily because that's how they are. We filter everything we experience through our pre-existing concepts.

      It's like programmers who forget that the "objects" they're dealing with aren't really objects - just a level of abstraction, and a convenient way to organize the underlying bits so we don't have to deal with the complexity.

    42. Re:It's not the math ... by geedubyoo · · Score: 1

      I agree. Many times I've avoided software on sourceforge because the author's description is badly punctuated. It doesn't instil confidence if a programmer doesn't know where to put an apostrophe in a plain English sentence - how can I trust him/her to use them properly in C++?

    43. Re:It's not the math ... by Weedhopper · · Score: 1

      Ah, to run out of mod points as I see this comment....

    44. Re:It's not the math ... by Anonymous Coward · · Score: 0

      There's no ready analog (to zero) in the natural world.

      None?

      A winner is you.

    45. Re:It's not the math ... by NoOneInParticular · · Score: 1
      Yet still you say:

      We can add 2 apples + 2 apples, but this is something WE do - it isn't part of the natural universe - we would see it as 4 apples, but the apples don't suddenly become an entity of "4 apples", they are still individual apples.

      But now you also claim that even individual apples are not part of the natural universe, but are also constructs of our way of dealing with the universe (here I agree with you). How can you critique mathematics for not being natural, while at the same time you celebrate that our entire way of dealing with the natural world is in the same way not part of the natural universe? Why is the concept of four things constructed by the human mind less natural than one thing constructed by the human mind? Why is 'none' even more abstract? What is your point?

    46. Re:It's not the math ... by tomhudson · · Score: 1
      No, I claim that the nature of the apples doesn't change, despite the semantic meanings we assign to them.

      It's like "none" or "zero" - you can't define it by what it is, but only by what it isn't. "0 apples", for example, is the absence of apples.

    47. Re:It's not the math ... by greyline · · Score: 1

      One could use commas to help clarify that sentence, such as this: I had to help my uncle, Jack, off a horse. Then again, speaking and writing that sentence are two different things.

    48. Re:It's not the math ... by Anonymous Coward · · Score: 0

      Forget advanced math - too many people lack basic language skills. This is supposed to be a tech site, and yet we still see people whose first language is English continuously confusing they're, their, and there, or rein, rain, and reign.

      We need some grammar NAZIs in the admissions offices.

      FTFY

    49. Re:It's not the math ... by tomhudson · · Score: 1
      Capitalization of the word "english" in such contexts is a stupid convention enforced by spell-checking nazis. It's not the name/label of a specific physical object - a person, place, or thing. It could be referring to either one of many spoken or written dialects, or an ethnic or geographic origin. We only capitalize it because "that's the way we've always done it", which is a pretty lousy excuse.

      We don't say "This is an Orange Orange", even though we're referring to both a specific object and a specific colour.

      We don't write "The Sun was high in the sky" even though we only call one specific star "the sun". Ditto with the moon.

      The use of capitalization in such cases looks dumb because it IS dumb. So why make the distinction with english, french, or whatever (interestingly, my spell-checker doesn't flag the use of lower case for "french", just "english").

      Also, the term "nazis" is now generic - it doesn't necessarily refer to members of a political party, just like someone can be a republican or democrat without being a US citizen. There's a difference between being a democrat and a Democrat, a liberal and a Liberal, etc.

    50. Re:It's not the math ... by airdweller · · Score: 0

      "The Romans had three words for love -- eros, filial, agape"
      Not the Romans, but the Greek. Also, not three, but four: agape, philia, eros and storge.

  7. linear algebra by aahpandasrun · · Score: 2

    I could understand CS majors being required to take linear algebra, but Calculus and Calculus 2? It's a waste of credits for the most part.

    1. Re:linear algebra by hedwards · · Score: 2

      All the schools I've ever been to require students to take calc 1 & 2 in order to get to linear algebra. Plus, you don't typically see series and sequences until calc 3, and those are probably the most useful portion of calculus for programmers. You don't see it until then because they typically want you to have an understanding of what exactly it is that you're doing.

      Differential equations is probably not a bad thing to have under the belt either, depending upon what exactly it is that you're wanting to program. Besides, aren't computer scientists supposed to be more than glorified programmers?

      And it's really not a waste, unless you fail to learn the conceptual basis for it. A lot of it is useful in terms of informing a person's way of looking at the world. Calculus itself is considered a freshman level series at most colleges and most other sciences require it as a condition of graduation. Sure if you focus on the calculations I'm sure it isn't terribly useful, but it does contribute towards ones understanding of how to model things mathematically.

    2. Re:linear algebra by phantomfive · · Score: 3, Insightful

      Try understanding neural networks without understanding calculus. You can become a code monkey without it, but there are areas of computer science that will be beyond your grasp if you don't understand calculus (and statistics).

      --
      "First they came for the slanderers and i said nothing."
    3. Re:linear algebra by BlogTroller · · Score: 1

      Where i go (Swedish university) we started with linear algebra the first semester and then took single and multi variable calculus the second semester (though, they're called mathematical analysis in Sweden). The only use i've seen for calculus so far is in the physics course that we are also required to take from some reason.

    4. Re:linear algebra by Anonymous Coward · · Score: 0

      If you're in college asking questions like "How is this necessary for my job?" you are in the wrong place. If you aren't interested in getting a well-rounded education, gtfo. This is the purpose of college.

    5. Re:linear algebra by nhaehnle · · Score: 1

      There are quite a lot of places in CS theory where calculus or, to be more precise, a solid understanding of the exponential function and related topics, is very valuable. I remember taking a course on networking at university, and it happened to talk about probabilistic algorithms, queueing theory, etc., where people suddenly had to deal with exponential distributions and such things, which are really built on calculus. Of course, teaching calculus in the first year probably isn't going to help that much when people actually only need it two or three years later, but that's a general problem in education.

    6. Re:linear algebra by Anonymous Coward · · Score: 0

      +1, sir.

    7. Re:linear algebra by egladil · · Score: 1

      Sounds like your studying an engineering degree (civilingenjör) :) The reason for the physics and other "unrelated" courses in almost all MSc level engineering degrees in Sweden is to provide breadth. You are supposed to know a little about everything along with your main subject and be able to tie it all together. I suspect (or at least hope) it's the same in other countries. Another point is to learn to be a good learner. When you get out of uni and start working you will most likely not work with the exact thing you studied. You will be expected to learn new things and build on what you've already know.

    8. Re:linear algebra by Anonymous Coward · · Score: 0

      Yes, statistics is so important yet the probability course in most universities is a joke. I learned all the statistics after graduation while programming pattern recognition systems.

    9. Re:linear algebra by cheekyjohnson · · Score: 1

      This is the purpose of college.

      The purpose of college is learning things that you actually need for your future job. Being forced to memorize (and then quickly forget) irrelevant things is just inefficient. If someone fails to take courses that they need because they didn't do any research themselves, then too bad for them.

      --
      Filthy, filthy copyrapists!
    10. Re:linear algebra by Anonymous Coward · · Score: 0

      So, basically, what you're saying is that CS Majors need Calc 1 and 2 less than Biology and Chemistry majors do?

      Could it be that most science-based majors are required to take Calc 1 and 2, regardless of what you think of its usefulness? (HINT: Your are wrong)

    11. Re:linear algebra by phantomfive · · Score: 1

      I'm guessing you should have taken advanced statistics. Most universities have two statistics classes: one for business type majors, and one for people who've learned calculus. It makes a huge difference.

      --
      "First they came for the slanderers and i said nothing."
    12. Re:linear algebra by hnangelo · · Score: 1

      You should try some computer graphics or signal processing.

    13. Re:linear algebra by Anonymous Coward · · Score: 0

      Too bad you can't get to the advanced courses without enduring bullshit first...

    14. Re:linear algebra by Speare · · Score: 1

      Actually, I've always been weak at calculus, and felt like neural nets were poorly explained in most literature. I feel I'm pretty good with geometry, though, including the usual 3D transforms and quaternions. An associate demonstrated the way neural networks work in terms of n-space geometry, and a lightbulb popped into my head immediately. The weights and biases of every inner node of a neural net describe a hyperplane, and the outputs are just a weighted sum of influences according to the input point's distance relative to each hyperplane.

      --
      [ .sig file not found ]
    15. Re:linear algebra by jedidiah · · Score: 1

      People have been using college to prepare for their careers since colleges have been in existence. It's just mindless pretense to pretend that it's ever been otherwise. Academics and others that like to pretend that higher education is "above such things" are really doing their students a disservice.

      Sometimes I wonder if it is just a class warfare thing to try and totally separate higher education from any means to pay for it short of a suitably large family fortune.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    16. Re:linear algebra by RzUpAnmsCwrds · · Score: 5, Insightful

      Try understanding neural networks without understanding calculus. You can become a code monkey without it, but there are areas of computer science that will be beyond your grasp if you don't understand calculus (and statistics).

      There is always going to be the some aspect of CS that's beyond your grasp, no matter what you take.

      As someone who just graduated from a 4-year CS program and is about to get an MS in CS, and as someone who is a paid researcher on a major CS research grant, let me say this: CS is much broader than most people think.

      Anyone who says that CS is just about the theory of computation has a very narrow view of CS. There's a sort of bullshit 'purity' argument that anything else should be put into another category like programming or computer engineering.

      Some topics are easy to categorize. Design methodologies? Software engineering. CPU design? Computer engineering.

      But then there are topics that defy classification. Is compiler design a CS topic, or is it CE? It's probably both. Is static verification a CS topic or a SWE topic? Both.

      And then there are topics that obviously belong (at least partially) in CS but often have very little to do with computational theory. Computer vision, natural language processing, network theory, and quite a bit more.

      If you limit CS to just algorithms and the theory of computation, students get a very limited view of what's out there. I would argue that students should have a good idea of how real computer systems work, how operating systems are designed, how network systems communicate, and how software is designed and built. None of these topics fit neatly and entirely under the "CS" banner, but that doesn't mean that they aren't important and it doesn't mean that there is not legitimate and ongoing research in those fields.

      There is no getting away from the fact that most need to be able to write code after graduating from a CS program. Even in the academic community, most positions involve quite a bit of coding. There are a very few positions where academics can focus on the theory all day long. For most projects, though, publishable results depends on producing a working system, and that means writing code.

    17. Re:linear algebra by Anonymous Coward · · Score: 0

      My school is even worse- Comp Sci students are required to take Calc 1, Calc 2, multivariate, and Elementary Differential Equations but Linear Algebra is considered a tech elective.

    18. Re:linear algebra by phantomfive · · Score: 1

      As someone who just graduated from a 4-year CS program and is about to get an MS in CS,

      Oooh, look who just got a shiny degree and now thinks he's smarter than the rest of us. Good job.

      If you limit CS to just algorithms and the theory of computation, students get a very limited view of what's out there.

      Why would you do that? There is no normal CS program that does that.

      I would argue that students should have a good idea of how real computer systems work, how operating systems are designed, how network systems communicate, and how software is designed and built.

      But who exactly would you argue with? Who disagrees with you? They very much are computer science......otherwise we would have to call it computer theory. Which a branch of it is.

      --
      "First they came for the slanderers and i said nothing."
    19. Re:linear algebra by exploder · · Score: 1

      "Purpose" varies by individual, naturally, but you might consider that "my future job" is not equivalent to "my future life" for some of us.

      --
      Yo dawg, I heard you like the Ackermann function, so OH GOD OH GOD OH GOD
  8. Some Math is Good by shawnhcorey · · Score: 5, Interesting

    I don't know about calculus but doing formal proofs help me in learning programming because they are, in essence, the same thing. In a formal proof, you break down a problem into simple steps and state the authority for each. It is similar to programming. So some math is good.

    --
    Don't stop where the ink does.
    1. Re:Some Math is Good by Anonymous Coward · · Score: 0

      grammer nazi's is shouldn't taeck the rain, their stutid.

    2. Re:Some Math is Good by Anonymous Coward · · Score: 0

      i froma china town and I ROR when I read your statement

    3. Re:Some Math is Good by thenextstevejobs · · Score: 2

      I don't know about calculus but doing formal proofs.

      Thank you.

      As someone who went through a very "theoretical" CS program at a top 20, I am certain I was forced to spend WAY too much time doing calculus instead of exploring other areas of math. The core tenets of it are very important, but putting everyone through class after class of multi-var blah blah is just a waste of time. Most students didn't get a chance to take analysis or anything that would teach them about WHY the shit works or what the theory or point of it was. We just had to do course after course of symbolic manipulation that none of us would ever use.

      More discreet math, more graph theory, more analysis, more formal proofs, more whatever else I never got a chance to explore, less calculus.

      --
      Long live the BSD license
    4. Re:Some Math is Good by Threni · · Score: 1

      Are we able to formally prove more than the simplest of pieces of code, though? I understand from talking to mates who are into this that we're still some way off anything useful outside of academia (ie where you could 'spellcheck' your Eclipse project for 'wrong' code).

    5. Re:Some Math is Good by shawnhcorey · · Score: 1

      True, but the biggest reason for that is because we can prove the OS is true. Most programs rely on the OS for some functionality, like I/O, and until the OS is shown to be true, no program can be.

      --
      Don't stop where the ink does.
    6. Re:Some Math is Good by martin-boundary · · Score: 2
      For example, calculus lets you do sums (*), and sums crop up whenever there is repetition or recursion, which is pretty much all over the place in CS.

      (*) The Euler Summation Formula converts a sum into an approximate integral, or an integral into an approximate sum.

    7. Re:Some Math is Good by AnyoneEB · · Score: 1

      Yes, formal verification of non-trivial program has been done. The "industry usage" section of the Wikipedia article on formal verification for a few examples.

      That said, it is currently extremely expensive because it requires skilled programmers spending a lot of time on the verification, so it is only done when the correctness of the program is very important. Making it cheap enough to be used in any significant proportion of software projects is indeed a pretty far off. Having a large, carefully considered test suite is much more tractable and generally considered good enough (the vast majority of software, in practice, does not need to be bug-free).

      On the other hand, proving a specific algorithm (as opposed to an entire system) formally correct may require a lot less work and is often the only way to convince oneself that it is actually correct.

      Also, I think the GP was talking about the formal thinking of mathematics in general carrying over to programming.

      --
      Centralization breaks the internet.
    8. Re:Some Math is Good by Anonymous Coward · · Score: 0

      Formal proofs have been stripped from high school geometry textbooks. That is not taught any more, so that students can progress to learning calculus earlier.

    9. Re:Some Math is Good by exploder · · Score: 1

      A calculus sequence is, what, three courses? At most it kept you from taking three other courses, even if by "less calculus" you mean none.

      --
      Yo dawg, I heard you like the Ackermann function, so OH GOD OH GOD OH GOD
  9. bla bla fad bla by Anonymous Coward · · Score: 1

    1. Undergrad comp sci is for the fundamentals of comp sci, not the latest marketing buzzwords like "cloud computing";

    2. Comp sci is a branch of mathematics, and any of the elementary branches of mathematics may be combined to improve your toolset. For example, complexity theory may involve analytic number theory;

    3. You probably wanted a trade school. Universities do not exist to train you for a job. They may make you better in the workplace, but that's incidental.

    1. Re:bla bla fad bla by sydneyfong · · Score: 1

      1. Undergrad comp sci is for the fundamentals of comp sci, not the latest marketing buzzwords like "cloud computing";

      There is a lot of fundamentals in distributed systems/algorithms/computing. And as far as I understand it, it doesn't depend on any established branch of "mathematics".

      Sure, you can always find courses on "cloud computing" that teaches you how to create Amazon EC2 instances, call remote APIs and so on, but there is a lot of difficult things in there, which, I presume from your maths background, probably didn't appreciate.

      --
      Don't quote me on this.
    2. Re:bla bla fad bla by Anonymous Coward · · Score: 1

      Here, let me fix something for you: Universities didn't *used* to exist to train you for a job. There you go. Now you're in line with today's expectations. If you don't believe me, check the qualifications for the want ads. A university degree is like toilet paper. Everybody has to have one. If you don't, you're staring at 35k a year at best, a very hard road trying to find something better, or a job that endangers you physically. There are very few exceptions. And yes, this is a very broken system.

    3. Re:bla bla fad bla by Anonymous Coward · · Score: 0

      There is a lot of fundamentals in distributed systems/algorithms/computing.

      Agreed. As an undergrad I learnt from her stuff. Someting's wrong with America if concurrent, distributed systems theory isn't considered a legitimate branch of computer science.

      But "cloud computing" is something very different, being a marketing term for "stuff being stored and processed somehow somewhere else so I don't have to think much about it". The term is usually used to refer to particular APIs or "web apps" on top of little more than a modern storage VAXcluster or a classical server instance which can be migrated transparently between physical hosts. A true concurrent, distributed transaction processing/operating system (from the PoV of processing and storage) is rarely provided.

      And as far as I understand it, it doesn't depend on any established branch of "mathematics".

      How are you modelling? How are you proving resilience? How are you measuring performance, asymptotically and theoretically? You require both mathematical maturity and grasp of all the elementary branches of mathematics in order to give yourself the opportunity to fully explore any topic in computer science. I'm not really sure what the counterargument here is beyond, "I want to be lazy and get by with the minimum to pass 'cos some mathematics is hard."

    4. Re:bla bla fad bla by xelah · · Score: 1

      They still (often) don't. in many areas, anyway. It's all about signalling. Essentially that means using the fact that you could be bothered to get a degree as a signal that you're capable and motivated. The more people that do this - and government these days seems to love 'widening access', at least in the UK - the more degraded the signal, so MScs will be the new BScs, and so on.

  10. Speaking for myself by Anonymous Coward · · Score: 0

    I dropped out of College because I couldn't get in to CS due to math requirements, however I took many contracts to create back-ends for successful web sites, took contract jobs to convert and create document/spreadsheet macros for fortune 500 companies, in my spare time I make independent games, and at my current job I create many tools to streamline the work we do. Clearly I understand the stuff, I have it on my resume, but maybe a degree would have helped me get me started much earlier on what I actually wanted to do. Instead I had to take a lot of crappy jobs to get here and missed on the opportunity to put more money away from my future since I was stuck in minimum wage until someone recognized my real talents.

    1. Re:Speaking for myself by tomhudson · · Score: 1
      Do like one of my friends did - phonied up a university diploma for another friend who was going to lose his job because of a new requirement that his current position now needed a degree, who took it to the university (hint - the university name begins with the letter "M"), they checked their record - "No, we have no record of you here", he told them he "knew damn well that he had attended", and that "the records were lost because of a computer failure" - after lots of argument, they finally gave in and "re-issued" the bogus diploma.

      A fine piece of social engineering.

    2. Re:Speaking for myself by cheekyjohnson · · Score: 1

      lose his job because of a new requirement that his current position now needed a degree

      That makes no sense. If they already had employees who they knew were doing a good job, then what is the point of such a requirement (or at least firing existing workers who they know know what they are doing)?

      --
      Filthy, filthy copyrapists!
    3. Re:Speaking for myself by tomhudson · · Score: 1

      lose his job because of a new requirement that his current position now needed a degree

      That makes no sense. If they already had employees who they knew were doing a good job, then what is the point of such a requirement (or at least firing existing workers who they know know what they are doing)?

      Same story as usual - office politics. His boss wanted to get rid of him to free up the slot so he could hire one of his buddies from outside the company.

  11. Seen this so many times before.... by Anonymous Coward · · Score: 0

    In the Business degrees the students/profs didn't get no respect (and were nowhere near as funny as Rodney Dangerfield). So, they started adding "math just like the real degrees." It has gotten to the point that when you look at the requirements for an Accounting Ph.d. (a ture labor of Sisyphus) the ciriculum looks like anything but accounting.

    Personally, I think CS has degenerated to the same level of the other degrees generated by the great American Degree Mill. It now has the primary purpose of sucking up Government Grant Money.

    Just my negative opinion from watching this comedy for the last half century...

  12. It IS the math by Anonymous Coward · · Score: 0

    The purpose of a computer science degree is to teach one how to think computationaly. Math is the universal language of computation.

  13. I agree.. less math by iONiUM · · Score: 0

    I don't get why I had to learn all the math in university. I agree some math is useful, but I have never in my 10 years working applied any of the advanced stuff, nor found learning it helpful.

    I think everyone is so stuck on the relationship between Cs and math they refuse to even hear arguments that dispute this. Why is that? Why such math zealotry?

    1. Re:I agree.. less math by mgbastard · · Score: 2

      I would submit the math requirements are common in the core requirements of any Bachelor of Sciences degree, rather than specific to a Computer Science major.

      If you don't want to master basic college-level math to earn a sciences degree, then perhaps you should be lobbying academics to offer a Bachelor of Arts with a Applications Development major instead.

      --
      Anyone seen my low uid? last seen 10 years ago while panning the #@$# out of Taco's 'web based discussion system'
    2. Re:I agree.. less math by iONiUM · · Score: 1

      I guess this is what I'm talking about. I have a B.Sc, I got it years ago, and here you are with your snarky response, judging me, as if I'm too stupid for the math (yes, it's implied with what you said). It's not that I can't learn it, as obviously I did, it's that it wasn't useful. But I guess if it helps validate people like you, it will never change, since it's a big circle-jerk in acadamia.

    3. Re:I agree.. less math by TapeCutter · · Score: 1

      It's not that I can't learn it, as obviously I did, it's that it wasn't useful.

      I also have a BSc with majors in CS and operations research (logitics) from 20yrs ago. Most of what I learnt at university has not helped me make a quid, but if that's your sole measure of useful then I think you're missing the point of a decent education.

      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
    4. Re:I agree.. less math by cheekyjohnson · · Score: 1

      but if that's your sole measure of useful

      If you don't use it, it isn't useful. If it doesn't help you, it isn't useful. I don't see how a "decent education" means to force useless knowledge upon everyone. It's inefficient and it's a waste of time. If there are people who do not take courses that they need, then that is (again) their own fault.

      --
      Filthy, filthy copyrapists!
    5. Re:I agree.. less math by drawfour · · Score: 1

      Agree with your original post. As part of my CS major, I took enough math classes to qualify for a Math minor. However, my school did not allow a Math minor for CS, because those classes were required. Any OTHER major taking those math classes would have gotten a math minor (even EE or Computer Engineering!). 3 more elective math classes, and I could have also majored in Math. That's far beyond "basic college-level math". Nearly all of it was completely useless for what I do. I thought the classes were useless then, and I still think they were useless. Who knows, maybe in 15 years I'll suddenly decide to pursue something that would require that math. But I've forgotten almost everything I "learned" in those classes, so I'll just have to relearn it.

    6. Re:I agree.. less math by Anonymous Coward · · Score: 0

      They were simply saying that introductory level math courses are required for a BS degree. This is a standard which (I presume) is enforced by some regulatory board which oversees the issuing of degrees. Their point is valid... if you want to eliminate basic science and math from the Computer Science program, then you need to make it a BA, and not a BS degree.

      Also, in ten years of working, you've never found occasion to use any advanced math at all? I've been out of Uni for 3 years now, and I use advanced mathematical concepts pretty regularly while programming.

      Also, just because you don't use something every day doesn't mean you're not a better, more informed person for having learned it. You may need to use it one day... and even if you never use it consciously, I bet that the structures and concepts you learned in those "useless" math courses influence you far more than you imagine.

    7. Re:I agree.. less math by Anonymous Coward · · Score: 0

      It's going to be hard to make this point without sounding like I'm trying to troll, but I've met many people like you. I knew someone who got a 1st class BSc honours in Math at Oxford who even demonstrated this trait. But I'll put it bluntly:

      "I agree some math is useful, but I have never in my 10 years working applied any of the advanced stuff, nor found learning it helpful."

      The problem is you.

      You are not unique, you are not alone, but so many people just seem to be unable to make the leap from doing maths from a textbook to actually applying it in their day to day work. I've seen people with comp. sci. backgrounds who know the math implement brute force solutions to problems where elegant and drastically more efficient standard graph theory algorithms would've solved the problem in a far superior manner and with just as easy an implementation.

      The Oxford grad I referred to above would often whine to me about how he couldn't find an employer looking for a mathematician, seemingly completely unable to comprehend the fact that what he in fact needed to do was decide HOW he wanted to apply maths- engineering? finance? statistical analysis? and then look for a job with that application.

      I don't know why some people struggle, but in my experience the difference between those who truly do well at software development and so forth and those who remain in relatively mediocre positions is more often than not about math. The ones who do well do so because they are just that much more adaptive, they don't have to wrack their brains painfully over how to make their brute force algorithm solve the problem more efficiently, they recognise the solution from mathematics and apply it right there.

      You're not the only one in response to this story speaking of math zealotry or similar, but the answer is quite simple- those who have this math zealotry are those who simply get it, they don't understand why people are saying something can't be done to their boss or customers, they don't get why someone is throwing out inefficient or inaccurate solutions. They don't understand why people are chucking out software that goes a very odd way around doing things when math could make it that much easier. People with this so-called math zealotry have this mindset simply because they recognise it just outright lets you do things better.

      For what it's worth I never used to be great at maths, it took me a long while to get good and I eventually did a degree in it alongside already working as a software developer and it is simply put the best thing careerwise I ever did. I can easily outmatch other developers in interviews, and in work, I can easily do things better than your average developers. It has helped my career incredibly, and I now look at problems I would've otherwise shyed away from as being rather trivial with an application of the right branch of maths.

      Do yourself a favour- dig out your maths texts again, get an idea of the what different branches of maths are for- get an overview of graph theory, number theory, set theory and so forth and a rough idea of some of the most important discoveries in these fields. When you've done that start to think about how you can apply math, don't over-apply it but think about it, and you will begin to realise it's far more applicable than you previously realised. You'll be able to do things you simply previously could not. Math is after all the difference between your bog standard graduate who goes on to be Mr Average, and being able to produce algorithms that may well be the next big thing- just as Sergei and Larry at Google did.

  14. oh, this again.... by mevets · · Score: 2

    There is nothing distinguishing about any of the examples noted; nor worth any study. I don't deny that the mathematics::programming link of overstressed.
    Seems the problems are more rooted in basic experience. Many arts understand that imitate comes before create; despite the whining of the student/apprentices. While programming isn't quite an Art, its practice is close enough to deserve a different approach from the basic sciences.

    Certainly the root of all evil is falling into the buzz-trap where studying and instance of a technology (java, cloud computing, multi-core(wtf?)) takes the place of learning something worthwhile, like planning, design, debugging.

    bah, get off my lawn.

    1. Re:oh, this again.... by ocirs · · Score: 1

      I'm the author of the post, just wanted you to know that I wished that more CS educators share your attitude but that is certainly not the case at major American universities today.

    2. Re:oh, this again.... by segfault_0 · · Score: 1

      Well if the education industry is going to oversell technology jobs, the least they can do is provide the students with some skills that are likely to be useful to them once they have to start paying off their loans.

      --

      I was crazy back when being crazy really meant something. (Charles Manson)
    3. Re:oh, this again.... by Anonymous Coward · · Score: 0

      Sounds like the CS programs could use a few more English classes too.

    4. Re:oh, this again.... by Anonymous Coward · · Score: 0

      Computer Science != Computer Programming. The former is actual SCIENCE, whereas the latter is about "best practices". Why is this so difficult to understand? This annoys me especially, because there are people out there with very different degrees, but those degrees have same #$!#%!& name. Even worse, those people who only study programming, still get to call them selves scientists.

  15. take responsibility by Anonymous Coward · · Score: 0

    CS degree != webmonkey

  16. CS is mathematics by bkmoore · · Score: 2

    Once upon a time, CS was a field within applied mathematics. In my opinion, CS still is. The problem is most people who major in CS, especially at the Bachelor level, will likely end up become programmers once they graduate and won't be actual "computer scientists" per se. In most other engineering fields, there is a differentiation between mechanics, machinists, technicians, engineers etc. Most people wouldn't hire a mechanical engineer to do machine and tool making, or a civil engineer to dig holes, unless he was also so qualified. One alternative is for universities to have separate tracts for applied programmers and students who are more interested in the theoretical end of CS. I don't think you need to be a mathematician to implement most programming ideas, but you do need to be very well versed in mathematics to know how to find optimal solutions or design software to solve unique problems for which there is no simple recipe. Disclaimer, I am not a CS major. It is only my opinion from the outside.

    1. Re:CS is mathematics by Anonymous Coward · · Score: 0

      One alternative is for universities to have separate tracts for applied programmers and students who are more interested in the theoretical end of CS.

      Good schools do, its called software engineering

    2. Re:CS is mathematics by AK+Marc · · Score: 1

      The problem is that the large companies haven't caught up. I've seen an entry level tech support job that said "requires CS degree." And any degree that wasn't CS wouldn't be considered, even if it was an IT degree more closely related to help desk work (not that any degree is needed to answer incoming calls to a help desk).

      So people want CS to be more useful without changing to anything else (like the name), since companies demand CS, even if that's not what best fits their needs.

    3. Re:CS is mathematics by sydneyfong · · Score: 2

      Most people wouldn't hire a mechanical engineer to do machine and tool making, or a civil engineer to dig holes, unless he was also so qualified. One alternative is for universities to have separate tracts for applied programmers and students who are more interested in the theoretical end of CS.

      Sidetracking a little, I just read a rant (allegedly) from a late Japanese engineer specializing in nuclear facilities who died in 1990s. He complained that the engineers who drew the designs were oblivious to the mistakes the technicians would make on the ground -- loose screws, poorly fitted parts, etc. that would lead to nuclear disasters like the one Japan might be having now.

      And I believe this is what would happen if "CS" people simply designed systems and left the implementation to "programmers". And computer systems are usually much, much more complicated than most physical, mechanical systems. Which is why sane companies hire top "CS" talent to write code as a programmer, instead outsourcing it to code-monkeys. The implementation matters, and those who thought otherwise were punished by products that turned out to be crap.

      My personal experience is that even at the design, architectural level, there's not a real need for actual maths in software development. People with good maths are generally better at relevant things such as logic, identifying solvable subproblems, etc. but the actual maths is not generally used. Where I do see a lot of maths is in academic CS papers, where proofs of optimality require those maths (some of those proofs are rather spectacular displays of maths, or so I've heard... I've never been good/interested enough in maths to drill into these things). But going heavy on maths just to train people to publish academic CS papers seems to be rather.... missing the whole picture.

      --
      Don't quote me on this.
    4. Re:CS is mathematics by Trepidity · · Score: 1

      CS has a dual heritage; some current CS programs emerged from mathematics departments, while others emerged from engineering departments. You can sometimes still tell which one a modern department originated from by looking at its specialty areas and research culture.

    5. Re:CS is mathematics by Anonymous Coward · · Score: 0

      Yes! And the situation is really getting out of hand. Our undergraduate CS program is so focused on "new age" CS, that I'd recommend that those interested in "real" CS major in math and minor in CS. In my experience, the math majors minoring in CS really tend to set the curve in the CS courses they take ( they simply seem to be on a different level, the CS majors can't even come close ). Then again, my own experience is hardly statistically valid.

      But math is definitely at the heart of CS research, and you never know what parts you'll need before you actually need them. And at the pace which society seems to be moving forward, I'll be expecting a similar discussion on /. in 20 years, on whether 10th graders really need to know all that algebraic topology and quantum computing, before going to college. Then people will be happy they learnt all that math in their CS programs, so that they can at least partially understand their kids' homework.

    6. Re:CS is mathematics by NoOneInParticular · · Score: 1
      I think CS has (or should have) grown out of applied mathematics (theory) a bit and should realize that computers are there in the real world (empirics). Computers are not (no longer??) cleanly analyzable. Do you actually think that with three ethernet cards, a network that has widely varying connection statistics, a CPU that has an interpreter to go from CISC to RISC, L1, L2 etc. caches, branch prediction, pipelining, RAM access, magnetic disk and SSD, you can compute cleanly how long your algorithm will take in a concurrent environment? At best, your 'model' of the idealized computer might predict a particular runtime, you will actually have to measure it to see if it is true. CS does not produce better models of computers, they're still working on the notion that there's a universal computer, and that constants don't matter.

      This is where the disconnect comes from. CS is still viewed as applied discrete mathematics, while it should be more akin to applied discrete physics, with a theoretical branch and an empirical branch. Unfortunately, in CS the empirical branch is practically non-existent, and only studied in the field. This leads to the immense gap between CS and industry.

      So, no, CS is not just mathematics.

    7. Re:CS is mathematics by Anonymous Coward · · Score: 0

      You are forgetting the other origin which was from the Electrical Engineering side. (Where you actually *do* need to use a lot of continuous mathematics.)

  17. Split it by AstrumPreliator · · Score: 1

    Then offer Software Engineering in the Engineering department.

    Perhaps I went to the wrong university, but my computer science degree was more like a software engineering degree anyway. The vast majority of my teachers were not math prodigies. I actually did both math and computer science and whenever I tried to link the two I got blank stares from my computer science professors, although my math professors could give me wonderful insights even though that wasn't their field of study.

    Overall I enjoyed my math degree far more than my computer science degree; I've always been one to prefer the theory over the application. I'm sure if they had offered a choice between a software engineering degree and a pure computer science degree I would have chosen the latter and probably would have enjoyed it more. In my eyes math in a computer science degree isn't a problem, it's the fact that they're trying to meld two different subjects into the same degree. Math in computer science is just a red herring and detracts from the actual problem.

    1. Re:Split it by AK+Marc · · Score: 1

      I don't get all the math in CS. When I went through CS, it was NAND and states. Everything a computer does, everything a program does, everything can be reduced to NAND and states. You can learn the basics of that in 10 minutes if you have a usable high school education. There wasn't as much underlying math as people say they got from theres, and there wasn't as much practical application as others have said. I guess my program was more practical-based, but based on ideas that were practical when the professors were in college, and not for the time when their students were.

    2. Re:Split it by warGod3 · · Score: 1

      Bingo.

      Some schools have a traditional CS degree and a CSE degree, both offered by the engineering department. Research a little before pursuing your degree.

      Then, this pushes the argument back to the thread about schools/curriculum and business needs to be met and expectations...

      --
      "Be polite, be professional, but have a plan to kill everybody you meet." General James Mattis
    3. Re:Split it by Anonymous Coward · · Score: 0

      That's the thing, it's not really an engineering degree either. If you take the math out, it's more like, say, an architecture degree.

      Engineering requires more, not less, math than CS. I had to take Calc 1-3, Diff Eqs, Stats, Discrete Logic/Math, and Linear Algebra to get my EE bachelors. You can make a new major that focuses only on software design, but don't call it engineering, because it's not.

    4. Re:Split it by AstrumPreliator · · Score: 1

      The math required for a degree doesn't determine whether or not it's an engineering degree believe it or not. Chemical and petroleum engineers require a far better background in chemistry than they do in math. The math they need is the math that their chemistry background needs (stoichiometry and statistics for the most part). So by your statement they aren't true engineers. Nor are materials engineers. If one day there are genetic engineers their background will depend far more on biology and chemistry than mathematics. So they won't be engineers either.

      Engineering is the application of core sciences, they all use math to varying extents but their engineering title shouldn't depend on the prerequisites set forth by the university.

    5. Re:Split it by exploder · · Score: 1

      By the same token, you could take 10 minutes (okay, maybe a day or so) to teach the axioms of set theory to a smart high school graduate. All of math (at least the mainstream stuff) reduces to that, right?

      --
      Yo dawg, I heard you like the Ackermann function, so OH GOD OH GOD OH GOD
  18. Physics and CS by students · · Score: 1

    Physicists think computer science means numerical calculus, since most of theoretical physics is difficult calculus problems. Perhaps this is why there are so many physicists who write unreadable code.

    1. Re:Physics and CS by Anonymous Coward · · Score: 0

      No, it's because our (physicists) education in programming is exactly the kind of training the CS Profs in the article would want to do: no math, no theory, just try to somehow sort this list by throwing items on the wall and watch where they fall until they are sorted.

  19. calculus 1 2 and 3 by Anonymous Coward · · Score: 0

    and even physicls 3a/3b and 4a -- some curricula are retarded

  20. consider the source by phantomfive · · Score: 2, Insightful

    So, the professor, Brad Vander Zanden, appears to be a professor at the University of Tennessee. Great, it seems to be an ok school; it's a top 50 public school, and a top 100 overall US school. That's a respectable ranking. He even has something of a research page. However (and I don't live anywhere near there so I don't have personal experience, and things could have changed since this list was compiled), their computer science program is ranked rather low, so I don't know if he's all that great an authority.

    Here's my opinion (disclaimer: please don't trust my opinion, a random guy on slashdot, either): basically, if you know math, you will use it. You don't need it; you will still find a way to survive in the software world without knowing math, but math will open many doors for you. Would you really want to be shut out from understanding computer graphics, understanding artificial intelligence, and algorithmic complexity? That's just in computers, if you close your mind to math you'll be closing your mind to understanding the way the physical world works, too. You'll be losing the logical/mental discipline that comes from understanding math. Why would you want to give up all that, and try to live as a code monkey?

    --
    "First they came for the slanderers and i said nothing."
    1. Re:consider the source by Anonymous Coward · · Score: 0

      right, and it's not like learning more math ever hurt anyone

    2. Re:consider the source by Anonymous Coward · · Score: 0

      I couldn't agree more with your second paragraph, but for the first, I don't really think it matters that much where CS professor works. The fact that it is just one guy, however, more or less speaks for itself.

    3. Re:consider the source by Shadow99_1 · · Score: 1

      Would you really want to be shut out from understanding computer graphics, understanding artificial intelligence, and algorithmic complexity?

      Yes. I couldn't care less about any of those. Then again I went back to school for Comp Sci after already having a long career in IT. Not as a programmer, but as a network admin/technician. However my career reached a dead end because I didn't have a CS degree. I then went back to get said degree and so far I've found 90% of it useless to anything I'm ever likely to do when I go back to my career. Yet I can't even get my foot in the door without it.

      That is what I feel the real problem is in. Industry demands a degree in field 'X'. Field 'X' is often considered 'one size fits all' and ends up being worthless in peoples future careers.

      --
      we are all invisible unless we choose otherwise
    4. Re:consider the source by phantomfive · · Score: 1

      I'm sorry there's so much of computer science you don't find interesting. Maybe you chose the wrong field.

      --
      "First they came for the slanderers and i said nothing."
    5. Re:consider the source by Shadow99_1 · · Score: 1

      I do just fine in my career. Which revolves around OS's, hardware, virtualization, networking, databases, and to some degree scripting (as examples). AI, Compilers, advanced programming techniques (graphics, algorithmic complexity), and other things that may be part of 'computer science' are really unimportant to me.

      Again it's about the 'one size fits all' education. At the 300-400 level classes I get one class of database theory (doesn't even cover SQL) and a 'protocol' class that touches on networking at it's protocol stack level. Yet in industry a CS degree is required. I was an admin for 5 years, I spent 6 years before that as a network tech. I know what's involved in both fields. A CS education suites it horribly badly in actually learning anything that will help. I have never seen a non-associates degree program that actually hits on things a networker would do or be involved in. 'Software Engineering' (which btw isn't offered by any college near me) is not networking either. 'Network Engineering' doesn't exist as far as I've ever seen.... Instead CS gets shoe horned into a 'one size fits all' fix to any IT field.

      How is that not a problem? How can that possibly be a good thing?

      --
      we are all invisible unless we choose otherwise
    6. Re:consider the source by phantomfive · · Score: 1

      A decent computer science degree gives you a strong enough base that you can figure out anything else on your own. A decent CS networking class will tell you everything you need to write good networking code, and give you the tools needed to understand what is happening when things go wrong (why is my TCP connection starting so slow?? Real question I've had). Algorithmic complexity is extremely important for any programmer who wants to do more than filling in functions someone else specified. You need to know it in order to write scaleable code. Most people don't write compilers, but if you ever want to let your users write regular expressions in their search bar, that's where you learn to do it. Also, the programming you do in a compiler class gives you a lot of good practice and improves your skill, even if you don't ever use it. A good AI class gives you practice programming, but also, more than any other part of CS, teaches you how to organize your code well. Personally I think everyone should take computer graphics because then our software would look better, but it's not really that big of a deal. By graduation, someone with a CS degree should have the confidence that they can program anything.

      It's not really clear to me what sort of career you're going for. In Silicon Valley, I've known a lot of admins who easily make $100k+ without any programming knowledge at all. I've also known people without any degree, but with practical experience, who've done excellently as programmers (one was building a SAN, in fact). My own company recently spent several months trying to find a programmer who could do network programming in Java. I have no doubt we would have hired someone without a degree, if they had been capable. So I'm thinking maybe your problem is something else.

      --
      "First they came for the slanderers and i said nothing."
    7. Re:consider the source by Shadow99_1 · · Score: 1

      Network engineering (not programming) and Network administration isn't a clear field? I don't deal in code outside of possible scripting to make networked devices or resources work where no other tool exists. I don't write any code in my job that isn't closer to a SQL query then C++.

      I 'program' routing tables, sometimes. Very few local companies write code for themselves where I am. They may have 'web developers' who make their company website, but I don't consider that the same thing. I've been an entire 'IT' department before and still never programmed anything.

      Not all of IT involves programming! Yet Comp Sci is all about theory relating to (in effect) programming. All I'm arguing is that these get split up into discrete subsections, rather being lumped together.

      --
      we are all invisible unless we choose otherwise
    8. Re:consider the source by phantomfive · · Score: 1

      They have majors for that. They call them Information Systems, or Management Information Systems majors. Sometimes IT. I'm not sure why you think you have to get a degree in Computer Science, but added to your already existent practical experience and knowledge, you'll end up a lot smarter than if you got an IS degree.

      --
      "First they came for the slanderers and i said nothing."
    9. Re:consider the source by Shadow99_1 · · Score: 1

      Because no college within 400 miles of where I live except DeVry offers CIS? None offer MIS. None offer 'IT'. I'm hardly going to move to go to a college now as an adult, so what I attend must be local.

      I have an associates in CIS: Networking. I wanted an education that was specific to my future career. Now a Network Admin position requires a Comp Sci degree, they won't even look at my resume without it. I can't get a lower level job either because of 5 years as an admin. I'm 'overqualified' to be a tech again. So I'm stuck between a rock and a hard place and my 'out' is a Comp Sci degree... Which is geared to be a computer science researcher and programmer.

      I don't plan to get a job as a programmer after. I'd have to start at the bottom, I've tried a few 'basic' programming jobs that didn't require a bachelors and told my experience doesn't count. Even after getting the degree it would move me back out of management and back into the cubicles. What exactly did I work 11 years for if it's all useless and I'll make less after increasing my debt?

      --
      we are all invisible unless we choose otherwise
    10. Re:consider the source by phantomfive · · Score: 1

      That sucks, but it sounds like a problem of where you live rather than of colleges in general. Your whole employment situation sounds rather miserable, but once again, that sounds like a problem of where you live. Around here (silicon valley) there is a shortage of good network managers. If you can do your job, the degree only makes it slightly harder to find one. Too bad you won't consider moving.

      --
      "First they came for the slanderers and i said nothing."
    11. Re:consider the source by Shadow99_1 · · Score: 1

      1.5 years sans work has meant I have no money to move with. Even when I was a 'network administrator', I 'only' made 38k/year. I'd had raises since they hired me originally at 26k/year. That meant I was getting about 2k/year raises... Though I was paid hourly and my yearly was factored back (we'd talk about yearly amount and they would create a hourly rate based on that). Anyways, that sort of money doesn't really give you much to 'save' and it's meaningless in comparison to Silicon Valley costs. I doubt even right out of work if I'd be able to have afforded more than a shack. I'd love some company to decide I'm worth paying to move elsewhere, but they haven't yet.

      Since I lived in Pennsylvania my 'range' actually covers a good section of the 'East Coast' not actually along the coast. It's very possible the East just isn't up on things like the West, but that does in fact seem to be an issue with colleges (though not a universal one, but large regional one). I'm also hardly going to even try to get into a 'top tier' college, my loans to return to school give me ~10k/semester. I hadn't even paid off my old loans, so them lending me money is fairly limited.

      --
      we are all invisible unless we choose otherwise
    12. Re:consider the source by phantomfive · · Score: 1

      ok, you can do what you want, but minimum wage for a CS graduate is around $60k a year. So if you learn stuff and become a programmer, you'll easily make back your investment. If you improve yourself a bit (which means basically you can program without being told every function you need to write, you can debug your own code, and you can figure stuff out by reading documentation. Sadly a lot of programmers never make it to this level), you'll easily be hitting the $120k level. And the experience you already have will only help you.

      If you decide to continue in network administration, it will be a longer road, but there is still huge demand for competent network administrators, so eventually you'll still be hitting the $100k level. $38k a year is a joke.

      BTW you come across as sounding kind of whiney. It could just be because things are hard to hear on the internet, but if you come across that way in job interviews, it's seriously going to hurt your prospects. So try to fix that, and you'll get more/better job offers.

      --
      "First they came for the slanderers and i said nothing."
    13. Re:consider the source by Shadow99_1 · · Score: 1

      I'd call it frustration myself. In nearly 2 years I've had six interviews and I apply for anything vaguely related to my area. Those I have gotten say I interview well, but they can afford to be extremely picky in who they hire or even if they hire. 2 of the 6 jobs I was interviewed for went back up to see if they could get an even better bargain in who they hired. Heck 6 interviews in over 400 jobs applied to is just sick. It's why I went back to college right now in the first place.

      Though $100k in my area isn't going to ever happen. My CEO where I last worked took home $105k/year and he was one of the highest paid CEO's in our field in the state. The 'old timer' admins I've meet and dealt with who have been at this for 20-40 years make ~45-55k/year. For my area my ending rate of 38k/year wasn't bad. Not quite what I wanted as 42 is closer to where I'd want to be entering my mid 30's... But it wasn't horrible.

      Erie Insurance (a fortune 500 company) is headquartered in my area and I've had dealings with them before. They pay their network manager 58k/year and the CIO makes 72k/year. I can also assure you no CS graduate in my area starts at 60k/year... they are lucky if they start at 32k/year. Heck a Project Lead for them was recently open and that was 42k (in fact I applied for it as it was heavily network/data base oriented and I already have the programming requirements of the position) and they wanted a masters or doctorate! The CIO above was required to get his doctorate and last I talked to their network head he was being pushed to finish his masters on the side.

      I can't imagine getting a doctorate at this point at all, mostly due to already owing ~$80k in student loans. I started a degree, ran out of money to pay for it (the school assumed my parents would help and instead they refused), went back to get an associates (which I got), and now I'm back at college again (but it's been 10 years since last time so they tossed out 95% of all my prior credits from my first college). I need to move where I can make more, but the chance of me being able to afford to do so is extremely low. Which all leads into the frustration bit.

      --
      we are all invisible unless we choose otherwise
    14. Re:consider the source by phantomfive · · Score: 1

      Heck 6 interviews in over 400 jobs applied to is just sick.

      Please tell me you were making changes to your resume and finding ways to improve it during that time.

      Though $100k in my area isn't going to ever happen. My CEO where I last worked took home $105k/year and he was one of the highest paid CEO's in our field in the state. The 'old timer' admins I've meet and dealt with who have been at this for 20-40 years make ~45-55k/year.

      That sucks.

      I can't imagine getting a doctorate at this point at all, mostly due to already owing ~$80k in student loans.

      Save some money, under your mattress if need be, move to Silicon Valley, Make $80k a year for a few years, get it paid off, then move back. Good idea from a fiscal perspective.

      --
      "First they came for the slanderers and i said nothing."
  21. It's called computer SCIENCE by Missing.Matter · · Score: 3, Insightful

    I have seen many outstanding programmers who struggled with calculus and never really got it.

    That's because computer science is not programming. You won't find an outstanding computer scientist who doesn't have a solid mathematical background. The theory of computation and the basis for all we do is entirely based in math, and therefore understanding math is essential and inseparable to understanding computer science.

    our students are overwhelmingly seeking careers in which they apply computer science.'

    If you're looking to be a vocational institution, by all means, drop the math and train your students to be code monkeys. Yes, train, not teach, because teaching them would consist of providing them with a solid mathematical foundation on which to base their careers.

    And it's patently false that applications of computer science do not require math. In my field, robotics, I do a lot of programming, but I do just as much theoretical work to understand the algorithms I'm using, and to develop new ones. Linear algebra, statistics, convex optimization.... these are all mathematical topics I use regularly, and I couldn't function without. Cutting topics like these not only take the Science out of CS, but the true value from the education itself.

    1. Re:It's called computer SCIENCE by BlogTroller · · Score: 1

      Yeah, i kinda like coding but not sience. Maybe i should have pursued a more worthless path in life.

    2. Re:It's called computer SCIENCE by AK+Marc · · Score: 1

      That's because computer science is not programming.

      You must be a computer scientist. In theory you are right, but in practice, an annoyingly large number of corporations require (or at least state they require on their job postings) a computer science degree for programming positions. You may be right theoretically, but in practice, enough people confuse them that the definitions of the words themselves has blurred.

    3. Re:It's called computer SCIENCE by Anonymous Coward · · Score: 0

      Yeah, but this is about "CS Profs Debate Role of Math is CS Education", perhaps the subject should be "Managers Debate Role of CS in IT Industry."

    4. Re:It's called computer SCIENCE by cocoajunkie · · Score: 1

      You are right, the problem with code monkeys is that they learn a particular language (e.g.: Java) and a a fixed set of patterns/paradigms/libraries which someone else have decided to write, and just "apply", without the tiniest crumble of critical thinking. These "programmers" become obsolete 5 years after they leave their college

      If you don't have at least some exposure to eg. Limits, you can't understand at all what software performance is about, as a concept. If you don't understand what performance optimization is, you will gladly embrace whatever shitty Java enterprise framework Sun/Oracle is currently pushing down your throat during that particular month, without even thinking about it, whether is good for the problem at hand or a more minimalistic approach could have saved the day. I won't mention thinking about reliability during design: far too many java frameworks are based on the assumption that network connection does not time out. Ignorance leads to spectacular system failures in large systems.

      There are too many "programmers" who follow uncritically whatever products "big boys" sell unto them. They are not "programmers", to call a spade a spade, they are "consumers". What is worse, they end up making a career, and end up destroying creativity and critical thinking around them, because they become devisors inside companies. I think they actively damage the industry, as a whole. In order to be a good designer, you need critical thinking, and being able to think in GENERAL terms, at a sufficiently abstract level. As such, not only you need some continuous math, but also exposure to different geometries and abstract algebra comes really handy.

      P.S: I too have debugged code I wished the author knew what Big O was all about.

    5. Re:It's called computer SCIENCE by Anonymous Coward · · Score: 0

      That's because computer science is not programming.

      Yes, because God forbid you actually have to do something.

      This is the reason we need to cut CS education and enhance and develop more Software Engineering programs.

      Teaching comp sci folks engineering concepts they sorely lack would go such a long way. Most of them are ill-equipped to architect and actually construct major software systems due to their lack of engineering rigor and discipline. And just to head you off at the pass: the majority of BS/MS level comp-sci folks will work as a software engineer or IT wonk, that's the reality. The market for pure computer science is thin.

      There's a reason so many EE and CE washouts end up in comp sci. Hint: it's not because it's more demanding.

    6. Re:It's called computer SCIENCE by Deus.1.01 · · Score: 0

      A computer scientist does not learn Software Development to be a good programmer.
      But a Programmer learns Computer science to be a good programmer.

      --
      My -1 Troll is actually a +1 funny. And my -1 flame is actually a +1 insightfull.
  22. Math=not patentable. let's keep the math in but... by rcpitt · · Score: 1
    Computer science is all about math so somehow we have to get the government(s) to get their thumbs out of their butts and get it off the table as far as patents are concerned. The problem is, it is also about human interface, needs, wants, applications, etc. that to the average non-computer person have little to do with math, and that is where we have our problems with the judiciary it seems. Maybe if we had lowered the barriers earlier we'd have some judges who had actually gone through some decent computer courses and would be familiar with the real facts of the matter.

    The courses can't ignore math - but they don't have to go into it nearly as deeply as they do. Basic binary and theory should be included so that there is an understanding of what the compiler/interpreter is doing taking high-level down to machine level.

    I'm not a mathematician but I've done my stint with calculus (back in the late 60's at high school and then university, just as compu-sci was really getting going) I hardly ever use anything but basic add/subtract/multiply/divide, even in designing some of the more sophisticated business and consumer products I've been involved with (but I've got Knuth's books and use them); that's why there is a need for experts - to bail me out when I need them. We need both kinds of computer people - those who can deal with the algorithms at the core, and those who can apply those algorithms to real programs that interact with humans. But more than that, we need more "real" people who have gone through the computer programs and thereby have at least a half a clue as to how computers really function and how to apply them to problems.

    Was talking to a friend of mine - he grows flowers and cuts hair for a living - and he was decrying the fact that all the various computer stuff he's got is "just too complicated" for the average old pharts like him (and me, but I've grown up with it so I'm an exception to this) - and I had to agree because the programs were designed in large part by people who are techs and mathists - not your typical non-tech humans. Put it down to the filter at the education point of requiring the math skills that weeds out many is my guess.

    Problem is highlighted by the note that the math profs have problems teaching compu-sci from anything but a math perspective - and the bulk of computer program design is in the human interface and basic business world that they don't easily relate to (nor do students who understand them in most cases)

    So putting up the largely artificial barrier of understanding math (at least for some aspects of compu-sci) is hurting our use of computers in many ways.

    --
    Been there, done that, paid for the T-shirt
    and didn't get it
  23. I have played for both teams by lanced · · Score: 1

    It bugged me when I was in school that there wasn't an option for Applied CS in my undergrad program. Then I got into industry and found that the majority of my useful skills were derived from subjects that I taught myself to make me a well-rounded engineer. I felt a little short-changed by my education. However, as my skills aged, I found that I was leaning more and more and my theoretical skills to supplement my abilities and keep up with the fresh meat that came behind me. As I moved up, practical skills were pushed aside as I made use of concepts to help design and diagnose the systems that I develop. In short, like most things, the real answer isn't 'either/or' but rather both. You need to give the students a full tool box that works now, works later, and provides a way to make the box bigger quickly and easily. And a student that doesn't want both sets (theory and practice) probably shouldn't attempt either.

    1. Re:I have played for both teams by TapeCutter · · Score: 1

      The most useful skill you can get from higher education is the skill of finding out for yourself (ie: learning how to learn). If you can already do that then you may well feel a little short changed.

      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
  24. Different Definitions by pz · · Score: 5, Insightful

    I have seen many outstanding programmers who struggled with calculus and never really got it.

    The summary is not absolutely clear on who makes this statement, but the article attributes it to "a professor". I don't know where this professor works, but the outstanding programmers I know can all do calculus in their sleep. Not all programmers, or even all good programmers, but the outstanding ones. It isn't about continuous versus discrete, which is a complete and utter red herring, but the ability to think abstractly. Hell the best programmer I know is a pure theoretical mathematician: his code is always beautiful, clear, easy to maintain, and, imporantantly, correct; he's prolific to boot. But he's an outstanding programmer. I know plenty of work-a-day programmers who are not outstanding, and whom I would suspect would have problems with integration by parts.

    Based in part on my differing experience, I posit that the quoted professor does not work at a high-end institution where really outstanding programmers are likely to be found. This opinion is bolstered by the observation that discrete mathematics (the Z transform, difference equations, discrete Fourier transforms, and the like) and continuous mathematics really are not that different if taught properly. If an individual can't master continuous and discrete mathematics, then they are not going to be an outstanding programmer, because they can't think sufficiently abstractly.

    Outstanding programmers can do system architecture, data structure design, algorithmic development. No one who can design and understand a Fibonacci heap is going to have problems with dx/dt.

    --

    Put my fist through my alarm clock with its ding-dong death inside my ear. - The Blackjacks.
    1. Re:Different Definitions by gront · · Score: 2

      And think about post calculus math: Linear algebra... gotta know what those array things are and how to deal with them; probability and statistics are also very useful in programming. Sure, a code warrior may not need to know differential equations or vector calc to design a UI, but advanced code design and the "science" part require math. Oh, and the secret of calculus? Calc 1: figuring out the instantaneous rate of change of an equation and the minimums and maximums. Calc 2: the area under a curve. Calc 3: the volume of a curved object.

    2. Re:Different Definitions by Anonymous Coward · · Score: 0

      "outstanding institutions" is not where the great programmers are, it's where the great computer scientists are :P

      For the record, I do system architecture, data structure design, and algorithmic development (lightweight in that last part though). I can design and understand things far more complex than a Fibonacci heap in my sleep. But I don't grok dx/dt because I'm a pragmatist, and I've never really had a reason to. I don't suspect I ever will.

    3. Re:Different Definitions by 14erCleaner · · Score: 1

      the outstanding programmers I know can all do calculus in their sleep

      I'm an outstanding programmer (if I do say so myself), and I've forgotten almost all the calculus I learned as an undergraduate Math/CS double major in the late 70's.

      However, my math training did teach me a "prove it" mindset, which has served me very well. There's a tendency to get lazy when coding, and assume that if something passes a few unit tests it's correct. On critical code (that is, not throwaway programs) I want to cover all the possibilities, even if only with error-handling code. I've seen (and fixed) lots of sloppy code that doesn't do this, but (to most users) appears to work just the same. However, when the SHTF their code falls apart, crashes, corrupts, etc., whereas mine (mostly) fails correctly. :)

      It is true, however, that my discrete math classes (sets, algebra, graph theory and such) were more directly applicable to my work. On the other hand, I've worked more in algorithmic/system areas than most programmers do these days. It's quite possible that a programmer today could go a whole career without writing a single line of code, just dragging-and-dropping GUI elements around. For someone doing that, a lot of math education probably is a waste of time.

      --
      Have you read my blog lately?
    4. Re:Different Definitions by syousef · · Score: 2

      I have seen many outstanding programmers who struggled with calculus and never really got it.

      The summary is not absolutely clear on who makes this statement, but the article attributes it to "a professor". I don't know where this professor works, but the outstanding programmers I know can all do calculus in their sleep. Not all programmers, or even all good programmers, but the outstanding ones. .

      Well if you phrase things like that I can't argue with that because the definition of a great programmer vs a very good one is subjective and you can always shift the goal posts. However I can say without doubt that there are famous and noteworthy programmers that aren't mathematically inclined, and that many of them would be rusty on Calculus even if they were able to do it very well at some point. I don't consider myself outstanding in the sense you describe, but I do know that while Calculus doesn't scare me and I could pick it up and even teach it (and have even coded the Runge–Kutta method for a university project), right at this point in my life I would need to brush up first.

      --
      These posts express my own personal views, not those of my employer
    5. Re:Different Definitions by segfault_0 · · Score: 1

      Well your response is certainly very "Computer Scientist"; it works great for that 1% it applies to and sounds great on paper.

      --

      I was crazy back when being crazy really meant something. (Charles Manson)
    6. Re:Different Definitions by AEC216 · · Score: 2

      I always saw the math curriculum as a weed out tool for a CS degree. If you don't have the aptitude/want to systematically solving math problems, maybe it's time to re-think the CS degree.

      --
      May I please have my frontal lobotomy if I bring back the ashtrays?
    7. Re:Different Definitions by aricusmaximus · · Score: 1

      This opinion is bolstered by the observation that discrete mathematics (the Z transform, difference equations, discrete Fourier transforms, and the like) and continuous mathematics really are not that different if taught properly. If an individual can't master continuous and discrete mathematics, then they are not going to be an outstanding programmer, because they can't think sufficiently abstractly.

      We live in a world that is filled with less than "outstanding" programmers. You rely daily on programming by less than outstanding programmers.

      Outstanding programmers can do system architecture, data structure design, algorithmic development. No one who can design and understand a Fibonacci heap is going to have problems with dx/dt.

      ... as well as learn to juggle five objects simultaneously, solve the Rubik's cube, and speak fluent Klingon. The point is, in the majority of the software engineering challenges we face today, none of these skills are relevant.

      Proficiency in Greek and Latin used to be threshold skills for higher level learning and entry into college. Smart, outstanding people can learn Latin and Greek relatively easily compared to less outstanding people. No one argues today (well, very few people) that we need to bring back Latin and Greek into the core curricula.

      However, if it is not relevant to 95% of software engineering, then why keep it as a requirement? Put another way, calculus and continuous mathematics are clearly not part of the critical path to creating a competent programmer or software engineer. By keeping calculus in the curriculum, we are wasting time and resources of the vast majority of future programmers and software engineers out there. Those outstanding computer scientists out there who actually *need* to learn calculus will, as you contend, have no problem picking it up outside of the core curriculum.

    8. Re:Different Definitions by turkeyfish · · Score: 1

      You say "most of it can be looked up in a book" and "the hard part is turning real world concepts into useful mathematical models."

      I would argue that you have things inverted.

      The hard part is in establishing that the mathematical model you have created or applied truly models real world conditions and assumptions.

      As for being looked up in a book, most numbers are transcendental, yet most books deal only with natural, integer, real, complex or algebraic numbers. From this, one might expect that there is more mathematics yet to be written than has been written so far. Once the easy problems are solved, only the truly hard problems remain (whether for these, their solution involves beautiful simplifications for fundamental invariance due to symmetries in most aspects remains to be established).

    9. Re:Different Definitions by donscarletti · · Score: 1

      Not that I fully agree with the professor in the original story. But the fact you bring up designing and understanding Fibonacci heaps kind of illustrates his point. Comparing with the binary heap; the Fibonacci heap is quicker to insert and merge, since you leave the tree rearranging until you gather up the loose trees on a remove, however even though amortized cost of removing a link is O(log(n)), just like a binheap, in reality, the code to do that requires a lot of instructions and to access a lot of memory making it take much longer on a real computer. Then you have to worry about the memory, in binheap, an element needs no pointers since its position in memory can be inferred from its position in the stack, in fibheap, every element needs 4 pointers parent, child and to siblings, this burns 32 bytes on a 64 bit system. In any structure of a scale that justifies thinking in asymptotic terms this is a lot of memory. Also, what is the programmer doing writing and debugging a heap structure when STL provides one? The only time these things really need reimplementing is if you are writing a distributed or embedded version and fibheap does not suit either. Ultimately, if the programmer pops up at work one day and wants to write a fib heap, this will solve nobody's problems but will cause many more.

      The Fib heap is a clear example of a cute system with interesting little mathematical properties that finds very little use because of its complexity, memory consumption and poor suitability for real time systems. I am glad I learned this stuff and I think it helps me in its way, but there are many people, like this dude who don't agree. What I know is, when I am hiring a 3d graphics programmer, I test linear algebra and barely touch coding questions, maths is far more important in some fields than others.

      --
      When Argumentum ad Hominem falls short, try Argumentum ad Matrem
    10. Re:Different Definitions by nate+nice · · Score: 1

      I agree with this 100% and always thought it but couldn't really put it together. That was everything that was hard about math to me. Nothing repetition and lots of thinking about it didn't fix.

      --
      "If you are a dreamer, a wisher, a liar, A hope-er, a pray-er, a magic bean buyer ..."
    11. Re:Different Definitions by Anonymous Coward · · Score: 0

      Bingo.

    12. Re:Different Definitions by Anonymous Coward · · Score: 0

      The outstanding programmers I know, all know about wolframalpha, so they don't really need to know any math. Ever again.

  25. Having lived almost all aspects of this issue... by taoboy · · Score: 1

    ...over my career, both as an academic and as professional software engineer, I appreciate fully the distinction made between the mathematical foundations of computer science and the application of computer solutions to mathematically oriented problems. To start a four-year degree in computer science with the same calculus-oriented math series that the "physical world" majors take is a bit wrong-headed IMHO, but not completely. First, the math of computing is discrete, and this deserves first attention in a good discrete math course right after college algebra. And for most of my career, a solid foundation in logic, sets, relations, etc. served me well in both professional software development and college teaching. Indeed, my schooling went as follows: BS CIS, MS CS, and DCS (that's Doctor of Computer Science, as opposed to PhD...), where my bachelor's program had both a solid business core as well as just enough "continuous math" to understand the foundations of calculus. Missing was the discrete math I mentioned above, but I got that in my MS.

    But now, I find myself smack in the middle of the defense/aerospace business, and the day-job application involves aspects of both calculus and statistics for which my schooling did not fully prepare me. Now, my role is more about technical leadership than practition-ing, so I'm not floundering, but I've had to dig out the old texts and learn some math on my own that most of you learned (or slept through) in your earliest years of college, or even in high school. What's really important for me to understand are things like the computational complexity of a proposed solution, that a branching structure in a code segment covers both nominal and corner cases (they do let me sit in on peer reviews...), and other foundational computer science things that the schools, in their increasing "IT" orientation, aren't covering much anymore.

    I was an academic advisor for a year, probably the worst on the planet, because I told my students things like, "major in CIS, then switch to CS for your masters, avoid the calc hell" and "don't be doing school unless you're really motivated in the major" (ha, the admissions advisors LOVED that one... NOT!)

    So, if I were king, I'd make all computer science students take discrete math, so there. After that, the math depends on what industry (domain, applications, whatever) in which you plan to work. For some, that may be statistics, for others the calc series. But the point is that the primary math of all computer professionals is logic, sets, relations, and the rest of the "discrete phylum", and that should be learned for competency, first. Doggonit.

  26. Knuth is far more important than maths by Anonymous Coward · · Score: 0

    I thought I might do a CS course in 1969, but when I realised that it had such a heavy maths focus (1st year was just the standard maths degree course) I gave up that plan and went and worked in the industry. Can't say I've ever found the lack of advanced binomial or )calculus any hindrance at all, and I've been involved in many areas (none of them commercial thankfully)

  27. Being bad at some Math(s) isn't the end... by Sits · · Score: 1

    ...but my degree experience (CS at one university and Software Engineering at another) poor Mathematics skills just makes life more difficult. You will just have to accept that you have to work harder than others who are good at it (if only to overcome your dislike). It is also worth noting that there are different branches of Mathematics and being bad at all of them is different to being bad in only area but fine in others. Further, different courses will place different emphasis on Mathematical content (e.g. HCI style courses may emphasise statistics).

    There is also a difference between programming and Computer Science even if you can argue that programming is a subset of Computer Science. Computer most certainly is a branch of Mathematics (or if you want to annoy people you can say Mathematics is a branch of Computer Science ;) and there is Mathematics underlying all computation. However if you are terrible at Maths you can still create great non-mathematical programs but you have to accept that there will be certain types of programs you may not be able to write (or write well) until you conqueror the Mathematics.

    Just because knowing more usually doesn't hurt doesn't mean you HAVE to learn more but whichever direction you take you simply have to accept there will be consequences.

  28. Math utility by real+gumby · · Score: 1

    I know (as even the summary said) this is a religious/contentious topic, but: For both CS and computer engineering, math as a discipline provides several abstract tools in terms of abstraction, modeling, and discipline, as well as actual concrete skills (for algorithmic analysis, estimations and the like).

    But the summary mentions continuous math, and I must say most non-CS programmers will only encounter discrete problems. Unfortunately some problems do require floating point or control of continuous processes (i.e process control applications), but regrettably by the time that happens most of the required math classes will long since have been forgotten!

  29. Software technicians... by Anonymous Coward · · Score: 0

    Electrical engineers have technicians to help actually make the things they've designed.

    Mechanical engineers have machinists to help actually make the things they've designed.

    Software engineers have programmers to help actually make the things they've designed.

    As an ME, I would be embarrassed if I couldn't also turn a lathe, but that doesn't mean everybody is going to feel that way, and in terms of immediate return on investment it isn't the best use of my time anyway (although I would argue strongly that in the long run, skittering around the machine shop makes me unequivocally a better engineer).

    I was under the impression we already knew that "hello, world" is something anybody can do, and that there's plenty of useful code to be written by people without four year degrees.

    Realistically, most tasks of engineering interest don't require an entire team of people who can solve the difficult problems. It hurts to say that, but it's true.

  30. I went for artificial intelligence by holophrastic · · Score: 4, Interesting

    University through AI had me taking computer courses -- which sounded like fun, since I was a computer guy all my life. It would have taken four years before even getting to an AI course, because of all the math courses along the way. I don't care what you say, when I walk through a room, my brain doesn't do any calculus to avoid walking into the desk. It just doesn't. But AI in CS said "calculus is the fastest way to approximate natural path finding".

    So I left, and switched to psychology, where AI is called cognitive modelling.

    The first day said "the goal is to model things after natural processes, if it takes ten days for the computer program to walk through the room, but it does so naturally, computers will be faster next year."

    The third day of the course was to write a neural network in LISP -- oh, and to also learn LISP from scratch -- to solve a real-world decision-making problem. We had two weeks to complete the assignment.

    Neural networks are fun, by the way. And ten years later, when I wrote an on-line ticketing program that needed to choose the best way to apply multiple coupons to multiple purchases (in a self-serve kiosk application), brute-force computation did it in 60 seconds, competent programming did it in 10 seconds, pre-computing did it in too much memory for the device, a neural network did it in 50 milliseconds. My client was very happy -- and never knew.

    1. Re:I went for artificial intelligence by nhaehnle · · Score: 1

      This is quite ironic, because neural networks are essentially about learning functions between different spaces, so they actually do have calculus behind them. It just may be sufficiently hidden that you didn't notice.

    2. Re:I went for artificial intelligence by Anonymous Coward · · Score: 0

      >Neural networks are fun, by the way. And ten years later, when I wrote an on-line ticketing program that needed to choose the best way to apply multiple coupons to >multiple purchases (in a self-serve kiosk application), brute-force computation did it in 60 seconds, competent programming did it in 10 seconds, pre-computing did it >in too much memory for the device, a neural network did it in 50 milliseconds. My client was very happy -- and never knew.

      Yes, but what will he think when in 30 years your application starts sending android assassins back in time to hut down people that share coupon codes on smartwallet?

    3. Re:I went for artificial intelligence by Anonymous Coward · · Score: 0

      Neural networks without an understanding of calculus or linear algebra?

      Should we start reading Shakespeare before we learn the alphabet?

      Or learn multiplication before addition?

    4. Re:I went for artificial intelligence by Anonymous Coward · · Score: 0

      Well, maybe there is a reason why you are writing dumb applications for a living rather than making a difference in this world.

      But hey, good for you.

    5. Re:I went for artificial intelligence by danlip · · Score: 1

      Why on earth would you be writing a neural network in LISP? LISP is great for symbolic AI but ridiculous for something like NN - C or Java would be so much better.

    6. Re:I went for artificial intelligence by Tablizer · · Score: 1

      Did you consider genetic algorithms?

    7. Re:I went for artificial intelligence by holophrastic · · Score: 1

      there's no calculus in the way that you program them. calculus may be an adequate way to describe them, but there's absolutely none in the coding. at least, there doesn't have to be. most are basic multiplication and arithmetic operations.

    8. Re:I went for artificial intelligence by holophrastic · · Score: 1

      I've programmed hundreds of simple neural networks, and a few crazy complicated ones. multiplication is about as complicated as the math gets. you make build a neural network in ten lines of perl code. that's what makes them so cool -- and wicked fast. they sound complicated. their applications are very complicated, but the algorithms in general are super-basic. and there's absolutely zero calculus or algebra.

      sure, you can spend days putting together the algebraic description of your ten-line neural network if you want. but as with most math, the description is more complicated than the real-world object.

    9. Re:I went for artificial intelligence by holophrastic · · Score: 1

      Ah, this is the highway vs support column discussion. Big huge beautiful highways do wonderful things for civilization. and they look good too. but they can't exist without passing over other roads. and that means they need support columns. big huge ugly heavy things, that really aren't impressive at all.

      I build support columns for highways. I build what you call dumb applications that coordinate large corporations that indeed do make what you would call a difference in this world.

      much like the greatest chefs require the most basic of ingredients that they purchase for pennies.

      the trick in my industry is to figure out the operational things: which dumb applications, how many, how to build them, in time, for real humans, with training, and support.

      that's real business.

      I don't fly to mars, nor do I build the engine that does. But I build the systems that the engineers need to be able to build that engine without going insane.

    10. Re:I went for artificial intelligence by holophrastic · · Score: 1

      Actually, I asked the same thing. in the end, C sucks because you spent a lot of time dealing with C. Java is better. Perl is awesome because there's very little perl to writing perl. but in university psychology they always teach lisp. here's why.

      lisp doesn't look anything like a programming language. so it's perfect for psychology majors who've never touched programing in their lives. think of a language with absolutely no operators, and you've got lisp.

      also, neural networks in lisp, while looking crazy in terms of syntax, are stupid simple to write. if it's ten lines of perl code, it's three lines of lisp code.

      lisp basically has one fundamental principle that turns everything inside-out -- everything, and I do mean everything from the syntax to the functions, are designed to be written recursively. so when you are actually building a recursive algorithm, it actually looks recursive all the way through.

      but yes, it's really annoying.

    11. Re:I went for artificial intelligence by holophrastic · · Score: 1

      I started to. the problem was that it's different every time. elsewhere in this now-uber thread I've detailed the problem further. But basically: self-serve kiosk, different admission tickets, combos, coupons, dozens of each, changing every hour.

      So anything genetic designed to pre-compute is useless an hour later. Genetic is great to determine the best way of doing something, but I actually had a new best way to find for every scenario, and a new set of scenarios every hour.

      All that said, my neural network in this case was essentially a genetic-bias. It tailored the generations in the right direction as a neural network, but it tested for link strength in a genetic survival method. so yes it had elements of each.

      I couldn't go all genetic because the distribution of mutations (or solutions in this case) were too varied and permuted to direct the next mutations, and then far to many to fight all of them together.

      But because each solution actually negated each other solution, some way more than others, the neural network approach kind of built itself. If I recal, the network would settle within 90 iterations, and reach its conclusion within 75 iterations. Since a typical purchase was for three combos and two coupons, 5-nodes 75 times yields a whopping 375 multiplications, which is a joke even on the 300MHz POS device of the time.

    12. Re:I went for artificial intelligence by Anonymous Coward · · Score: 0

      This sounds like what you were trying to solve. How many coupons and items did you have to solve for? There are very good dynamic programming algorithms for getting very close to optimal solutions on problems like this.

    13. Re:I went for artificial intelligence by holophrastic · · Score: 1

      Oh, now you're giving me actual work to do on a decade-old solved problem. So I'm just going to say that "close to optimal" isn't acceptable when 100'000 consumers are purchasing tickets within a single week. Especially since there's no facility for them to choose how to apply teh coupons themselves. And we're talking about money.

      The advantage of the neural network was that it considered all possible permutations, and chose the best one.

      I'm not sure how what you've shown would wind up translated into on-the-fly code, but I'd have needed to be convinced that it would have found the correct solution, every time -- because there is a correct solution every time, and people care.

      All that said, one of the best things about neural network programming in general is that if it's a problem that you can solve as a person each time with basic tests, then it's a problem that is effectively guaranteed to be solvable with a neural network, and it doesn't take long to find out. I'm always interested in techniques that don't require selection, over others that do. Figuring out which type of dynamic programming, or how to arrange the situation for genetic mutations is very different from taking the ten-minute neural network development that already works, and then just tinkering with the weights to balance and settle it appropriately.

      Especially in this case, where my client wasn't paying for this algorithm. He doesn't care. He wants a system that applies coupons to tickets, and isn't interested in what's easy and what's difficult. So I'll readily choose a technique that facilitates its selection, over one that can go wrong after the work is partially done.

    14. Re:I went for artificial intelligence by Urkki · · Score: 1

      Neural networks without an understanding of calculus or linear algebra?

      Should we start reading Shakespeare before we learn the alphabet?

      Or learn multiplication before addition?

      Wrong comparisons. Better would be, should we start reading Shakespeare before we have at least two years of literacy studies under our belt, or should we learn multiplication before getting a firm grasp on number theory?

    15. Re:I went for artificial intelligence by NoOneInParticular · · Score: 1

      When coding a neural network, you use gradient descent. Computation of the gradient (your arithmetic) is one of the basic operations in calculus. You can claim that you can code them without being aware of it, but then again, I can probably copy a Chinese book without needing to know Chinese either. Question is if I understand what I wrote. Same goes for you.

    16. Re:I went for artificial intelligence by holophrastic · · Score: 1

      Oh, yours is a upside-down argument that defeats itself. You say that the gradient is one of the basic operations in calculus. But that doesn't make it calculus. In fact, it effectively makes it not calculus. Addition is the basic operation of multiplication, but it is not multiplication.

      I wouldn't call something calculus if it doesn't do some form of derivative operation. That's certainly my highly restrictive bounds. But that's still what I pick.

      In most of my neural networks, I simply multiply each link value by some strength number between 0 and 2, or I add a strength number between -2 and +2. Neither of those is anything more than grade 2 arithmetic. And all I'm doing is that same grade-2 math a few thousand times iteratively.

      I think most would have a hard time calling that calculus. Certainly you could use calculus to describe the over-all achievement. But that's overkill.

    17. Re:I went for artificial intelligence by NoOneInParticular · · Score: 1

      Oh, I don't call implementing a result from calculus calculus, no worries. I just call it copying. The point is that in order to understand what you're doing (and why multiplying link values with numbers larger than 0.1 is generally not a good idea) some calculus does help.

    18. Re:I went for artificial intelligence by bigsexyjoe · · Score: 1

      That sounds interesting. Can you tell us where you went or how to find a program like that?

    19. Re:I went for artificial intelligence by holophrastic · · Score: 1

      If you mean the university stuff, I went to the University of Waterloo, in Waterloo Ontario. Took "Cognitive Modelling" which was a 400-level psychology course.

      But no, I don't support academic education, I find it so very, well, academic. Much easier to read and to work outside of a schooling environment.

    20. Re:I went for artificial intelligence by bigsexyjoe · · Score: 1

      Okay, thanks!

  31. There are 10 kinds of people... by Anonymous Coward · · Score: 0

    Those who see 1's and 0's and those who think math isn't necessary.

  32. Some math required, but not calculus by retired03 · · Score: 1

    Long ago only math majors could get close to the vacuum tube monster computers (late 50's). Knowledge of different bases (10, 2, 8, 16, 12, 60) were necessary. Also knowledge of rings, fields, boolean, and other modern algebras were essential. I hated calculus and took any math class that did not require calculus. My degree was math (1961) and I was in the computer industry for over 50 years and I never, ever had to use calculus.

  33. Author answers his questions himself by dragisha · · Score: 0

    If you're doing important work like social networking, web development, some aspects of user interfaces... Then you do not need understanding of calculus and other "continuous math" disciplines.

    Only if you're doing less important things like computer graphics, HPC, general algorithm optimizations/evaluations, and so on... Only then you need to bother with heavier math.

    Of course, one can argue where is S in CS if CS is social networking and web development.

    Above statements are partially ironic, of course, but...

    Computer programmer is not synonym for computer scientist. Most (probably 95+% or more) of computer programmers are only craftsmen. Current higher education only makes this situation worse by educating craftsmen and not engineers, most of time.

    --
    http://opencm3.net, http://www.nongnu.org/gm2/
  34. Math logic is not Computer logic by unil_1005 · · Score: 1

    Computers are basically machines, and so follow a very mechanical, physical sort of logic.

    Math is about abstractions, and constructing abstractions of abstractions.

    There is some overlap, in the way that math can be used to describe almost any process.

    There is some overlap, in the way that computers can manipulate symbols to produce results.

    In the same way that metallurgy is not necessary for an auto mechanic (though in rare instances it might be helpful) advanced mathematics is not necessary for a working programmer (though in rare instances it might be helpful).

  35. "unable to see"? you have to be taught by Anonymous Coward · · Score: 0

    I was always taught to use maths for maths homework -- i'm sure this lesson is universal

  36. The maths are scary! by Brandybuck · · Score: 2

    I used to think that too, until week before last. I'm a literature major who couldn't make it past second semester calculus. Until week before last I never needed to do any math in programming beyond arithmetic.

    Then I landed on a project involving OpenGL. There's a heck of a lot of math there, and a lot of math/graphics jargon. What makes it even more frustrating are all the tutorials for beginners that assume you've majored in math and never bother explaining homogeneous coordinates, frustrums, etc. Almost as annoying as they're assuming you already know the syntax to glsl. I am good at geometry, and could write very complicated POVray models, but OpenGL has been kicking my butt due to my lack of linear maths.

    --
    Don't blame me, I didn't vote for either of them!
    1. Re:The maths are scary! by mikael · · Score: 1

      Those are just mathematical buzzwords which are easy to to understand once you know what they mean. I know your plight, I'm trying to learn Blender in order to generate some geometric objects. It's easier for me to draw a wireframe shape on paper, number the vertices and write out the triangle face lists than it is too figure out edit mode in Blender.

      --
      Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
    2. Re:The maths are scary! by Anonymous Coward · · Score: 1

      If you think OpenGL programming with maths is difficult, try doing it without the math.
      "Paint the round thing ye big over there a bit connecting it to the long twiddly thing that is next to it". Gah.
      The maths you need in OpenGL is called Linear Algebra and takes just 1 semester to learn. It's just a standardized way to do the geometry so that you don't have to explain over and over again "no, I meant turn to the _right_ side when looking forward and being over the floor, standing right-side up, don't rescale all the objects damnit, ...".

    3. Re:The maths are scary! by Anonymous Coward · · Score: 0

      I think that was part of the original idea. For example in order to take any sort of linear algebra I had to take calc I/II at a minimum. Then when I got in there I couldnt figure out why. We used 0 of it.

      I couldnt derive today if my life depended on it. I havent done it for nearly 20 years. Yet I had to finish nearly 4 semesters of it. It was at this point a waste of time. Linear algebra though, MEGA useful.

      Also one thing many courses do is just jump in and start teaching things. You have 0 idea what it will be used for. 1 day of 'here is what you will use the course for' would be seriously useful. Hell even a hand out and a 'I will be available after class to discuss this' would be good. I think I had a 150 level class that did that once. Then never again. So you get all this theory and no idea what it is used for and you just sort of work it out as you go along what it might be used on.

  37. Maybe we should call it something else? by davidwr · · Score: 1

    Computer Engineering?

    Computer Liberal Arts?

    Business Computing?

    Computer Programming?

    Applied Computing?

    I wonder how well respected a BA or BS from Big Name University would be if the major was "Applied Computing" compared to the same degree/coursework under its existing title of "Computer Science."

    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
  38. The post seems about Calculus only, not all math by guacamole · · Score: 1

    My understanding is that CS is effectively a branch of applied mathematics. Therefore, it's puzzling to me how CS can be taught without any math, which is some people want to advocate. However, it does seem strange that a lot of CS programs require their students to study Calculus, differential equations, and other continuous math subjects. Discrete math is a lot more useful in CS. Calculus should probably be taught only up to differentiation and integration (just one semester) and then followed by discrete math course to build up math intuition for algorithms courses.

  39. computer engineering vs programing by Anonymous Coward · · Score: 0

    There is a difference between computer engineering and computer science (the ability to code or plug computers and the ability to program efficient algorithm)

    I made a come back to university after 10 years of working to get more in depth math background for video games. You do not get to calculate lots of things being a Db admin or a GUI programmer with a RAD tool.

    Video game or applied science with a need to computerize math models needs computer engineers. In Quebec the distinction is becoming more relevant as computer consultant are lagging behind in both expertise to modelize high end product and the ability to precisely say how much time it will take to create/maintain/update a piece of software.

    I go to ETS btw which has teachers that are behind big ISO norms like 14764 for example and others that are reasearched for small teams of less than 15 members for really small enterprises.

    Sorry for the bad english, I am a frog ^ ^

  40. Missing the point by deblau · · Score: 1

    The point of teaching math at all, at least past checkbook arithmetic, is to endow students with the ability to think logically. Those who have an aptitude for science and engineering may find more advanced math such as calculus and linear algebra useful for their careers. However, the vast majority of people will never use more than arithmetic "for math's sake". Still, the hope is that those geometry classes taught them how to think carefully, break a problem down into its constituent parts, and solve it. This is a skill that is useful well beyond applied mathematics.

    --
    This post expresses my opinion, not that of my employer. And yes, IAAL.
    1. Re:Missing the point by filesiteguy · · Score: 1

      LIKE

  41. Keene State by Anonymous Coward · · Score: 0

    At Keene State, we try to keep the CS major as applied as possible, doing projects for real clients in the community.

    Part of this is realizing calculus isn't necessary. We have a Math for CS course which focuses on more logic and algorithmic math.

  42. My CS Degree failed to teach me to program by Anonymous Coward · · Score: 1

    I got a degree in CS because I wanted to write programs. Granted I can write a compiler, but when I see an IDE like XCode, I'm completely lost. I'm good at math and I understand all the concepts of programming, but when it comes to making something appear on the screen beyond a console based unix app I'm completely lost.

    My guess is that in ditching the 1 year long course in Logical Structures and Boolean Algebra I could have been taught something that was worth a damn. Most of the classes I took were really interesting and I see how they relate to the subject but I guess I had a different version of programming in mind when I signed up that the school did.

  43. Might be just pre-computing by Sits · · Score: 1

    Do you know how fast a Dynamic Programming solution would have taken (if you still have numbers to hand)? I would have though it would be somewhere between competent and your neural network solutions but perhaps it would have been brute force by another name...

    1. Re:Might be just pre-computing by Rockoon · · Score: 1

      A wise man once said, "Neural Networks are always the second best solution to a problem"

      --
      "His name was James Damore."
  44. Of course... by RLU486983 · · Score: 1

    this can be said about a lot of degrees. There is a pile of classes that are included with degrees that will be of no use beyond getting through to graduation day. After that, people go into their chosen profession and never have use for all those hours in unrelated classes unless they do indeed continue on to get that Masters or Ph.D. Why is this news?

  45. Applied software engineering programs by idealego · · Score: 4, Insightful

    I started a Bachelor's in computer science and switched to an applied software engineering program. It's much less math, and the average course is far more useful in the real world. All the employers I've talked to so far have said that they prefer hiring out of the applied program because the students are ready to start working and have a broader range of skills.

    As many have already pointed out, computer science != programming.

    What we need is more schools that offer applied programming programs for those who want to become programmers and not computer scientists. And more students need to learn the differences between them and which one they want.

    1. Re:Applied software engineering programs by nate+nice · · Score: 2

      Almost every MIS we've hired has turned out to be an idiot who you can't rely on to do something they haven't been explicitly trained for. I only hire CS degrees or Math degrees. I care that my workers are smart and can learn hard things quickly. I have to pay them more but they're worth it.

      So I disagree with you. We don't need more applied programs because we have plenty. The fact that someone goes to school for 4 years to learn programming hilarious. Programming is supposed to be a 1 or 2 semester course and something you can pick up on your own because syntax and semantics aren't difficult. I want someone who can do some Lisp or ML since those are actually applied now in .Net even with Linq. I want people who understand what their algorithms are actually doing. I want people with analytic minds that can solve problems that are difficult and unfamiliar.

      The big drawback many CS degrees have is their lack of general business skills. They don't always understand business concepts. But I'd rather have to teach that then have to explain things to a developer who doesn't know how to figure things out and do them right the first time.

      --
      "If you are a dreamer, a wisher, a liar, A hope-er, a pray-er, a magic bean buyer ..."
    2. Re:Applied software engineering programs by metlin · · Score: 1

      Well, these would be polytechnics or trade schools, places where you learnt a vocation without having to understand the basics.

      Back when the US did a lot more manufacturing, you had workers who just needed to operate and maintain the machinery, do basic things like soldering etc. Or learning to be a car mechanic, a plumber, or an electrician. Nothing too difficult, and certainly easily taught.

      The programming that you define is very similar -- something that can be applied easily, without having to understand the basics.

      And of course employers prefer skills workers in a trade. They make the perfect drones, who are perfectly content doing as they are told.

      On the other hand, someone who understands the fundamentals and is good enough to get through the basic CS will come up with a startup that can optimize searches or something, and make millions.

      The one that you chose is perfect for a job, without any creativity or basic understanding. Nothing more. Once you get into other areas, it would prove to be woefully inadequate.

    3. Re:Applied software engineering programs by danlip · · Score: 2

      I wouldn't want to fly in a plane built by an engineer that didn't know physics, and I wouldn't want to run software written by a programmer that didn't know computer science. Both are possible, but tend to end badly.

    4. Re:Applied software engineering programs by idealego · · Score: 1

      You appear to be making many assumptions:
      You assume that people who do not complete a CS or math degree are not smart and do not learn things quickly. I need not comment on this one.
      You assume that people in a software engineering program are spending four years programming. I hope that's not what they're doing in your universities.
      You assume that a CS or Math grad is more likely to be able to "do" Lisp or ML than someone from a software engineering program. I think this unlikely, but again it depends on the curriculums at your universities.

      Software engineering programs tend to have a few course in business. They will also tend to cover security, data and database admin, software quality and reliability engineering, and software architecture--all of which are usually not covered in a CS degree. Neither of the major universities near me have any courses on security within their CS faculties, which is obviously important these days.

      I'm not sure what "MIS" means to you, but that acronym isn't used here to describe anything that's similar to software engineering.

      Maybe the software engineering programs in your area just aren't very good or maybe there aren't any?

    5. Re:Applied software engineering programs by idealego · · Score: 1

      Your analogy would make more sense if you said you didn't want to fly in a plane unless it was built by a physicist, as that's a closer analogy when comparing computer science to programming.

      Software engineers learn how to built software, and aerospace engineers learn how to built airplanes.

    6. Re:Applied software engineering programs by nate+nice · · Score: 1

      Yeah there aren't any in or around NYC. My city isn't known to have any qualified candidates in almost any field. It's only the most important city in the world at this time and age.

      When hiring people we need to make a lot of assumptions. You're right, there are great and lousy candidates everywhere in terms of degree but with limited information about the candidate I'm going to err on the side of the person who has proven they can handle hard problems and learn complex systems. The MIS (or applied programming or w/e they call it at you community college - MIS is Management of Information Systems and what you describe) candidate is going to have to really nail the interviews if they even get in the door in the first place with us.

      Computer Science degrees have courses in all of that too. And they also have testing courses, analysis courses etc. They just also have a lot of math and theoretical courses on top of it and those concepts get applied to those courses as well. I've never seen a CS program that didn't have or even require a Software Engineering, or similar, course. My university had CS courses in that, testing, security and plenty of applied topics. Many of them you could ignore if you wanted to instead take more theoretical courses.

      The only thing I see lacking in my CS candidates is business awareness and business concepts. But because these kids are smart (the single most important trait) they tend to pick it up. And if they have business experience already its a non-issue. Not saying the MIS candidate can't or doesn't but it's far more rare in my experience. And they tend to not have the analytic brain we find so valuable.

      But then, we have high expectations and performance matters being in NYC and all.

      --
      "If you are a dreamer, a wisher, a liar, A hope-er, a pray-er, a magic bean buyer ..."
    7. Re:Applied software engineering programs by A_Non_Moose · · Score: 1

      As many have already pointed out, computer science != programming.

      Exactly my argument for a long time.

      Simply put, some of the best programmers I know don't know jack about their systems, network, interactions and operating systems.

      It boils down, IMO, to: programming ~= pure math based and systems/network/OS is more of an art form, albeit less math based.

      Seriously, you (the programmer) make it work for your narrow world view and I will make it work in a bigger picture, environment and/or world view.

      Like the saying "In theory there is no difference from practice, in practice there is."

      My college has the worst math dept. know to the continental U.S. and requires 3 levels of calculus. Now, first they split up derivatives (calc1) and integrals (calc2) which go hand-in-hand, but then foist upon us calc3 which boils down to "remember all that shit that was poorly taught and makes no sense, now apply it."

      Yeah, uh-huh. Fuckers.

      Discrete, useful as it is, is taught by "theoretical" mathematicians who've not a clue how it applies.
      Bah!

      Your premise is dead on...programming is a subset of CS and not the end all be all of it.

      --
      Have you read the moderator guidelines? Well, have you, PUNK? (and I want a Karma: Gnarly option)
    8. Re:Applied software engineering programs by Anonymous Coward · · Score: 0

      I second this. CS grads often don't have the experience in:

      1. Version Control Systems and collaborative work environments
      2. Software Testing and Test Driven Development
      3. Agile Software Development and Project Management
      4. Writing technical specifications and eliciting requirements (With documentation or TDD depending on your agile-ness)

      These are the things that are required in industry. The maths is useful for certain applications but if you don't understand the above 4 points you've got some catchup to do.

    9. Re:Applied software engineering programs by mldi · · Score: 1

      And while employers liked that "broader range of skills" right off the bat, how's that going to fare long-term? Can you think about problems in the same way? What happens when you come across something you've never seen before and you don't have a text book (or Google) to help step you along? Who do you think will come out ahead?

      --
      If you aren't suspicious of your government's actions, you aren't doing your job as a responsible citizen.
    10. Re:Applied software engineering programs by mldi · · Score: 1

      I don't think Parent is assuming anything. I think he made his comments derived from observation and experience. Yes, there can be some kind of Genius hidden in someone who hasn't taken math courses, but it's not likely. Notice he said "most" turned out to be idiots, not all.

      When you gamble to win, you go with the odds. But I guess it'd take some level of understanding of basic math to understand that.

      --
      If you aren't suspicious of your government's actions, you aren't doing your job as a responsible citizen.
  46. Create a software engineering major... by Anonymous Coward · · Score: 0

    I strongly believe that computer science should continue to be a math-heavy major. As a Computer Science PhD student, it is important to learn how to write proofs, have intimate knowledge of discrete structures in mathematics, and yes, know calculus. However, I agree with the central point that most computer science majors don't really want to do "pure" computer science when they graduate. Along those lines, I really think that there should be a software engineering major that overlaps with computer science but also includes more practical (yet methodological) training such as software testing and some empirical aspects of software development.

  47. Do you want a university or a trade school? by jmcbain · · Score: 4, Insightful

    I think a better question is: Do these professors think their college should be an institution of higher learning or a trade school? (Disclaimer: I got a PhD from a top-20 university.)

    Let me make a few points:

    First, while it's true that numerical math is not used in many CS areas, discrete math is. Logic, set operations, and the like are used pervasively in CS. And learning numerical math is a core breadth area that instills mental discipline. Quite frankly, if math is not your strong point, then you should consider moving out of CS.

    Second, the role of a university CS undergraduate curriculum is not to teach "cloud computing or multi-core systems or software engineering". It's to teach core CS topics. It's like like suggesting that a mechanical engineering student should be taught how to fix the engine of a Ford Mustang or that an electrical engineering student should be taught how to install video cards into a PC.

    Let me make this clear: Any "hot topic" CS subject you teach in a university will be outdated in a few years, quite possibly between the student's freshman and senior year. This includes "cloud computing" and "multi-core systems". Back in my day, the hot topics du jour were ATM networking and grid computing, but fortunately I went to a good university that focused on core topics.

    What's the difference, you ask? Here are you go:

    Hot topic: cloud computing
    Core CS topics: distributed systems, distributed algorithms, operating systems

    Hot topic: programming in C#
    Core CS topic: programming language structure, compilers, automata theory

    Hot topic: multi-core systems
    Core CS topic: computer architecture (x86, for example), instruction sets, digital systems

    Hot topic: writing video games
    Core CS topics: graphics, linear algebra, digital image processing

    Learning math and these CS core topics allows students to learn new skills in the future. Case-in-point: Recently I have been working in a new area: machine learning algorithms (SVMs, bayesian inferencing, etc.). The importance of this area has grown in the Google-era and was not widely regarded when I was an undergraduate. My fundamental knowledge in mathematics is serving me well right now.

    Finally, the professors quoted in the article are from U. of Tennessee and SMU, which are like 4th-tier universities. So don't take their word too seriously.

    1. Re:Do you want a university or a trade school? by Jane+Q.+Public · · Score: 5, Informative

      "It's like like suggesting that a mechanical engineering student should be taught how to fix the engine of a Ford Mustang or that an electrical engineering student should be taught how to install video cards into a PC."

      No, it's not like that at all, because a mechanical engineer (or most of them anyway) are not going to be working on cars for a living, and electrical engineers are not going to be installing video cards for a living. But CS students are going to be doing mundane programming for a living.

      The problem is that teaching practical, career programming is probably what a Software Engineering program should do. But that is a relatively new degree, and many colleges and universities still rely on Computer Science programs to (supposedly) teach those skills. But for the most part they do not.

      It's all very well and good to say CS is one thing, engineering is another... but until academia fully catches up with that concept, many who intend to go into programming as a career are getting the short end of the stick.

      And no, despite your derogatory comment, Software Engineering is not suitable material for a trade school, any more than Electrical Engineering is.

    2. Re:Do you want a university or a trade school? by Anonymous Coward · · Score: 3, Informative

      You're missing the point. All of the "Core CS Topics" you mentioned in your lists can be learned (deeply and completely) without having a graduate-level understanding of calculus. Basic algebra and boolean logic pretty much covers it, when combined with CS specifics like understanding algorithmic complexity, etc. The divide is between those that write new fundamental algorithms and need the heavy math to do the research, and those that merely engineer with, implement, and use the wide array of readily available algorithms in existing public papers...

    3. Re:Do you want a university or a trade school? by Ghengis+Khak · · Score: 4, Insightful

      Finally, the professors quoted in the article are from U. of Tennessee and SMU, which are like 4th-tier universities. So don't take their word too seriously.

      This comes off as a snobby, ad-hominem cheap shot. You made some strong points in the rest of your comment and I didn't see the need for it. In the interest of full disclosure -- I hold a master's degree (CS) from a top 20 University; working on the PhD.

    4. Re:Do you want a university or a trade school? by demonlapin · · Score: 4, Insightful

      He views education that focuses on practical skills as a trade school. Which, pejorative associations aside, it is. Most professorial types that bop this around would recoil in horror if you described their programs as trade school for academics, although that's precisely what they are.

    5. Re:Do you want a university or a trade school? by chiasmus1 · · Score: 3, Insightful

      Yes, but I believe the argument was basically about the math courses that really have little importance to Computer Science. Calculus is rarely used in computer science. When professors are asked why it is still in the program, a lot of them will respond with something about "maturity" or something else like that. If you need a lot of math for computer science, that is fine, but shouldn't it be the math that is more common to computer scientists?

    6. Re:Do you want a university or a trade school? by Jane+Q.+Public · · Score: 1

      "Which, pejorative associations aside, it is."

      In a sense, that is true. But again, only in the same sense that other practical engineering programs are also "trade schools."

    7. Re:Do you want a university or a trade school? by Anonymous Coward · · Score: 0

      It's not about cloud computing, multicore programming, video games programming etc is more applied a lot of theory in this fields, theory well understood

    8. Re:Do you want a university or a trade school? by Anonymous Coward · · Score: 0

      That's fine, as long as you add this line:

      Hot topic: agile development
      Core CS topics: program specification, application structural models, development methodologies

    9. Re:Do you want a university or a trade school? by metlin · · Score: 1

      The irony of this is that I'm doing a master's in government and international relations, and I've had to take some pretty hardcore stats classes, for quantitative research in poli sci and econ.

      It's amusing to see when people in a technical area complain of having to take math classes when people in social sciences have to, as well.

    10. Re:Do you want a university or a trade school? by nate+nice · · Score: 1

      This really couldn't be put better and should close the book on the discussion as a whole.

      I agree, high level concepts are what's important and high level concepts rely on math.

      --
      "If you are a dreamer, a wisher, a liar, A hope-er, a pray-er, a magic bean buyer ..."
    11. Re:Do you want a university or a trade school? by joeaguy · · Score: 1

      I agree completely. I see there is a big difference between those I work with that have computer science educations and those who do not.

      I have what lately seems like a rather old and quaint idea of education, that it is there to teach you how to think, its not there to make you a good worker. While good thinkers will usually be good workers, the converse is not always true. I was not particularly great at the math parts of compsci. I found these topics fascinating, but very difficult to understand completely or correctly once I got beyond calculus. These courses did stretch my mind though and give me new approached to problem solving, and in my career I have seem them touch upon a lot of the things that I do in some way.

      I am a web developer, so most of my work is about integrating existing libraries to reach some visible output, and do it quickly. I could do this job well without the math, logic, systems design, etc, classes under my belt. There is more to it though that just making code that works. There are considerations of maintainability, efficiency, flexibility, and resilience that come in to play in order to anticipate the client's needs, and so deliver a better product in the end. Often internationally outsourced projects come back home because they don't get attention to those things in that environment. If we give that up in our education system, we loose the ability to innovate and really serve the needs of those we work for that has been a major strength of university graduates.

      I do agree that not everyone may want to or be able to work at that level, and there should be a strong trade school system in place for those who fall at that point. I am not disparaging that. We will always need maintenance engineers, code level tech support, etc. Its sort of the difference between a mechanic, the assembly line worker, and the car designer. Not that those in the tech school system should not get any exposure to these concepts, the focus is just different there.

      Lets not water down our universities in the endless pursuit of jobs. Like so many things that use jobs as an argument, it ends up being a race to the bottom. Maintaining high standards in the best way to ensure that industries are able to continue to innovate and grow.

    12. Re:Do you want a university or a trade school? by Anonymous Coward · · Score: 1

      As someone who has recently gone job hunting at two high-profile, fortune 500 tech companies, let me express my complete agreement. At one set of interviews I got asked a mix of basic algorithms and Java questions. I did not know much beyond "Hello, world!" in Java at the time, but was told that that was a trainable skill -- I got an offer on the basis of my knowledge of CS and Math fundamentals.

      The other set of interviews was *entirely* about CS/Math basics: Algorithms, runtime complexity, combinatorics. Let me say that again: I didn't get a single question that wouldn't have been entirely appropriate at a software interview in 1985. Again, got an offer despite having next to zero experience with the tools and the language at the shop, and now I work on distributed systems/cloud computing.

      If you want to have a job when you get out of college, maybe some "practical" course work in some of the above topics will help you. If you want a career where you can adapt to new technologies and ideas, get some understanding of the theory that underpins virtually everything that happens in the industry.

      PS. I have a BS+MS in Mathematics with a focus on topology and set theory, and some supplementary coursework from the CS curriculum: data structures, algorithms, graphics, machine learning. Virtually zero "practical" coursework.

    13. Re:Do you want a university or a trade school? by cjonslashdot · · Score: 1

      Well put. Many comments here point out (correctly, in my opinion) that the purpose of college is not to prepare one for a job. Rather, it is to provide a foundation of knowledge so that one can go on to become one of the thought leaders of society and also so that one can then learn high level trade skills and have foundational skills such as expository writing, mathematics, and so on. If one wants to learn how to do a particular job, one studies a specialty or learns on the job.

      Academic areas of study are not jobs. For example, consider the field of study "ornithology". Yet, an "ornithologist" is not a job, even if that is the job title. A person who has studied ornithology can go on to have some of the following kinds of job: (1) work as a ranger in the field at a nature park; (2) become a professor or lab researcher; (3) work as an author editing bird books; and so on. These various jobs are all very different. All require fundamental knowledge of ornithology, but each entails very different practices on a daily basis.

      College is not supposed to provide the daily skills needed for a job or trade.

      Finally, I would claim that those who jump right into learning the daily practices of software engineering and who skip the computer science are not well prepared. They lack foundational knowledge that would enable them to adapt as new kinds of tools and languages come along. CS contains important knowledge that is vital to being a good software engineer. One can learn this in college or be self-taught, but the foundational knowledge is important. Yet CS by itself is not sufficient to be a practicing software engineer.

    14. Re:Do you want a university or a trade school? by Anonymous Coward · · Score: 0

      (Disclaimer: I got a PhD from a top-20 university.)

      Really, you shouldn't take your own school's marketing material too seriously. Make you come off like an ass.

    15. Re:Do you want a university or a trade school? by gtall · · Score: 4, Insightful

      With a slightly different spin, it used to be the case that a liberal arts education prepared you for many things precisely because it taught you how to think for yourself in several different areas. Find a job in an area you are not an expert in? You will have the skills necessary to learn it. This is completely beyond the ken of most HR departments in companies. Brain-dead companies who think schools are cookie cutters, you must have the right bumps and curves to fit into their industrial machine. And the result is stagnant companies whose Business School Product running them figure their best way to retire early is to ship the company to China and pad out that retirement package.

      In concert with this are several social trends. Schools of Education which focus on making Johnny/Sally feel "empowered" with ill-deserved self-esteem rather than taught. Parents who think Johnny/Sally go to school to free them for their two-career lifestyle. Parents who cannot turn off the damn TV and mind-numbing video games since it keeps the little bastards occupied rather than taking an active interest in their education while they are at home. A Hollywood which glorifies the dumb-ass but lovable schmuck who can get a laugh, rap his/her way via a hip-hop philosophy that says get yer ya-yas NOW, forget about actually working for an intellectual attainment that will make you a step above your peers. There's a commercial for a furniture company in my area which uses a rock song with the refrain "I want it all, I want it now, usw". That's the anthem we've taught our kids, you deserve to have it all, right now, no hard work, no paying your dues, you can get it just by demanding it.

      It is amazing any kid makes it through the hurdles adults put in their place to actually learn to think for themselves. Science competitions are petering out because parents are too stupid to demand achievement because, G-d forbid, Johnny/Sally might fail. Johnny thinks his ticket to success is the NBA and NFL because he's never been taught statistics and what that says about his odds for coming out on top...presuming he gets no career-ending injury.

      So when I hear comments to the effect of computer science "students" do not need math, I'm horrified we are bringing up a generation of intellectually sclerotic brats who will never be competent to go up against the kids China, Taiwan, Korea, Japan, usw, are generating.

    16. Re:Do you want a university or a trade school? by ShakaUVM · · Score: 1

      I was going to make a post exactly along those lines. Well done.

      Taking discrete math was probably the one single thing in college that improved my code the most, once you get past the "forgetting a semicolon" stage. Even though I never use proofs to show my loops will always work correctly, learning inductive logic and being able to do proofs enough times to let the lessons sink in is tremendously valuable.

      Calculus, linear algebra are also useful, differential equations, maybe a bit less so.

      At the high school level, good algebra skills are essential.

    17. Re:Do you want a university or a trade school? by Anonymous Coward · · Score: 0

      "Finally, the professors quoted in the article are from U. of Tennessee and SMU, which are like 4th-tier universities. So don't take their word too seriously."

      I think this is a bit of a snobbish view (Vander Zanden is Cornell PhD) but I do support your arguments about the principles vs. tech-trends.

      I also think that CS may have some identity crisis as I personally know many Math PhDs that do what typical CS PhDs do
      but they often do it better (algorithms, optimization, stoch. methods in AI) because of their superior training in Math.

      I think we should split the field into science and engineering. Have one as Applied Math - Computational focus
      and another one as Software Engineering with focus areas on OS, Programming, ... and just get away with CS.

    18. Re:Do you want a university or a trade school? by RockoTDF · · Score: 1

      1. None of the points you make have anything to do with calculus, which renders your argument about math largely a straw man (did you RTFA?). You can keep CS majors taking math, just stuff other than calc. Your point about 'avoid the hot topics' is a good one, and is something that should generalize to pretty much any discipline.

      2. 4th Tier? I'm currently in grad school (Neural Systems, not comp sci) and want to know what cool aid you have been drinking regarding tiers and how academia works in general. Specifically, universities *don't* hire people all the time. You can have years where there are no slots open at top schools, and all the guys and gals from CMU and MIT (or whatever is the top of a given field) or that have well connected advisors at other schools are unable to get jobs at top schools. Then the following year you have a ton of retirements (or people not getting tenure) and all of a sudden slots open, and people who went to or got postdocs at "2nd tier" schools can get hired up at "better" schools. There are researchers at big state schools that could wipe the floor with people at elite schools in any given field.

      --
      There is more to science than physics!

      www.iomalfunction.blogspot.com
    19. Re:Do you want a university or a trade school? by Anonymous Coward · · Score: 0

      "But CS students are going to be doing mundane programming for a living." That's where the system has gone wrong -- code drones shouldn't be taking computer science. They should be taking something at a trade school to teach them how to implement the things that someone else figures out for them.

    20. Re:Do you want a university or a trade school? by RockoTDF · · Score: 1

      3. Faculty at elite programs are generally hired based on research abilities, not based on teaching quality. If anything, someone who has taught 3x as many students at a 'fourth tier' program might have a larger sample to base an opinion on when thinking "what does a CS student need to succeed?" - again, this applies to pretty much any field.

      --
      There is more to science than physics!

      www.iomalfunction.blogspot.com
    21. Re:Do you want a university or a trade school? by jfmiller · · Score: 1

      If you didn't want universities to become trade schools, why did you academics spend the last 60 years trying to devalue a trade school degree. Please don't act so shocked that there are people trying to learn a professional skill in your Ivory Towers when it was those Ivroy Towers that propagated the myth that only there degrees would do for a professional.

      --
      Strive to make your client happy, not necessarly give them what they ask for
    22. Re:Do you want a university or a trade school? by Anonymous Coward · · Score: 0

      I couldn't agree more! Got my BS in 1993 and went to work in the embedded industry until 2009. Didn't use my calculas at all, my linear algebra only once, but my discrete math and logic all the time. Trends came and went but the core knowledge taught in 1993 is for the most part the same core needed today.

      In 2009 went back for my MS in CS where I sharpened my discrete math skills and realized how important math has always been to my career, even if I didn't recognize it at the time. Now with my experience and newly acquired insight (not much to learn in MS program though, other than more indepth look at topics) I'm in the position to be even more of a positive influence.

      Even if you don't use some of your maths directly, such as calculas, you'll have the mathematical insight to use it indirectly to spot patterns and things that "just don't look right" which will help you develop better products.

      The trick is, to find those timeless topics/subjects of learning and to become adept at the topic and at applying them to new situations.

    23. Re:Do you want a university or a trade school? by SatanicPuppy · · Score: 3, Insightful

      I am so tired of people saying, "Well you have to have math because you have to have logic." Logic is separate from math, and math is largely concerned with inductive logic...You know, the kind you never use in CS? In all the math I've had in my life, the only kind that had deductive proofs of the sort that resemble programming logic, was 10th grade geometry. I started CS via Cognitive Science, which is largely Philosophy. I had more, and more relevant, logic courses in Philosophy than in CS or math, and it gave me a huge edge in programming over my math-centric peers.

      I've been in the field for 15 years, and I've never used a single thing from advanced math. I used some pre-calculus once, to figure out how much air conditioner I needed for a server room. I had to take 3 semesters of physics too. What the hell was that about? At the same time, I only had a single course in network theory, and it was obscenely general, with LANs mashed up together with the sort of latency issues you'd only run into if you were networking satellites.

      I agree as far as teaching theory...That's all I was ever taught, and it's served me well. But advanced math isn't useful for the vast majority of CS majors.

      --
      ad logicam Claiming a proposition is false because it was presented as the conclusion of a fallacious argument.
    24. Re:Do you want a university or a trade school? by Anonymous Coward · · Score: 0

      I agree completely. I'm getting my PhD in computer science at Georgia Tech, and I couldn't agree more, especially in regards to a trade school vs. learning a science.

      And yes, these trade-school opinions are from professors from 3rd tier universities. Normally this would be ad-hominem, but here I think it's totally germane. The quality of student in these universities generally lower than research universities. They don't want to learn a science, they want to get a job as a programmer.

    25. Re:Do you want a university or a trade school? by Blittzed · · Score: 1

      +1 for you sir.

      I thought exactly the same thing as I read the post you are referring to. For the record I hold a PhD in plant physiology ;)

      --
      "They looked deep into my soul and assigned me a number based on the order in which I joined"
    26. Re:Do you want a university or a trade school? by snowgirl · · Score: 1

      "I want it all, I want it now, usw"

      Did you just use the German "usw" = "und so weiter" = "etc"?

      --
      WARNING! This girl exceeds the MAXIMUM SAFE standards established by the FDA for BRATTINESS
    27. Re:Do you want a university or a trade school? by Mirey · · Score: 1

      At first this was my first response, but he may have a point. The prof might be from a university that doesn't have it's priorities right when it comes to what modules are taught. A higher ranked (League tables are such BS btw) university, or rather, a better university might have more relevant modules.
      I don't understand how people can be very good at judging how CS is taught at all Universities, even though they've have only been to 1 as an undergraduate*. My highschool was particularly bad, I didn't generalise that and say all highschools are bad.

      Although, it does read like a snide remark.

      *I kept it to undergraduates. If you go somewhere as a masters student or a Ph.D student, you probably would have no idea what the undergrad course is like.

    28. Re:Do you want a university or a trade school? by Mirey · · Score: 1

      Yeah. The phrase "trade school" shouldn't be seen as a bad thing. At the end of the day it comes down to egos. People want to be seen as smart. If someone went to a trade school, and another to university, people will think the university kid is smarter.

      Though I do think that knowing theory and applying it is easier than knowing the applied use, having to generalise frmo that, and then reapplying that to something else. (So I'm for the maths in a CS degree).

    29. Re:Do you want a university or a trade school? by The+Davii · · Score: 1

      However, Calculus is the basis for Numerical Analysis, which should be in every Computer Science education. Numerical Analysis is necessary for understanding how computers calculate numbers that aren't integers (floating point, fixed point, real, imaginary).

    30. Re:Do you want a university or a trade school? by emt377 · · Score: 1

      Yeah. The phrase "trade school" shouldn't be seen as a bad thing. At the end of the day it comes down to egos. People want to be seen as smart. If someone went to a trade school, and another to university, people will think the university kid is smarter.

      The purpose of trade schools is to teach a practical vocational skill to someone who isn't intellectually top shelf but who can still perform many jobs just fine. An auto technician/mechanic would be a good example; they can diagnose and fix most problems. But you don't expect them to be able to design auto parts; designing an engine is a whole different ballgame than fixing one. Automotive engineering is not a vocational trade.

    31. Re:Do you want a university or a trade school? by pjt33 · · Score: 1

      But CS students are going to be doing mundane programming for a living.

      So are the majority of maths graduates nowadays. Does that mean that the maths curriculum and the CS curriculum should be identical?

    32. Re:Do you want a university or a trade school? by Anonymous Coward · · Score: 0

      The irony of this is that I'm doing a master's in government and international relations, and I've had to take some pretty hardcore stats classes, for quantitative research in poli sci and econ.

      It's amusing to see when people in a technical area complain of having to take math classes when people in social sciences have to, as well.

      As an adult math major (dual emphasis in CS and actuarial science), I suspect you wouldn't know hard core stats if it bit you on the ass. Most service courses at the graduate level (yes, I had a previous career in academia working with grad students) they teach you just enough to get your resident statistician to feel sorry for you, pat you on the head, ask for your parameters, fix your fucked up model and/or experiment, and walk away shaking their head.

    33. Re:Do you want a university or a trade school? by Anonymous Coward · · Score: 1

      I have an math intensive computer science bachelors degree from a highly regarded university. I've also worked as a software consultant for the past 15 years on both business and science/visualization projects. Its all important but not all essential. I will agree that discrete math / logic are more important in a vast majority of software applications versus advanced concepts in calculus. Most

      Some observations:

      Most important subjects in all applications
      1) Programming fundamentals (data types, looping structures, data structures, etc.) === learned in university curriculum
      2) Software Life cycle (requirements, analysis/design, implementation, capacity planning, source control) === learned with experience (should have been in curriculum)
      3) OOP - Object oriented programming (classes,inheritance, interfaces, polymorphism, etc) === learned in university curriculum
      4) Large software construction / architecture (n-tier, logical/physical layering, design patterns) === learned with experience (should have been in curriculum)

      Business applications - important subjects
      1) Relational database theory & applications === learned in university curriculum
      2) User interface design === learned with experience (should have been in curriculum)
      3) Relevant Language specific training (C#, Java, etc.) === learned with experience

      Science applicatons - important subjects
      1) Statistical methods (Bayesian, etc.) == learned in university curriculum
      2) Advanced mathematical concepts (calculus, differentiation/integraton, partial, polynomial func processing == learned in university curriculum
      3) Advanced data applications (n-dimensional modeliing and cube data analysis & data visualization tools) == learned with experience

      Conclusion - For employment sakes - learn programming fundamentals and the Big 3 ( OOP, Relational databases and user interface). Learn a business relevant language (Java or .NET). This will get you by on 70-80% of your projects. For advanced study / academia - you need to hit most of the heavyweight math stuff.
         

    34. Re:Do you want a university or a trade school? by NoOneInParticular · · Score: 2

      I don't think that Numerical Analysis is that central in a CS education. It usually is there to convince the students that all the assumptions that they have learned in calculus (e.g., that the real numbers exist) is false when dealing with computers. So why first teach them something they don't need, then teach them that this doesn't work in practice, and then ways to get around it, finally ending up with methods to solve problems they will not face in practice? Can't we just teach them directly what they need to know: floating point, fixed point, rational numbers, arbitrary precision, and when to use what? Where does calculus come in?

    35. Re:Do you want a university or a trade school? by NoOneInParticular · · Score: 1

      Yes. I myself have always been baffled by the fact that statisticians, no matter how much you push them, cannot create a syllabus/book that explains statistics from the ground up. From day one they throw models, parameters, assumptions, short-cuts, and methods at you without a thorough explaining of why you would ever need that. Statisticians will shake their heads, but often can't explain what you should have done otherwise, simply because they in their turn, don't have a clue what experimental evidence gathering entails. Statistics is one fucked up branch of mathematics, to the point that many serious mathematicians (who do their utmost to teach the concepts) don't consider it to be part of mathematics.

    36. Re:Do you want a university or a trade school? by Anonymous Coward · · Score: 0

      I got a PhD from a top-20 university. ... ... Finally, the professors quoted in the article are from U. of Tennessee and SMU, which are like 4th-tier universities. So don't take their word too seriously

      It's not surprising that people like to think that their particular accomplishments are the true measure of a person; it's very convenient. Unfortunately for you, smart people judge ideas on their merit and not on the degree held by the speaker. Silicon Valley is filled with successful people with no PhD at all, believe it or not. Where did Jobs and Gates get their PhDs?

      Also, to be on the faculty at a place like UT or SMU, you need academic accomplishments that are probably superior to yours.

    37. Re:Do you want a university or a trade school? by benhattman · · Score: 1

      Hot topic: multi-core systems

      Core CS topic: computer architecture (x86, for example), instruction sets, digital systems

      I'm with you except for this example. With the exception of embedded systems (which is a mighty important exception), multi-core systems are both the present and the future of computing. Universities need to start adding multi-core processors into their computer architecture classes as well as elevating discussions about parallelization in many of the other core curriculum (like data structures, and algorithms courses).

    38. Re:Do you want a university or a trade school? by Anonymous Coward · · Score: 0

      Ad hominem is a poor response to a well reasoned argument, but a perfect response to an argument from authority.

    39. Re:Do you want a university or a trade school? by Anonymous Coward · · Score: 0

      Agreed - Engineering is not what you should expect to be taught in a trade school. In Holland, Engineering-bound students would go to a Technical School (Technische Hogeschool: Delft, Eindhoven, Twente) where the focus is on designing practical solutions. The (almost?) pure theoretical folks go to university and the ones who want to build and maintain stuff go to trade schools. Perhaps some sort of plumbing effort can work as an analogy:
      - Physicists interested in computing pressure by way of thermodynamics go to the university
      - Engineers looking to construct a 2nd level encasement cooling system for a nuclear reactor to the Technical School
      - The guys actually laying the pipe and fitting all the pieces and parts together go to the trade school
      And the big difference between Holland (Europe?) and the US is that somehow in the US, trade school has become looked-down-upon when in fact without well-trained plumbers your toilet would flush into your water supply!

      So, as always, it depends on what you want to do. If you think about your work in the long run and it involves actually building stuff, at least some trade school should be in your education. If you are constantly wondering why something is, you might want to avoid the local hardware store and go to a university.

    40. Re:Do you want a university or a trade school? by demonlapin · · Score: 1

      Most humanities academics regard all forms of engineering as merely advanced vocational education (viz: engineering majors are not eligible for Phi Beta Kappa, regardless of their academic standing). I find such intellectual snobbery amusing until it becomes tedious, because it's immediately obvious (if you think about it) that graduate school is apprenticeship with robes at the end. ("See, here's how you get a paper published in this journal - the editor really likes x...")

    41. Re:Do you want a university or a trade school? by metlin · · Score: 2

      As an adult math major (dual emphasis in CS and actuarial science), I suspect you wouldn't know hard core stats if it bit you on the ass. Most service courses at the graduate level (yes, I had a previous career in academia working with grad students) they teach you just enough to get your resident statistician to feel sorry for you, pat you on the head, ask for your parameters, fix your fucked up model and/or experiment, and walk away shaking their head.

      I hold an undergraduate in electrical engineering and a master's in computer science -- and I do data analytics for a living.

      So, I'd suspect that I probably know more about stats and their real world application across a plethora of fields (engineering, marketing, political research, economics) than you ever will.

    42. Re:Do you want a university or a trade school? by Anonymous Coward · · Score: 0

      I agree with the main point they are trying to make here, don't focus on the examples of a mechanical engineer or electrical engineer. I'm a successful distributed systems engineer, so I work in the field, but without a core foundational knowledge of Comp Sci, I would not be able to pick up new topics as well. I see people that have just "practical knowledge" and they know that specific version/topic very well (may not understand the inner workings though) but when that topic/version becomes outdated, they struggle.

      Take 2 extremes, ITT Tech vs Traditional Computer Science program, I think you will find that a traditional computer science student will be able to learn a new topic much more quickly because they have that foundational understanding.

    43. Re:Do you want a university or a trade school? by Anonymous Coward · · Score: 0

      I have to ask, "what is the CORE purpose of the education?" I love learning for learning's sake, but companies higher people based on the degree they earn. I've had peers with a Masters in CS who couldn't network a printer. If the education fails to prepare you for the work place then it has failed. I'm sure his higher maths would have been very valuable if he worked in a lab, or even with certain bits of code, but it did nothing for him when he was confronted with a support position, and it does nothing for me when I have to write mundane GUI scripts.

      "Computer Science" desperately needs to be broken into several majors each focused on their own concepts. It's absurd to think that one 4 or even 10 year education program can cover every field of "computer science". Programmers, Network Engineers, DBAs, and even Tier3 Help Desk are all expected to have the same 4 year education, however their jobs will very seldom, if ever, even touch on each other's disciplines.

    44. Re:Do you want a university or a trade school? by millard · · Score: 1

      Finally, the professors quoted in the article are from U. of Tennessee and SMU, which are like 4th-tier universities. So don't take their word too seriously.

      I should mention that I am a graduate of the University of Tennessee MS in CS program. The CS program at UT is actually *very* math heavy. Many of the older faculty have PhDs in math rather than CS. The department (now Electrical Engineering and Computer Science) grew out of the math department. I think Dr. Vander Zanden is reacting to his own university being very math oriented when it comes to teaching CS.

      I shouldn't comment on the arrogant, misinformed, and irrelevant statement about "4th-tier universities", but let me mention that in HPC, for example, few universities have the cred that UT has, thanks largely to Jack Dongarra, of course. Ever heard of LAPACK or the Top500? Let's argue about the merits of these arguments, not the ad-hominem attack of "well, you don't know anything, you are teaching at a 4th-tier school". BTW, Dr. Vander Zanden got his PhD from Cornell, I guess that's a 4th tier school as well.

    45. Re:Do you want a university or a trade school? by Anonymous Coward · · Score: 0

      Where's the "I like this" button!

      Two thumbs up! You said it perfectly!

    46. Re:Do you want a university or a trade school? by Anonymous Coward · · Score: 0

      This comes off as a snobby, ad-hominem cheap shot.

      Agreed!

      I am a CS PhD from The University of Tennessee at Knoxville (UTK) (oh yes, the "The" is capitalized there). I know Brad personally, and let me tell you he is not alone in his views in the EECS Department there. However, the opinion about Math teaching is very split among the faculty.

      Personally, I chose UTK for my graduate studies because they have very strongly mathematically oriented researchers there. In fact, I would (personally) say that it would be hard to find a better place for theoretical evolutionary computation right now. Not only is ranking Universities meaningless for graduate studies (you work with a professor, not a University), but it is also meaningless to associate a person's opinion to a University rank (world experts are routinely found in so-called 4th tier Universities).

      And again for full disclosure: I am now in a top 20 University doing my postdoc. Why the fuck would this be important? I don't know, but there it is.

    47. Re:Do you want a university or a trade school? by Anonymous Coward · · Score: 0

      to figure out how much [...] conditioner I needed for a server room.

      Dude, you don't need math for that! Read the instructions: "Apply generously. Lather. Rinse. Repeat"

    48. Re:Do you want a university or a trade school? by Anonymous Coward · · Score: 0

      I'm Dennis Frailey, neither anonymous nor a coward. I just don't
      know the protocol for logging on to this system.

      1) My comments in the above post were taken somewhat out of context.
      In my original comments on the SIGCSE list I also recommended strong
      discrete math; and you need some calculus to understand statistics, which is
      also vital for most practicing software developers (which is what most CS
      students end up as). However I don't believe you need as math-heavy a
      curriculum as I've seen in many places. When modern algebra is considered
      essential for a computer science major, I begin to suspect that they have too
      many tenured math faculty and not enough computer science faculty.
      (I was a math major and had modern algebra and loved it, but
      I don't see it as important to most computer science majors. It is not needed to
      provide additional mental discipline or mathematical maturity and it is rarely likely
      to be used in their work, unless they are in a highly specialized field. It would be
      more useful for a CS student to have courses in probability & statistics or data bases.)

      There's also the issue of how a subject is taught. For example, when a course
      on software testing covers all sorts of arcane and rarely used testing
      algorithms (including proofs thereof), but fails to teach such fundamental concepts
      as regression testing or the essential connections between tests and requirements,
      I start to cringe. I've been an ABET program evaluator for 25 years and I've seen
      all sorts of CS curricula. I've seen no correlation between the school's
      reputation, size or other characteristics and the quality of their programs.
      But what I have seen much too often is CS taught as a mathematical
      discipline rather than as a fundamentally applied subject. One can legitimately
      teach it in many ways, but when the program doesn't match the students'
      career objectives, I consider that a disservice.

      2) Higher learning vs trade school - there's quite a range here. In at least
      some countries (parts of Canada, for one), universities are different
      institutions from schools of engineering because the latter are not considered
      in the same league. However my observation has been that the engineering
      schools are often more rigorous and certainly more relevant to practitioners.
      It's better, I think, to keep such religious wars out of the conversation and focus
      on what the students are attending college for. My comments had to do with
      students whose academic program is purportedly preparing them for careers
      as software developers (which is where most of the jobs are).

      3) To address a few of the specific remarks above:
      "Quite frankly, if math is not your strong point, then you should consider moving out of CS."
      I agree but only up to a point. Having worked for 36 years in the computing, semiconductor
      and aerospace industries, I know that many computing jobs are best done by people with
      strong math skills; but certainly not all. There are plenty of jobs
      where a more important requirement is the ability to organize and manage people.
      Too many people who could have very successful careers in computing are turned
      off because they are not programming whizzes or math geniuses.

      "the role of a university CS undergraduate curriculum is not to teach 'cloud computing
      or multi-core systems or software engineering'. It's to teach core CS topics."
      I agree, but you have to teach these topics using relevant examples and
      for most CS students you ought to teach application of these topics. That being said, I
      contend that software engineering is considered a "core CS topic" by most organizations
      today, including the ACM/IEEE CS Curriculum models and the ABET CS accreditation
      criteria. Parallel processing has always been central to computer architecture and
      multi-core computing is where that technology is today. Would you teach them
      using out-of-date technology for your examples?
      I'll accept that

  48. Somtimes you have to do stuff you don't want to by Bruzer · · Score: 1

    This story resonates with me. I would have wholeheartedly agreed with the professor when I was a student and being forced to take Math classes that I did not like. However with my experience in the "real world" I now disagree.

    I ended up minoring in Mathematics, because of the of the all the Math requirements for a Computer Science major. I strongly disliked the advanced Calculus courses and could not imagine why we needed to take them. Since then I have worked in the industry as a Software Engineer for 14 years.

    In retrospect I see that the time at the university was preparing me for the real world. The lesson was not that Math is important to a Software Engineering career, but that we often have to do things that we don't like to get to the stuff that we do like. I would LOVE to program all day (and sometimes I can), but there are all sorts of other things that Software Engineers have to do _and_ be good at to succeed at our jobs. We have to do all kinds of tasks that is not programming, fill out "TPS reports", be able to speak in front of other people, the good ones even have social skills (gasp!) to convince people to try their way or work with them to solve a problem. I dislike the extra tasks almost exactly as I disliked Calculus 3, but in the end, I got through it and will be a better Software Engineer because of it.

    As far as the point that math turns away people that would be influential to the field of Computer Science. Tough. If they didn't have the fortitude to put up with stuff they do not like or are not good at they would likely be a prima donna in the workplace.

    --
    "Tempt not a desperate man" - Willy S.
    1. Re:Somtimes you have to do stuff you don't want to by NoOneInParticular · · Score: 1

      Wouldn't it be even better if they would have taught you this lesson by teaching you something that you actually could use? Like doing the same idiotic thing over and over again, stealing the homework of your fellow students, or licking the professors boots? Sounds that you might have learned even more from that than from calculus.

  49. Nah, you weren't the worst by NotSoHeavyD3 · · Score: 1

    I mean I've told this story before but I had an advisor(who was a physics professor) tell me during orientation to take the freshman physics for physcists because I did well on the physics placement test.(Which basically just repeated checked to see if you got Newton's first law. I mean honestly, it's not that hard.) So what was the problem? I took a calc test at the same time which he saw and it said my calc was fairly weak. The course was basically one big applied applied math course where they expected that you knew calculus to start with and the course made no sense if you didn't know calculus. (It was a figurative train wreck and only got worse when they broke out the linear algebra that I wouldn't see for years afterwards, let alone those weird ass integrals for center of mass that nobody understood.) Now that was the worst advising I've ever seen. I suppose I could bring up the fact the thing I absolutely despised as a CS major wasn't the math requirement but the foreign language requirement that the school had as a general requirement but that'll be for another time. (Lets just say all the reasons they gave me for it are horseshit and they know it's horseshit.)

    --
    Did you know 80 to 90% of the moderators on slashdot wouldn't recognize a troll even if one dragged them under a bridge.
  50. Computer science as an academic discipline by LambdaWolf · · Score: 2

    Dennis Frailey makes a distinction between CS research and applied CS: 'For too long, we have taught computer science as an academic discipline (as though all of our students will go on to get PhDs and then become CS faculty members) even though for most of us, our students are overwhelmingly seeking careers in which they apply computer science.'

    I get that the extent of math necessary in computer science is an open question and I won't pretend to have an answer to it, but challenging the presence of math, and the academic approach in general, in a university setting bothers me. Of course computer science ought to be taught as an academic discipline in an academic setting. Who cares if students will use it in their careers? The whole point of a university is to study academic disciplines—maybe you intend to apply them and maybe you don't, but either way they are considered worthy of pursuit for their own sake. And that goes not just for computer science (assuming that's your major) but for math, science, and humanities as well.

    If you just want to get a job as a programmer without learning all that theoretical stuff, skip the university altogether and just buy a book, or go study at a technical college. Now, you might have a really hard time getting hired without that bachelor's degree, and that does indeed suck, but that's the fault of the labor economy—it's not fair to ask universities to change their philosophy to accommodate corporate culture.

    --
    "This algorithm runs in constant time. Come on, 2,147,483,648 is a constant..."
    1. Re:Computer science as an academic discipline by segfault_0 · · Score: 1

      This is quite the bourgeois attitude. Unfortunately it's not reality for most people in this world - you should get out more often.

      --

      I was crazy back when being crazy really meant something. (Charles Manson)
  51. Math is not applicable ... by Infernal+Device · · Score: 1

    In most real-world jobs that I've worked in, it's more about being able to shuffle data from one pile to another efficiently, rather than working the math (which is, at best, uncertain). I say this from the background of having a degree in Drama and yet, I still have a decent job as a programmer doing real work (not as a manager, either).

    The major problem with switching to applied computer science is figuring out which technologies or sets of technologies are going to be truly useful going forward. It could be argued that all of them are, but some of the current crop have yet to prove themselves, except in specialized cases.

    I would argue that real-world programming, if one has some sort of talent or bent toward it, can probably be taught in two years (or less) concurrent with subjects on techniques in specialized areas. This would lead to most programmers needing, at best, an associates degree.

    --
    "My God...it's full of trolls!"
  52. Seems to conflate programming and CS by Anubis+IV · · Score: 1

    Unfortunately, there are many disciplines within CS that require a math background. I couldn't imagine approaching a graphics class without having taken Linear Algebra, or a class covering formal languages, state machines, and the like, without having gone through Discrete Mathematics. For that matter, Calculus 1 level stuff occasionally comes in helpful with determining the complexity of algorithms, and networking classes routinely apply intro-level calculus in order to calculate numbers like the most efficient values for different aspects of a system in order to achieve the best throughput.

    That said, in general practice, it's rare that I need to use math beyond algebra. Even so, however, theory classes like the ones I mentioned above are what make Computer Science a science, as opposed to merely being a programming major. If you're suggesting that you don't need math for a CS degree, then you're very wrong. You may not need it for an Associates level programming degree, but you most certainly need it for a CS degree. To suggest otherwise is to miss the distinction between the two.

  53. time for IT to drop the need BS or MS for level 1 by Joe+The+Dragon · · Score: 1

    time for IT jobs to drop the need BS or MS for level 1 jobs what use Calculus on HELP DESK? Desktop support? or IT ADMIN?

    and Most CS Educations are poor for IT work anyways trade schools are much better.

    http://www.csmonitor.com/USA/Education/2011/0202/Does-everyone-need-a-college-degree-Maybe-not-says-Harvard-study

    http://www.networkworld.com/news/2011/022511-it-graduates.html

  54. I find my CS staff never use math... by filesiteguy · · Score: 1

    ...however they use logic a great deal.

    Keep in mind when old-timers like me were in college, CS was about determining how to best utilize the 640 KB of memory you had available. You needed to understand more math than now.

    OTOH, I actually think that multiple languages are a must for programmers these days. I - for one - speak/write German and Spanish. I have seven programmers with CS degrees and an additional six analysts with CIS degrees working for me.

  55. If you cannot math by SleeknStealthy · · Score: 1

    you cannot be an engineer. Honestly, the one discipline that cannot lower its core requirements is Engineering (CS included). I agree on one hand, too many CS majors do not have a clue how to actually develop real software when they graduate college. This especially happens when CS is a part of the math (arts and science) dept, but this total focus on theory is the problem, not because the students must understand high level math. IMO, this is why CS should be a part of the Engineering college, to ensure the theory can be applied. Every engineer I know has passed Calculus 3, imho this should be a minimum req. to build systems that affect the lives of other people...just a thought.

    --
    Math
    1. Re:If you cannot math by bussdriver · · Score: 1

      I had a great uncle who had a college degree in math. He didn't know any calculus and was annoyed when they started expecting him to do it for his engineering work. He managed to do the job and solve similar problems without it - and correctly I might add.

      Calculus is overrated; some really clever people managed without it; more than 1 way to solve many problems - so I think we brush over the subject and over simplify "higher level" as a buzzword: calculus.

      Linear Algebra has no calc and the problems are impossibly difficult (that is, finding solutions doesn't scale.) Linear Algebra is probably far more useful for CS. Proofs and the various number theory areas are big math aspects of CS. I don't think any Calc is required for CS yet it often is associated with it (again, due to simplification.) Now physics... calc and physics shouldn't ever be separated. Like how discrete math and CS shouldn't.

  56. BSCS == Code monkey by Anonymous Coward · · Score: 0

    If you don't want math with your computer science, learn computers / networks / shiny jargon at a trade school

    Which is precisely what employers want someone with a BSCS to do: sling code, manage their network, administer the database and many times support. Just go through the job listings and you'll see the typical laundry list with "a degree in Computer Science, Engineering or Information Technology wanted."

    If you want to do algorithms and other mathematical type of things, you'll need at least a Master in Mathematics - skip the MSCS - most of those jobs want a graduate degree in math.

    Here I'll add to the war:

    CS = code slinger; aka Code Monkey.

    Math = algorithms and design.

    If you don't want to be a code monkey kids, get a degree in Math.

    The Information Systems guys will end up in management.

  57. Math == CS by Anonymous Coward · · Score: 0

    1. The fact that Computer Science has its foundation in mathematics.
    2. Support Vector Machines, computer graphics, optimization problems, machine learning. All require math to understand how they work, and how to apply them.
    3. Learning computers without the math is called an MIS degree. If you don't like the math, then get out of CS.
    4. Also, you have to understand that in most universities, the calc/physics requirements serve as a weeding out process.

  58. come on, what's the big deal? by Anonymous Coward · · Score: 0

    It's really simple: what you want to do is just get down to coding, get a 2-year degree, or just teach yourself and then start at some company as a coder at the bottom rung. If you want to be an academic or have the background to work on a broader variety of problems, get a 4-year CS degree. If you don't want that, don't get a CS degree, there's no reason everyone needs one.

    If you do go the CS route, though, don't whine that the degree has math in it, since in science that's how we attack problems methodically. Hence the S in CS. When you picked your school and program, it's not as if the math part of the curriculum was some big secret being hidden from you, you're the one who signed up for it.

    1. Re:come on, what's the big deal? by Travelsonic · · Score: 1

      Or learn the difference between asking questions and whining, you pompous dick.

      --
      If you believe in privacy, and believe you have "nothing to hide" at the same time, you're a goddammed idiot
  59. What is the point of your education? by geofgibson · · Score: 1

    If you're pursuing a degree in computer SCIENCE, of course advanced math will be involved. Do you really think your favorite C++ development tools just appeared without any math? Do you think Linus gave us the OS Of The Gods without math? If all you want to do is hack databases or keep the network running, why are you getting a CS degree? I can get a Gen-loser to do that job at half your overpriced College Graduate salary and all the Doritos the kid can consume and he won't bother me about "family leave" or 401Ks. He'll do a better job of it than a huge percentage of you graduates as well (ya, I know you don't want clients to see him - that's why I keep him in the dungeon with the fridge and all the porn he can stream).

  60. Computers as a Science by Anonymous Coward · · Score: 0

    Working as a Software Engineer for 10 years, I've only really needed up to Data Structures. If you want to be a programmer, you can goto your local for-profit school and learn how to program. I've never needed continuous math outside of school. When it comes to work, algorithms was more useful than linear algebra.

    But universities are doing more than training you to be a programmer. They also need to find the next generation of professors and researchers. This is the same reason that all of us tech nerds learned history and Shakespeare in high school. None of you reading this message are probably using those classes from HS, but someone in those classes needed it to become who they are today. Forcing everyone to go through each of those classes allowed all of us to make a informed decision about what to do with our lives, with respect to both a HS diploma and a CS degree.

  61. 'outstanding programmers by ZankerH · · Score: 1

    I have seen many outstanding programmers who struggled with calculus and never really got it.'

    Programmer != computer scientist

  62. Dynamic programming by Sits · · Score: 2

    Sigh. My previous comment was horribly garbled. What I meant to say is - did you test a dynamic programming solution too? It sounds like the sort of problem that such a technique would do well at (but perhaps it would run into the same problems as pre-computation).

    1. Re:Dynamic programming by holophrastic · · Score: 2

      The problems I tend to encounter that require advanced computer programming haven't found dynamic programming to be useful. Here's why.

      Dynamic programming winds up being a mathematical technique to a CS problem. Math techniques are notorious -- in my world -- for requiring clearly bounded problem spaces. Specifically where a complex problem is complex because it has many subproblems. In my business world, a problem is complex because it does not have distinct subproblems (overlapping or otherwise). In math, being able to separate a conglomorate of subproblems is effortful -- because equasions don't do that. In CS, it's the opposite. Any programmer who can see the hundred subproblems to a problem can program 100 algorithms.

      In this particular case, from 10 years ago, I'll get into more detail.

      You can buy a single adult admission ticket, or two single adults, or an adult and a child, or a couple's ticket, or a family of two adults and two children. Each is a different price. Also, you can have coupons. $s off, % off, % off an adult ticket, % off a couples, $s off a couple. Each is a different amount. Where the math fails is when I say that every day there are a different set of tickets and a different set of coupons and you can purchase any number of tickets and use any number of coupons. It turned out that the humans at the box office couldn't reliably figure out the best way to apply three coupons to four tickets to save the customer the most money.

      Unlike most dynamic programming problem spaces, in this case, the subproblems don't just overlap, they interact -- and they interact completely. Brute-force has an enormous number of permutations to calculate in the event of 4 tickets and 2 coupons. pre-computing has even more since there are 50 tickets and 50 coupons to consider.

  63. When hiring by codepunk · · Score: 1

    I have never asked a math question while interviewing a programmer. The average corporate programming job requires basic math and at the very most simple well known formulas. I would say heavy math skills are only helpful in some very specific programming specialties. The last thing I want my programmers doing is writing their own bubble sort routines.

    --


    Got Code?
    1. Re:When hiring by russotto · · Score: 1

      I have never asked a math question while interviewing a programmer. The average corporate programming job requires basic math and at the very most simple well known formulas.

      The average "corporate programming" job requires pulling some data out of a database and turning it into a report. Or running some very simple logic over it and putting that into a report, or back in the database. It's to programming as framing a stud wall is to carpentry. Computer science doesn't even enter into it. That a four-year degree is required for such work is sad.

  64. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  65. Algebra and logic, minimal calculus needed by gstrickler · · Score: 1

    For any applied (e.g. programming, engineering, etc) computer related field, what is necessary are courses in advanced algebra (e.g Algebra 2), logic (algebraic and boolean), and a basic grasp of calculus (e.g. Intro to calculus or calculus 1). Those should be sufficient math courses for an MS or BS degree in computer science or computer engineering degree.

    If you pursue a PhD in computer science, then more advanced courses in logic, calculus, differential equations, number theory, and numerical analysis are appropriate, and should be required. Those courses should be optional for students pursuing an MS/BS.

    JMHO. But it's the correct opinion. ;)

    --
    make imaginary.friends COUNT=100 VISIBLE=false
  66. Less math limits job opportunities by perpenso · · Score: 2

    I don't get why I had to learn all the math in university. I agree some math is useful, but I have never in my 10 years working applied any of the advanced stuff, nor found learning it helpful.

    And some other grad from your class will tell a completely different story. My first job was pure tech, embedded kernel software. My second job was molecular modeling. If I did not have the math (which I too never expected to use) I would not have been qualified for that job. Also, later when I went to business school I used more advanced math in marketing classes than I ever did in computer science (again, I never expected this).

    So basically the CS program is preparing your for more advanced jobs, a wider range of opportunities. The fact that some members of your class never go for such jobs (and you may not be one of those, perhaps your next job will use the math) is no reason to drop math from the CS program.

    1. Re:Less math limits job opportunities by cheekyjohnson · · Score: 1

      And some other grad from your class will tell a completely different story.

      Then they can take it of their own volition. They should not force random knowledge upon people because they might need it. If people make a mistake and fail to take needed courses, then too bad for them. Let me decide what opportunities I wish to have.

      --
      Filthy, filthy copyrapists!
    2. Re:Less math limits job opportunities by exploder · · Score: 1

      Then they can take it of their own volition. They should not force random knowledge upon people because they might need it

      Did someone hold a gun to your head and make you sign up for that degree at that school?

      Math is not anything more nor less than reasoning correctly about that which can be made precise. It's not unreasonable for any school interested in maintaining its reputation to require its science graduates to be able to demonstrate some ability there.

      --
      Yo dawg, I heard you like the Ackermann function, so OH GOD OH GOD OH GOD
    3. Re:Less math limits job opportunities by cheekyjohnson · · Score: 1

      Did someone hold a gun to your head and make you sign up for that degree at that school?

      The "get out if you don't like it" argument isn't a very good one. It can be used in almost any situation. There is no reason not to implement these changes (that I currently see).

      Math is not anything more nor less than reasoning correctly about that which can be made precise. It's not unreasonable for any school interested in maintaining its reputation to require its science graduates to be able to demonstrate some ability there.

      It's unreasonable if they're forcing everyone to memorize unnecessary information. It's necessary to some, but then those specific people can just take the courses.

      Also, another problem with many schools is that they care and rely far too much on arbitrary "reputations."

      --
      Filthy, filthy copyrapists!
    4. Re:Less math limits job opportunities by exploder · · Score: 1

      It's unreasonable if they're forcing everyone to memorize unnecessary information.

      Math relies less on memorization than any other topic (that I've had to study, at least). If you know mostly know what's going on, but you just forgot one detail, you can figure it out based on the stuff you do remember---because everything in math is there because it has to be there, and any other way just wouldn't work.

      Also, another problem with many schools is that they care and rely far too much on arbitrary "reputations."

      What should they rely on? Marketing?

      --
      Yo dawg, I heard you like the Ackermann function, so OH GOD OH GOD OH GOD
    5. Re:Less math limits job opportunities by cheekyjohnson · · Score: 1

      Math relies less on memorization than any other topic (that I've had to study, at least). If you know mostly know what's going on, but you just forgot one detail, you can figure it out based on the stuff you do remember---because everything in math is there because it has to be there, and any other way just wouldn't work.

      The thing is, if you don't use something, many people forget it rather quickly. Entirely.

      What should they rely on? Marketing?

      Nothing. They shouldn't care about such trivial things. Anyway, allowing some more choice isn't going to hurt their reputation (it might in the eyes of what I perceive as irrational idiots, but that doesn't matter).

      --
      Filthy, filthy copyrapists!
  67. Their already exists other options by Hiro2k · · Score: 1

    It seems like a lot of people are confusing CS and Software Engineering and aren't aware of the differences. I think that a lot new students want to be software engineers but most schools only offer traditional CS programs. So it's only natural that they are going to be turned off by what seems to be math courses with no relevance to what they want to do.

    CS is very important to have and I love it, but I think many schools dismiss the importance of having a Software Engineering program as well.

  68. then they're software engineers by Annymouse+Cowherd · · Score: 4, Insightful

    Software engineering and computer science are two entirely different fields. I don't know why they're combined so often.

    1. Re:then they're software engineers by segfault_0 · · Score: 1

      Because when the CS people realize they aren't going to invent anything novel they need a job. Hello, software engineering.

      --

      I was crazy back when being crazy really meant something. (Charles Manson)
    2. Re:then they're software engineers by Anonymous Coward · · Score: 0

      Universities are wising up...my degree is a bachelors in Computer science with a "Specialization" in Software Engineering. And now students are even allowed to get a Major in Computer Science with a Minor in Software Engineering both under the same BSc.

  69. Maths is a predictor by middenview · · Score: 1

    After twenty years of recruiting engineers, I find aptitude for maths as the strongest predictor of development ability - the more descriptive degrees don't cut it. Software engineering courses teach to how to get the bugs back out again and manage the process, but good maths is what stops bugs being there in the first place.

  70. Mathematics in General by Lawrence_Bird · · Score: 1

    really should be tailored to the kind of programming and development the student expects to be doing after he graduates. Working for a defense contractor? Yeah some basic understanding of calc and linear methods etc is probably useful. Business? Outside of narrow quant areas on Wall St, nothing much beyond simple math from high school. Of course there areas where more advanced stuff like graph theory might be appropriate - maybe in the telecoms or CIA. But to force students (as I once was) to take a few high level math courses just 'because' its not fair to any involved.

  71. Is any discussion ever on topic? by h00manist · · Score: 3, Insightful

    I'm not one to nitpick, but increasingly I find that nearly every single post on a story is off topic. There are hardly any posts about the topic itself. Joking is great, humor is great, side notes are great, but when on-topic stuff becomes under 10% of the comments, well... many repetitive comments about spelling, duplicates, personal attacks...

    --
    Build your own energy sources from scratch. http://otherpower.com/
    1. Re:Is any discussion ever on topic? by 14erCleaner · · Score: 0

      I'm not one to nitpick, but increasingly I find that nearly every single post on a story is off topic.

      Bummer about the NFL going on lockdown, isn't it?

      --
      Have you read my blog lately?
    2. Re:Is any discussion ever on topic? by h00manist · · Score: 0

      I prefer it when it rains.

      --
      Build your own energy sources from scratch. http://otherpower.com/
    3. Re:Is any discussion ever on topic? by h00manist · · Score: 0

      In general that effort will require boycotting all chocolate as there is no real way of knowing which cacao is going into which chocolate. Ironic that a dictatorshiip can be sustained by cacao exports.

      --
      Build your own energy sources from scratch. http://otherpower.com/
    4. Re:Is any discussion ever on topic? by h00manist · · Score: 1

      I think Linux needs more volunteers too, but overall a modification of the structure of finances in our society would be much more beneficial to thousands of nonprofit efforts.

      --
      Build your own energy sources from scratch. http://otherpower.com/
    5. Re:Is any discussion ever on topic? by Anonymous Coward · · Score: 0

      6x cat food
      2x paper towels
      1x shampoo
      1lb boneless skinless chicken breasts
      2-3 tomatoes
      2 lb potatoes
      1 green bell pepper
      2 lg onion
      1doz eggs
      margarine ...

      Oh i'm sorry, isn't this where I put my shopping list?

    6. Re:Is any discussion ever on topic? by h00manist · · Score: 1

      Mesh networking works quite well given you have the proper hardware to do it.

      --
      Build your own energy sources from scratch. http://otherpower.com/
    7. Re:Is any discussion ever on topic? by h00manist · · Score: 1

      It's great to have companies and authorities give a "legal promise" that your data will not be sold distributed and circulated willy-nilly, and it is also quite sad to find out that is not exactly what really happens.

      --
      Build your own energy sources from scratch. http://otherpower.com/
    8. Re:Is any discussion ever on topic? by h00manist · · Score: 1

      What is the sex of angels?

      --
      Build your own energy sources from scratch. http://otherpower.com/
    9. Re:Is any discussion ever on topic? by h00manist · · Score: 1

      yes it's 110v but by standard it's really 129v and besides it's not clear if it's 50Hz or 60Hz.

      --
      Build your own energy sources from scratch. http://otherpower.com/
    10. Re:Is any discussion ever on topic? by h00manist · · Score: 1

      Of course the fish are sleeping, it's 1am!

      --
      Build your own energy sources from scratch. http://otherpower.com/
    11. Re:Is any discussion ever on topic? by h00manist · · Score: 1

      The conditions for debate are that both parties agree on the objectives for the outcome of the debate, the format of the debate, and the clarification of terms.

      --
      Build your own energy sources from scratch. http://otherpower.com/
    12. Re:Is any discussion ever on topic? by h00manist · · Score: 0

      The National Federation of Loosers continues to maintain the attention of their subjects.

      --
      Build your own energy sources from scratch. http://otherpower.com/
    13. Re:Is any discussion ever on topic? by h00manist · · Score: 1

      It's a pretty neat unit which I use to this day but I found it in a box on 97th & bway late at night, I think it was left on the sidewalk intentionally for someone to take.

      --
      Build your own energy sources from scratch. http://otherpower.com/
    14. Re:Is any discussion ever on topic? by h00manist · · Score: 1

      That depends, maybe, but in any case there is no confirmation. For sure.

      --
      Build your own energy sources from scratch. http://otherpower.com/
    15. Re:Is any discussion ever on topic? by h00manist · · Score: 1

      It's varnished wood. Damn that was lound noise outside. The conflict mapping project is cool.

      --
      Build your own energy sources from scratch. http://otherpower.com/
    16. Re:Is any discussion ever on topic? by h00manist · · Score: 1

      They keep asking me to format their machines and install that other OS they are familiar with. It's sad.

      --
      Build your own energy sources from scratch. http://otherpower.com/
    17. Re:Is any discussion ever on topic? by h00manist · · Score: 1

      6x cat food 2x paper towels 1x shampoo 1lb boneless skinless chicken breasts 2-3 tomatoes 2 lb potatoes 1 green bell pepper 2 lg onion 1doz eggs margarine ...

      Oh i'm sorry, isn't this where I put my shopping list?

      Of course it is. And your to do list. And your contacts list. Especially if it contains the phone numbers.

      --
      Build your own energy sources from scratch. http://otherpower.com/
    18. Re:Is any discussion ever on topic? by h00manist · · Score: 1

      I think there is a need for all posts to have flags available to everyone, like they do on Craiglist. Essentially, unlimited "mod points", and a running score next to each post of all the mods it has received.

      --
      Build your own energy sources from scratch. http://otherpower.com/
    19. Re:Is any discussion ever on topic? by h00manist · · Score: 1

      Slash slash dott dott slash dott I am nott gonna vomitt

      --
      Build your own energy sources from scratch. http://otherpower.com/
    20. Re:Is any discussion ever on topic? by vsync64 · · Score: 1

      And your password. Mine's hunter2. Don't worry, Slashdot encrypts it so only I can see my own password. It's very convenient.

      --
      TO BUY A NEW CAR WOULD MAKE YOU SEXUALLY ATTRACTIVE.
    21. Re:Is any discussion ever on topic? by ryanhanks · · Score: 1

      I'm not one to nitpick, but increasingly I find that nearly every single post on a story is off topic. There are hardly any posts about the topic itself.

      This comment is off topic.

    22. Re:Is any discussion ever on topic? by h00manist · · Score: 1

      Yes, it's officially allowed, no recommendations against.

      --
      Build your own energy sources from scratch. http://otherpower.com/
    23. Re:Is any discussion ever on topic? by Tjp($)pjT · · Score: 1

      Is a post saying the other posts are off topic off topic itself? In any case I posted on topic in about 5 minutes in the future from this post.

      --
      - Tjp

      I am in wallow with my inner money grubbing capitalistic pig. ... Oink!

    24. Re:Is any discussion ever on topic? by h00manist · · Score: 1

      If you to to a conference on beer quality and nutrients, and you find everyone there is talking about whatever they want except beer, and you insist the topic of beer quality and nutrients is important and nobody cares, maybe you are the one off topic, because in actuality it's really just an excuse to get drunk.

      --
      Build your own energy sources from scratch. http://otherpower.com/
  72. Again? by degeneratemonkey · · Score: 1

    There is no argument here. It's akin to saying "Let's be honest, most creative writing majors will end up in marketing, so a creative writing education should cut the crap and focus exclusively on applications in marketing."

    I like my engineers to be competent programmers and mathematicians. If you only want to be a code monkey, save yourself some cash and go to a trade school, not a university Computer Science program. Please stop trying to redefine "Computer Science."

  73. I had to give up CS... by Anonymous Coward · · Score: 0

    I took international studies in college instead of comp sci because I couldn't handle the math. That ended up working just fine for me - I now program for a living, and I got to study stuff in college I had more of a personal interest in.

  74. CS IS math by Anonymous Coward · · Score: 0

    All that software has of unreliability, security holes, bloat, inconsistency, bugs, maintenance costs, comes from dunces being "successful" at meeting some deadline one day and passing some conveniently lax or naive testing and validation and having some pointy haired manager sign off and moving on with their careers to another project. CS IS math. Programmers who cannot understand math, no matter how proficient they are at hacking code, are always the ones leaving behind a mess that will eventually cost much more in the long run than the problem they were supposed to fix.

  75. College makes you take useless classes by Anonymous Coward · · Score: 0

    CmpE major here, just finished up my sequence of 9 math courses needed for the degree. All were useless except Calculus and Linear Algebra, and then only marginally useful.

    Likewise we have to take a Physics sequence that includes a class on optics and lasers. Has nothing to do with anything, but they need to give the professors a job.

    To anyone struggling with math who wants to be a CS/CmpE major, don't give up. I had to start off with basic (rudimentary) math in community college, doing long division and multiplying and stuff. Yeah, it never gets easy but it isn't impossible.

    And remember that the purpose of college is to drain your savings and grind your will to live down to nothing. You'll have to take a LOT of pointless classes that are unrelated to your major. That's just how it is. Don't let your dream die, but prepare to work harder than you ever have for no reason at all.

  76. Math is Applicable by J_Pierpoint_Finch · · Score: 1

    Whether Calculus is used by a student later in their life is irrelevant. Calculus (as well as other college level subject like physics, biology, etc.) enables a person to develop their mental capacity to think well and think critically. What you learn in CS is a set of tools that are used to solve problems. Whatever area you go into and apply your CS training you will need these thinking skills to solve those problems.

  77. industry: math is overwhelmingly unrequired by PJ6 · · Score: 1

    The math shouldn't be that hard for bright enough individuals. A university degree is just as much a test as it is an education.

    The problem is, many of us have been reduced to the lowest form of code monkey. Being a business owner, I know that the vast majority of coding work is just the most mind-numbing stupid shit you could possibly imagine. Not only are there few positions that actually require you to know any math at all, but no matter how talented you are, you're often forced to work shoulder to shoulder with people that would be better off flipping burgers.

    That the need for math is questioned comes from a big mismatch between what the CS degree trains you for, and what 95% of people with a CS degree do with it.

  78. Degrees outside of school of science by perpenso · · Score: 1

    I would submit the math requirements are common in the core requirements of any Bachelor of Sciences degree, rather than specific to a Computer Science major.

    If you don't want to master basic college-level math to earn a sciences degree, then perhaps you should be lobbying academics to offer a Bachelor of Arts with a Applications Development major instead.

    I would submit the math requirements are common in the core requirements of any Bachelor of Sciences degree, rather than specific to a Computer Science major. If you don't want to master basic college-level math to earn a sciences degree, then perhaps you should be lobbying academics to offer a Bachelor of Arts with a Applications Development major instead.

    My university had two options for those interested in computer programming. Computer science in the school of science and Computer Information Systems in the school of business, other universities had a Computer Engineering option in the school of engineering(*). There were a few students who transferred to CIS since they were not interested in taking the extra math classes. I agree that there is no problem with the math requirements, the problem is that some people are in the wrong program.

    (*) CS, CIS, CE, etc don't have fixed definitions. At other universities CIS is in the school of science not business, CE in the school of science, ...

  79. The real issue by systemredx · · Score: 0

    The real issue here is the personal hygiene of CS professors. I had not one, not two, but THREE cs professors that refused to wear deodorant. Learning become unbearable, as each time I questioned their logic they decided to come near me to explain. A noxious gas then enveloped me each time as I struggled to stay on point and remember what I even had questions about. The results from it? Not the best understanding of math, but great tolerance to the army's gas chambers.

  80. Real CS people need more continuous math than ever by Animats · · Score: 2

    CS is more about continuous math than ever.

    Until the mid-1980s, computer science was mostly about discrete mathematics. Knuth is heavy on combinatorial and clever integer math. Mathematical logic and proof of correctness were big. I went through Stanford CS for a Masters in the mid-1980s, and and never had any class that required serious number-crunching.

    But now it's completely different. Graphics, game programming, machine learning, robotics, control, audio and video processing, and even finance all involve heavy number-crunching. Differential equations come up everywhere. Statistics is far more important, and there have been major developments in the theory of statistics. (Much classic statistics assumes you're limited on compute power; that's why "least squares" methods were so popular once. Now there are better techniques, ones much better at handling outliers.) As a result, AI is working much better than it did during the "expert system" and "AI Winter" eras.

    Basic calculus is not advanced math. Calculus is just what gets you to entry level so you can learn real math. Real people use this stuff. Last year I took a course at Hacker Dojo on machine learning, taught by a quant from Blackstone Capital using the Stanford course materials. They assumed everyone had a thorough knowledge of calculus. I'm not a "math person", nor an academic, but that's the price of staying active in this industry.

    If you just want an "IT" degree, you may not need much math. The math parts will be bought with the package you install and administer. But in that case, you're probably better off getting a degree in business administration with some extra IT courses.

  81. Universities are all about salaries not science by Anonymous Coward · · Score: 0

    Sadly, the scholastic system, like everything else, is so corrupt that very little education or science actually happens. Let's face the truth, most people only care about their paycheck. Nobody really gives a damn about students or an effective curriculum. It's all about money making more money, power seeking more power. Of course, if universities actually took some responsibility for the careers they are supposedly building, they would design real world course material. Furthermore, they'd test real world accomplishments, not just to some prof's arbitrary standards. Lastly, the graduate people into needed positions rather than churning out an overabundance of useless and expensive paper degrees.

    For all the money universities get, they sure don't return enough back to society. Most university funding just goes to supporting pretentious people in fancy lives.

  82. You already have the option for less math by perpenso · · Score: 1

    And some other grad from your class will tell a completely different story.

    Then they can take it of their own volition. They should not force random knowledge upon people because they might need it. If people make a mistake and fail to take needed courses, then too bad for them. Let me decide what opportunities I wish to have.

    As one of the other posters has pointed out there are programming oriented degrees outside of the school of science that do not require as much math. Go for one of these degrees, don't water down a science oriented degree.

    1. Re:You already have the option for less math by cheekyjohnson · · Score: 1

      The degree is irrelevant. I was speaking of degrees in general. Why force people to take things that they will not need based on the assumptions that they may need it? They should decide that for themselves.

      --
      Filthy, filthy copyrapists!
    2. Re:You already have the option for less math by tater86 · · Score: 1

      No one's forcing you to get a degree, even if an employer requires it. You can choose for yourself. If you just want to take certain courses, most colleges will let you take them as a non-degree student. They'll even give you a transcript showing that you took whatever courses you wanted as a non-degree student. A degree shows that you met the requirements of the school to receive the degree. If there were no requirements, a degree wouldn't show anything.

    3. Re:You already have the option for less math by cheekyjohnson · · Score: 1

      No one's forcing you to get a degree

      No, but when I do wish to get one, I'm forced to take pointless classes. No one is forced to do much of anything. That, however, does not mean the situation should not be improved.

      A degree shows that you met the requirements of the school to receive the degree.

      A degree could also show what you did and how well you did it in a more specific sense.

      --
      Filthy, filthy copyrapists!
    4. Re:You already have the option for less math by perpenso · · Score: 1

      The degree is irrelevant. I was speaking of degrees in general. Why force people to take things that they will not need based on the assumptions that they may need it? They should decide that for themselves.

      My point is that they *already can* decide for themselves by choosing the right college and/or degree program. Watering down these more advanced programs to only satisfy the more typical jobs does not make sense, it is redundant. The "less demanding" programs already exist.

      For example in California there are two state run university systems. The University of California (UC) system which is more focused on preparing undergraduate students for more advance studies and research (graduate school), and the California State University (CSU) system which is more focused on preparing undergraduates to be practitioners rather than researchers. Some of the classes that are more oriented towards advanced studies are required at UC but optional at CSU. Some CSU campuses also offer more options by the school a program is located in. A software development oriented program in the school of business may require less math than a software development oriented program in the school of science. Or a campus may offer a Bachelor of Arts program with less math compared to a Bachelor of Science program. That said, let me stress that many of the more advanced classes are optional, not unavailable, at CSU. If an undergraduate chooses to take these classes they will be prepared for advanced studies and/or research.

      So in California a student can decide for themselves by attending CSU rather than UC, and while at CSU if they change their mind they can take the optional classes.

    5. Re:You already have the option for less math by cheekyjohnson · · Score: 1

      My point is that they *already can* decide for themselves by choosing the right college and/or degree program.

      My point is that the choice should be available wherever they decide to go.

      Watering down these more advanced programs to only satisfy the more typical jobs does not make sense, it is redundant.

      Watering them down? Not really. The choice will still be there. People who feel it is "watered down" could just take everything that you could previously.

      --
      Filthy, filthy copyrapists!
    6. Re:You already have the option for less math by perpenso · · Score: 1

      The problem is that to have a research oriented University you need a sufficiently large population of students taking the advanced classes. To go back to the California example the UC system is designated to be research oriented, hence the requirement for the advanced classes. The wherever you are argument is not very convincing in this case since CSU campuses are far more numerous than UC campuses and CSU campuses can generally be found near enough to UC campuses to serve the same communities. Most people in California have equal or better access to CSU campuses than UC.

  83. The way it was at my college... by cdrudge · · Score: 1

    If you were good at math and computers, you were a CS major that also gave you a math minor. If you were good at computers, but not at math, you were an IS major which had significantly lower levels of math as a requirement. If you were good at neither math nor computers, you were a MIS major where you took classes on Powerpoint and math on flashcards.

  84. I can only speek from experience... by CFBMoo1 · · Score: 1

    I had up to Calc 2 for my CS degree. I didn't go on to a masters but I have a decent job doing UNIX/Oracle coding. For me the most math I've used is +, -, *, / and some set theory. Outside of that I've yet to touch any calculus or trig or anything fancy in 6 years of programming work out of college.

    I guess I could touch on that stuff more in my work but then I have other people who may have to look at my code and not understand what that stuff is about. K.I.S.S. applies to application design and coding so maintaining things is easier when accompanied with good documentation.

    I'm not going to be around forever and I'd like the code I write to last beyond me for some time. The easier it is to work with the longer it'll stick around I think so long as the problem it solves lasts beyond me.

    --
    ~~ Behold the flying cow with a rail gun! ~~
  85. Why are the leaders college drop outs? by cornicefire · · Score: 1

    Why are the biggest leaders in the computer industry all college drop outs? They took much less computer science than the degree holders and look who's ended up dominating the industry. Heck, in the one area I really know, databases, the drop outs are busy throwing away all of the theory about relational databases and building super fast, very useful tools like Cassandra. I know that many academics might not think of SQL as particular academic, but it was one area where research made its way into products. Now the practical folks are learning it wasn't a worthwhile path to follow, most of the time. Even the people who still use Oracle spend all of their time denormalizing the tables, essentially unlearning all of the theory that the algebraic theoreticians created.

    1. Re:Why are the leaders college drop outs? by NoOneInParticular · · Score: 1

      Sure, NoSQL: when your application is worth more than your data.

  86. Anything with 'science' in the name, isn't. by rlglende · · Score: 1

    Political science. Christian Science.

    I see little or no ability to do experiments, observe phenomena in computer systems, or handle scientific thinking coming from CS majors, little in CS profs. They are all applied math types.

    When did you last read a paper about observations of real-world network traffic phenomena? About the distribution and intervals for context switches that take time from the main computation in a super-computer cluster and the implications for cluster design?

    --
    "The Constitution, the WHOLE Constitution, and nothing but the CONSTITUTION."
    1. Re:Anything with 'science' in the name, isn't. by Anonymous Coward · · Score: 0

      Hang on, so it doesn't meet YOUR definition of a science, therefore it isn't a science? Is that what you are implying?

    2. Re:Anything with 'science' in the name, isn't. by Bing+Tsher+E · · Score: 1

      So are you implying we can all have our own personal definitions of 'science' and we should all just get along and be happy?

    3. Re:Anything with 'science' in the name, isn't. by pjt33 · · Score: 1

      When did you last read a paper about observations of real-world network traffic phenomena?

      When I was an undergrad. But I know there's been more recent research in this area, because I've seen reference made to the results in Slashdot stories.

  87. All or nothing? by Charliemopps · · Score: 1

    I'm not very good at math. Well, I should rephrase that, I'm not very good at sitting down and doing math problems, I always forget to carry the 1 or write down the wrong decimal place, something silly. What I do get is the theory. In programing it is incredibly important to know what things like a modulus is. You don't have to be great at working out the formula, but knowing it exists so you can search for pre-existing code that uses it to solve your own problems is vital. So, do you need math? Certainly. Do you need to be great at math? Definitely not.

  88. Roles. by v(*_*)vvvv · · Score: 1

    Mathematicians can write the algorithms and spam filters that the rest of us copy and paste... It takes one. If you want to become this person, then pursue it.

    As for the rest of us who copy and paste, we may not need to be inventive, but we should be literate. We may not need to solve problems ourselves, but we should be able to recognize the best answers and the best code to use.

    On a similar tangent, how about the role of art and user psyche in CS? There is little emphasis on user interfaces, and the graphical representations that are the glue between the computer and its users. Even the design of programming languages is user centric. It is not a matter of math, but rather of convenience, efficiency, and utility.

    In any case, this is a typical case of oversimplification. If you are confused about your own role or your research in CS, you may have a problem, but as of CS as a whole, the requirements of being a competent "computer scientist" can remain undefined. It is a mythical being which its ambiguity can be entertaining.

  89. Fire Him by wonkavader · · Score: 1

    Dennis Frailey makes a distinction between CS research and applied CS: 'For too long, we have taught computer science as an academic discipline (as though all of our students will go on to get PhDs and then become CS faculty members) even though for most of us, our students are overwhelmingly seeking careers in which they apply computer science.'

    Universities have to contend with the huge proportion of society trying to turn them into trade schools. They are not trade schools. They are Universities. (Well, SMU may be a trade school masquerading as a University, for all I know.) They are not in the business of teaching people to do a trade. They attempt to prepare people to do any job. Putting up with the uneducated masses try to destroy our institutions of higher learning is bad enough, having adjunct professors try the same is an admission that they are in the wrong place. While academia is a place where we can have conflicting ideas, we can't have dumb-asses. Fire him.

    1. Re:Fire Him by Anonymous Coward · · Score: 0

      http://www.pbs.org/newshour/extra/video/blog/2010/12/college_grads_suffer_mal-emplo.html
      http://www.pbs.org/newshour/bb/business/july-dec10/graduates_12-03.html

  90. Math is the training for your brains by ThePhilips · · Score: 1

    I still fail to see how calculus and continuous math correlate with one's ability to succeed in many areas of computer science... I have seen many outstanding programmers who struggled with calculus and never really got it.

    Studying math is the training for your brains. Studying it simply makes you smarter. Some can go without it, sure. But for many math is crucial in helping to (unconsciously!) learn how to organize their own thinking process, formalize their own thoughts. Math also teaches brains how to solve problems and (most importantly) that solutions depend (very much so) on definition of the problem. Heck, without the math we wouldn't even have the concept of "definition of the problem."

    Additionally, math language is pretty much only common international language. Try to explain some method or proof to the new math-less CS graduates (I've met couple of them already) and they would stare back at you as if your were an alien. All they know is "Java is the programming language," "Bill Gates knew only BASIC and is billionaire now" and "O(n*log(n)) is good, O(n**2) is bad" (without actually knowing what BASIC looks like and what the meaning of the O(x) notation).

    Otherwise, the question is kind of well known and answer is also. Those with strong engineering bias (aka "read the books and do all by books") tend to disregard value of math for they look at it as a factual subject. (e.g., I myself haven't seen an integral since graduation. So should I haven't studied them?) Those with scientific bias (aka "books are mostly wrong, should write myself one") tend to appreciate and enjoy the side-effects of the studying math: math language, formalization of processes, defining the problems, etc.

    --
    All hope abandon ye who enter here.
    1. Re:Math is the training for your brains by Anonymous Coward · · Score: 0

      Studying math is the training for your brains. Studying it simply makes you smarter. Some can go without it, sure. But for many math is crucial in helping to (unconsciously!) learn how to organize their own thinking process, formalize their own thoughts. Math also teaches brains how to solve problems and (most importantly) that solutions depend (very much so) on definition of the problem. Heck, without the math we wouldn't even have the concept of "definition of the problem."

      I'm Italian and I've Informatics degree from college and an University master degree in CS.

      Learning math and getting through "all the boring stuff" like theorems proof is it there for a purpose. While studying even I wasn't able to see it at first. Then when working in the real world I've understood.

      Just as the parent poster said, to teach your mind to reason using some special schemes, making you smart enough to see the "cut ways" while trying to solve out a problem and maybe also innovate the way to solve it.
      Without such strong "forma mentis" you'd be inclined, IMHO, to brute force the solution using a standard formula, not caring so much that in some special situations you can reduce the problem (or its solution) to something simpler.

      Also the math classes forces you to start reasoning on the problem only when you've all the needed data or to understand you're missing something.
      I work in the IT Dept. of a medium-sized wholesale/retail enterprise and I see such difference of problem approaching everyday: many others just start cranking code or just start modifying the systems configurations, while I instead sit down and sketch-out the problem on paper, like reproducing the basic blocks of the internal network diagram in order to make clear to who asks the requests and to me what exactly desired to achieve.
      Only when well understood and explained on paper, it's ok to proceed with the change.

      And while coding I don't accept firstly from myself a "it works, it's enough" approach. It should be working correctly in any case and until isn't "perfect" isn't done.
      It isn't a matter of madness as it can sound ;-)))

      My 2 (euro) cents.

  91. Absolutely Agree by Anonymous Coward · · Score: 0

    It seems like all the real world courses are years behind the times (a networking class using a book written in 2000? Yet I need the 2011 edition for my entry level physics book, material which hasn't changed in decades). Yet I'm forced to take a language theory class, which while an interesting topic, really seems far less useful to the typical CS student than my networking elective.

  92. Ah but you are touching on another debate by bussdriver · · Score: 2

    Most people are job seekers and college is just a hoop to jump through in that pursuit - I've run into plenty of people without passion for their subject of study; they are there for the job they want (influenced by the pay, stability, and misconceptions of what that job will be to them.)

    Industry only ever cares about the bottom line; human resources are just another form of resource with some PR risks attached to it-- but otherwise quite removed from humanity. They pressure universities along with their drones to train workers... even complaining about graduates as not knowing enough of the buzzwords they are looking for (which is not the purpose of universities.)

    3 Aspects are going on from what I see:

    1) Trade school lacks prestige (pay) over college so the 'market' demand is for a university level prestige in a trade school.

    2) Business philosophy(religion?) permeating all aspects of the culture. If you run a school with a business mindset you are going to rip it from its foundation. My university is in a culture war not inside the institution but inside the minds of its staff. Words like I.P. gain acceptance and warp perspectives. "Producing students", employers as the "indirect customer", and students as a "customer" are changing perspective as well as shunning those who stick to the traditional perspective that brought the world forward up to now.

    3) Society bias for college. not having a degree is becoming as bad as being functionally illiterate. My former employer had no degrees in the building except mine yet even hiring a RECEPTIONIST they'd chuck out the applicants without a degree (in this economy they get a lot of applicants.) Nobody working there could be hired for their own position these days.

    I create waves with staff when I argue the college model is not even good for programmers or even software engineering. IT as well. Those jobs are more like carpentry or plumbing and should have a better suited model. This is largely misunderstood and hopeless but i keep making the point hoping they at least get what i'm saying. I have a carpenter and a plumber uncle- there is a ton of experience involved but no PhD program for them-- they are masters of their field which is every bit as much (in some cases more so) as most PhD degrees. In their career, a degree wouldn't mean much because you can't book learn it all classrooms over a few years. It uses other kinds of learning and thinking. Our schools too often focus on 1 approach as if there is only 1 way to think about EVERYTHING; research shows there are different ways of thinking, different kinds of intelligence, and different learning styles. I've seen plenty of good students who are "smart" because they can navigate a system that happens to be suited to them but who can not function outside; they often go into academia -- not because they suck, they are great - but because it best suits their talents... this however results in a cycle of like minded people concentrated in an institution which is part of their own identity and therefore must retain the characteristics which were so beneficial to themselves (for the self-centered ones; not all are like this - others merely fail to see...sheltered and have a culture-shock reaction to alternatives.)

  93. You guys please be careful by Anonymous Coward · · Score: 0

    When you tell people to consider leaving computer science if math is not their strong point, you need to be more careful. I was in a fragile position once where I thought about leaving computer science because the math was difficult for me. I thought that I needed to be naturally talented at math and that it should come easy to me if I wanted to succeed.

    When it comes down to it, I pushed through and stuck it out to the end. I wasn't the best in any of my math classes by any means. Most of them were passed with "C"s. I am 3 years out of college, and making $80,000 a year. Not once has my difficulty in math been an issue for me. I know being smart and really good at math makes it tempting to put yourselves on a pedestal, but seriously, knock it off. Not everyone has to be as smart as you to succeed in this business. There are many many creative and talented people who compared to other people in the field, aren't the smartest. Often times they end up being leaders and doing really great things because they are the ones with the most drive. They don't give up just because something doesn't come easy to them.

    So if any of you out there are considering leaving CS because you struggle to do the math, take a long hard look at it. If you feel like you do really well with the programming side of it and it's just the math you have trouble with, there is a good chance you will be just fine after graduation.

  94. TL;DR by Anonymous Coward · · Score: 0

    TL;DR

  95. We need the math to weed out by nate+nice · · Score: 1

    If anything the math weeds out the idiots. Or those that aren't willing to work their ass off at something hard. Math is hard. You need to do it over and over until you get it.

    If you can't hack it then become an MIS. You aren't as employable and will make less, especially in the long term. Not every company will hire an MIS but everyone will hire a CS. There's still jobs for you. But please, don't touch anything serious because you've proven you don't have an analytic mind who enjoys solving hard problems and challenging themselves. That's what a CS to MIS quitter tells me.

    --
    "If you are a dreamer, a wisher, a liar, A hope-er, a pray-er, a magic bean buyer ..."
  96. Its not that much math by Anonymous Coward · · Score: 0

    Prior to studying CS in university, I had previously gone to college for two years, studying Electronics Engineering (it was a two year course). There were 5 math courses, 3 of which were Calculus. It made looking at math proofs when I was taking Artificial Intelligence or Cryptography in university look like fun. I haven't used a lot of the math I studied in programming (although I did write math functions for a language called REXX, including routines for sin, cos, tan, log, ln, e, fact, C, P, and since Rexx does math with arbitrary precision, it made for a good calculator: I came up with an algorithmic enhancement to the exponent function 6 months before I took it in an algorithms class: I could compute 123456789.123456789^123456789.123456789 in 1/2 second on a 40 MHz '386 to 500 siginificant digits, and could check my exponent finder using (1.000001^999999) ...add zeros and 9's in equal measure to get better values of 'e'. ) The math lets you understand things like recurrence relations, algorithms and their efficiency, and gives a deeper knowledge about why divide and conquer algorithms work so well. University is education. Tech. schools and industry provide training. Don't confuse the two.

  97. Which math? by Anonymous Coward · · Score: 0

    Sadly, all these theologians equate mathematics to analysis. Ten seconds of understanding would show you that its underpinnings are algebra and logic.

    Steve Stevenson, School of Computing, Clemson.

  98. The main point is by Anonymous Coward · · Score: 0

    The main point is that anybody using a linear list for non-linearly accessed data needs serious adjustment with a cattle prod regardless whether or not he is able to spell "quadratic".

    It does not matter whether a CS major can upon request prove to you just how bad his programs are as long as he is not bent on doing them right by default.

    A good CS major needs to be able to analyze a new algorithm. A good programmer needs to be able to pick a good established algorithm. Both are orthogonal skills. A good computer artist will create good new algorithms. That's not as much a skill as a gift.

  99. Calculus or Finite? by yxyband · · Score: 1

    If you are designing hardware Calculus is what you need. If on the other hand you want to built good software Finite Math is what you need to know. From the software side, computers don't understand Calculus, which by the way is shorthand for complex Finite.

    --
    The more complex the task, the simpler the steps need to be.
  100. Wikipedia scares me by Anonymous Coward · · Score: 0

    Every time I look up something on wikipedia even regarding topics I know quite a bit about there are always a series of very impressive looking figures and equations that are all greek to me.

    Sometimes I get the feeling that there is a kernel of understanding I'm missing out on because I don't know enough strategies for manipulating ideas as equations.

    If the universe can generate multi-cellular life without explicit knowledge of mathmatics I'm sure many can have successfull careers without knowing the difference between a vector and a tensor...then again most of us don't have billions of years to get our work done.

  101. Graphics is only part of video games by perpenso · · Score: 3, Insightful

    Hot topic: writing video games
    Core CS topics: graphics, linear algebra, digital image processing

    FWIW. Graphics is only part of video game development. Most of the time the graphics is largely "outsourced" by licensing a graphics engine. Other parts of game development are in the areas of artificial intelligence, networking, databases, human/computer interaction, etc. Hovering over everything is data structures and design/analysis of algorithms, this is where so many things go wrong. Toss in a good understanding of architecture and compilers. The core CS topics necessary for developing a modern AAA game is pretty comprehensive.

    Many aspiring to work in game development limit their chances to do so by focusing only on the graphics. Just as many interested in computer programming limit their opportunities by avoiding the advanced math. I will admit that in many of my jobs I did not need the math, however to my surprise I've had job opportunities that did require having had the advanced math classes. Not that I was doing much of the math myself but I needed to understand and communicate with the actual mathematicians. I've had to dig out those textbooks from that "extra" second year of math to implement some algorithms.

  102. Computer Science != Being a Programmer by Gavin+Scott · · Score: 3, Insightful

    I think the distinction between pure "research grade" CS and applied "I want to get a job in the real world" CS is the important thing.

    For too long it has seemed as though if you like computers then you should aspire to a CS degree. But as everyone finds out, the stuff you learn in a real in-depth CS program is often not applicable to much in the world of interesting application development. The stuff that IS could just as easily be taught in a more applied way without all the math.

    We're supposed to be leveraging "re-use" and not re-inventing algorithms every time, so people should be able to use a library of algorithm objects (or whatever) for pretty much ALL applied programming, at which point all you have to understand is the trade-offs between different available choices and what they do but not necessarily how they do it or especially how to invent a better one.

    I think of "real" CS as what you find in Knuth. If you want to publish papers on combinatorial algorithms then you probably want at least a master's in math before you even get started with the computer stuff. You will then aspire to getting a job as a CS professor, or possibly working in a corporate sponsored lab for IBM or maybe Google. But the things this type of scientist does may not be the kinds of things that actually got people excited about computing to begin with.

    If what you really want to do is to build cool applications and Change The World(tm) then honestly hardly ANY math is needed, and while more knowledge and a better understanding of the fundamentals of what's going on will always make you better, there might be more effective and efficient things to expend your effort on, especially in cross-discipline areas that interest you and which you would like to work in.

    Pure CS is really just pure math, and there are a limited number of applications (and jobs) in such a thing. What really makes computers interesting is their applications, so instead of CS, why not learn applied programming plus an application domain like Biology, Finance, etc. Ask yourself "what problems do I want to solve?" and if computing is going to be a tool to that end and not just an end unto itself, then a pure CS degree is probably a waste of effort.

    G.

    1. Re:Computer Science != Being a Programmer by SnapShot · · Score: 3, Interesting

      Agreed. But, lacking specific domain knowledge, in the real world, I've had about 20 times where I wished I had a design and/or art degree for every time I wished I knew higher level math. Sure, I'm never going to refine a sort algorithm or build an unbreakable cryptographic algorithm but my users are more likely to appreciate a UI that is intuitive and appealing.

      --
      Waltz, nymph, for quick jigs vex Bud.
    2. Re:Computer Science != Being a Programmer by Hylandr · · Score: 1

      Yet another oblivious article that posts the obvious "College doesn't teach anything practical".

      No shit Shirlock, back to digging the financial obligation in the form of over inflated tuition and the HR Bastards that enforce mediocrity,

      Yes I am Mad. -Dan.

      --
      ~ People that think they are better than anyone else for any reason are the cause of all the strife in the world.
    3. Re:Computer Science != Being a Programmer by DMiax · · Score: 1

      just rename CS as "computer shit" instead than "science". Then you will be excused from understanding what you are doing with the shiny box near your monitor.

    4. Re:Computer Science != Being a Programmer by xelah · · Score: 1

      I agree

      There are a lot of skills necessary for a successful software project or product. Domain knowledge is one of them. Occasionally the domain is going to be CS - if you're writing a compiler, voice or image recognition, a game rendering engine or an OS, maybe - and you need someone with skills in those areas that go rather beyond an undergraduate CS degree. Sometimes it'll be physics, or chemistry, or mathematical modelling, or (far more often) will be in an area where the domain knowledge doesn't require any advanced academic knowledge at all.

      You need to be good at the detailed, rigorous logical thought to write code and produce designs that work. If you aren't capable of some serious maths then you aren't capable of that, but I don't believe that studying it to an ever more advanced level will actually make you better at it (compared to spending your time writing code). I think having maths is more of a signal that you'll be good at software development rather than a cause (unless, of course, you're working on a project where maths is very solidly in the problem domain).

      To have a successful project you're almost certainly going to have to have some skill in interaction design in your team. You're going to need to be able to define a product that actually solves the problem. You're going to have to manage the process itself adequately. These things are hard and important, even if many CS geeks think of them as 'lesser' skills even if the first and last, at least, can be the subject of some serious teaching and research. More projects fail because of these than because of a failure of the CS.

      My own degree is in economics and management (though I've learnt a lot on my own, both before and afterwards, about CS and other things). It probably wasn't a perfect fit for me, but there was no shortage of maths in it either (calculus and optimization, lots of statistics, some graph algorithms - on pieces of paper! - and linear programming). I couldn't write the software for, say, a military radar without some serious extra study, but nor could a CS graduate. I've looked at/read/watched lectures from parts of some CS courses and been mostly disappointed by the level and content. It's either just obvious to an experienced software developer, or seems irrelevant, or is vastly too low a level to be useful for anything. Maths, economics, physics and psychology have always been far more interesting by comparison, all of the reading I've done which has made me better at my job has been in HCI, project management or software engineering and I don't think I've ever been less good at what I do for not having an undergraduate CS degree.

  103. Calculus can be applied directly by Jack9 · · Score: 1

    Load balancing.

    While you may be exposed to the concept of derivatives in pre-calc, Calculus is directly applicable to modern software development. At my first programming gig, I used calculus to do selective database usage, based on load. I was told to rewrite it less efficiently to ensure that other developers would understand and be able to maintain it.

    If you don't believe calculus is a fundamental for software development, I will believe you haven't really done much software development.

    --

    Often wrong but never in doubt.
    I am Jack9.
    Everyone knows me.
  104. Hah! by woolio · · Score: 2

    First, while it's true that numerical math is not used in many CS areas, discrete math is. Logic, set operations, and the like are used pervasively in CS. And learning numerical math is a core breadth area that instills mental discipline. Quite frankly, if math is not your strong point, then you should consider moving out of CS.

    Are you kidding?

    I was in a PhD program in Electrical Engineering at a top-10 university [not trying to start a pissing contest here]. Quite frankly, I had a much better opinion of CS until I started taking a lot of graduate-level CS courses there.

    Saying CS people do a lot of math is like saying a bank teller or cashier does math all day.

    I found undergrad and graduate CS students alike would go running for the hills as soon as someone said the words 'integral' or 'derivative' . Random processes and statistics were avoided.

    Most 'numerically' focused papers/research was focused about speeding up raw calculations (such as matrix multiplication) without any understanding of the application and without any critical examination of the possibility for lowering complexity through close approximation, transforms, etc...

    Many papers (especially related to CPU/compiler performance don't even average measurements properly). Even the industry-standard 'SPEC' CPU benchmarks use the wrong type of averaging which leads to incorrect results -- in some cases a faster computer (which completes all benchmarks faster than a slower computer) can have a *worse* score than the slower computer].

    Computer architecture and programming are fine things to learn, but they are not enough in themselves. If a person wants to be an architect, they have to know not only about construction but also about design -- art, etc... Likewise, I think too much of CS is focused on either way-to-abstract stuff and/or trade skills without giving students a chance at actually learning something more domain-specific.

    Programmers are a dime a dozen. Decent programmers that truly understand what they are implementing (in a specialized field - engineering, sciences, etc) are very rare.

    1. Re:Hah! by epine · · Score: 3, Insightful

      Even the industry-standard 'SPEC' CPU benchmarks use the wrong type of averaging which leads to incorrect results -- in some cases a faster computer (which completes all benchmarks faster than a slower computer) can have a *worse* score than the slower computer.

      This comment is incomprehensible, on several levels.

      No one who works seriously with benchmarks thinks there's any correct form of averaging that diminishes salt consumption. Benchmarking is inherently a high salt diet. Low sodium, high sucrose benchmarks are known as pie charts.

      There is one form of averaging I dislike more than most: Apple Pie charts, the primary ingredient of which is a carefully selected Photoshop filter whose slices precisely match a particular CPU's scheduling slots, and never denominated in performance/dollar. We know how fundamentally accurate that benchmark was from all the suicides reported among professional Photoshoppers when Apple switched to Intel (none that I can recall).

      Are you trying to imply that the SPEC averaging method has the property that there exits machines x,y such that for all benchmark disciplines b: time[x,b] < time[y,b] yet SPEC[x] > SPEC[y]? That would violate some deep ordering relations, which I've never seen short of fraud.

      If you were implying that sum{b} time[x,b] < sum{b} time [y,b] yet SPEC[x] > SPEC[y], and this is somehow prima facie illegitimate, you need to repeat some stats courses. If machine x scores times (20,45) and machine y scores times (31,31) the arithmetic mean and harmonic mean achieve different rankings. Which mean is the wrong mean? You'll be seeking a course which covers the covariance of principle components, one of several reasons why you can't normalize benchmark disciplines to unit weight over measured scores without the copious addition of salt.

      I'd love to have seen published the processor heat map after running the Apple Pie benchmark suite. That little red spot is the AltiVec unit, which never gets a break. It takes more than a "correct type of averaging" to ensure fair benchmark coverage.

      A good benchmark is one where I look at the numbers and go "that's why I thought, the (pre-Intel) Apple sucks" and the guy beside me goes "yeah, that's what I thought, AltiVec rocks" and we're both right because we filtered our needs and budgets through the numbers presented.

      From a purist perspective, I happen to think than on any CPU ever made, it's inexcusable that time to reverse the bit order of a 64-bit integer is greater than the time to increment a 64-bit integer (whose ripple carry unit subsumes every possible path length, making it's implementation a superset of bit reversal propagation paths).

      I think of that comparison as benchmarking down to the bare wires. Every CPU I can recall fails this basic test all the way back to the SC/MP. Is symmetry of no importance in computer science? It makes me wonder about CS education altogether.

      And don't get me started on popcnt. Not counting either? For shame.

    2. Re:Hah! by hamsi · · Score: 1

      math is often "used" in CS. However, the level of required math knowledge is actually very low. Saying CS students, PhDs or faculties(!) have a deep understanding of mathematics is totally wrong. As a CS Phd in a top school, I'd claim that a majority of CS have no knowledge beyond basic undergraduate math.

    3. Re:Hah! by exploder · · Score: 1

      Even the industry-standard 'SPEC' CPU benchmarks use the wrong type of averaging which leads to incorrect results -- in some cases a faster computer (which completes all benchmarks faster than a slower computer) can have a *worse* score than the slower computer].

      I'm going to call you out on this one. Which averaging method assigns a higher average to a strictly coordinatewise-lower set of inputs?

      --
      Yo dawg, I heard you like the Ackermann function, so OH GOD OH GOD OH GOD
  105. SE by zmooc · · Score: 1

    This dude seems to believe computer science is the same as software engineering. It is not.

    --
    0x or or snor perron?!
  106. Math is a good way to learn to solve problems by Anonymous Coward · · Score: 1

    I remember 15 years ago in my first class of university in Number Theory, a student asked a question along the lines of, "I'm in computer science. Why I am learning this stuff? Am I really going to use this on the job?"

    The professor said something like "No you will never need this on your job. However a computer scientist needs to be able to solve problems. You come here to develop your problem solving skills. One of the best ways to learn how to solve problems is with math.".

    I don't remember much from University but I remember that and I believe math is NOT a waste of time. It is really hard to find a software developer who is a good problem solver.

  107. For what it's worth... by gestalt_n_pepper · · Score: 1

    I didn't really "get" mathematics until after I'd been programming steadily for about 5 years. After that, concepts like n-dimensional matrices, determining the area under curves and relational changes between quantities became much more intuitive.

    What always made math difficult was never the basic concepts, which are often trivial. It was the god-awful symbols and counter-intuitive syntax used to express math. Had I learned concept-symbol relations early, like Chinese and Japanese students do when they memorize characters, I expect that I would have had much less trouble.

    --
    Please do not read this sig. Thank you.
  108. As The Grand Master Said: by ccandreva · · Score: 1

    Anyone who cannot cope with mathematics is not fully human. At best he is a tolerable subhuman who has learned to wear shoes, bathe, and not make messes in the house.
      -- Robert A. Heinlein.

    And I'm a borderline human who was happy to get a D in Differential Equations. However, I encourage anyone who thinks differently to do what they feel is right, and leave the good jobs to the rest of us.

    1. Re:As The Grand Master Said: by Anonymous Coward · · Score: 0

      mmm yes sterilize the apes great idea /satire

  109. Calculus is easy by makubesu · · Score: 1

    Calculus class is not. You can teach a monkey to take derivatives and integrate. But students struggle because on the exam, they'll have to do a lot of algebra and mathematical trickery to get to the simple parts. When students come out, they're far more mathematically mature, I noticed this a lot when tutoring students. That mathematical maturity is essential to being a good programmer. You could develop that with a class simply on mathematical puzzles (something less practical than discrete). But why not teach them calculus as a side benefit?

  110. We had to learn both by Anonymous Coward · · Score: 0

    At the program I am at now, I have had to learn Discrete Math, Linear Algebra, Calculus (up to differential equations), and Statistics, and this is before even taking an algorithms class. Even if you are a programmer understanding Calculus and the mathematical concepts helps to train your mind to think logically and abstractly about problems, which is the main concern of programmers. Eventually you will run into a problem that involves mathematics, and because you have already been introduced to it you will have some understanding of the problem to grab hold of. Logic is at the heart of the issue, and the best ways to make students think logically about solving problems is through mathematics. Once you have a logical base, the programming is easy.

  111. the probability theory is very important to CS by Anonymous Coward · · Score: 0

    And to understand probability you need some math.

  112. As a junior in a CS program, by djinfected · · Score: 1

    I find myself needing calculus only when a programming project involves calculus. It's a useful skill to be good with calculus, but it's not necessary to know. It's probably good to have students learn rudimentary calculus to sharpen their abstract thinking skills, anyways.

  113. Programming != Coding by Anonymous Coward · · Score: 0

    Calculus: The study of breaking large problems into infinitesimal ones, making them linear and therefore "easy".
    Programming: The study of breaking complex operations into small ones, making them obvious and therefore "easy".
    Yes. I clearly understand how calculus has no relationship to programming.
    Given that, we should probably remove all floating point support from all programming languages.

    Coding: The study of finding someone else's code vie Google, cutting and pasting it, then randomly editing it until the compiler quits whining.
    Well I can certainly see how calculus wouldn't help there.

  114. A better idea by Anonymous Coward · · Score: 0

    Math is important for CS studies, but not to the extent it for engineering studies. However, my experience has been that formal logic is MUCH more relevant to CS studies and practice, yet pretty much ignored by most CS curricula. I studied mechanical engineer, had to take a required philosophy course, so I took a course in Formal Logic - best course I ever took to prepare me for a career in CS and software engineering.

  115. Wasn't the calculus or physics that bugged me... by ibsteve2u · · Score: 1

    I didn't find the math to be difficult or even tiresome. But the nimrod professor criticizing me for exiting subroutines in the middle of loops and conditionals?

    I found that to be annoying given that I'd started programming in ASM before I ever hit a university and it offends me to execute code I don't have to just so my code always hits the return way down there at the bottom.

    Yay, Michael Abrash; boo, academician.

    --
    Orwell: "In a Time of Universal Deceit, telling the Truth is a Revolutionary Act"
  116. CS is not IT. by John+Hasler · · Score: 1

    Taking a degree in computer science and then complaining that you were not taught how to configure a Cisco router is like taking a degree in physics and then complaining that you were not taught how to run a power plant.

    --
    Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
  117. Language? by PastorMac · · Score: 1

    It has been said that if one learns how to play a musical instrument then it is easier to learn to play a related instrument, i.e. tenor sax & alto sax or piano and organ. The same is said for language. If one learns German, Scandinavian languages (English, too) should be a fairly quick study. In my discipline, Christian theology, I learned to read both Attic & Koine' Greek and biblical Hebrew. My undergrad college had a requirement that Attic was a prereq for Koine' so I was pretty well prepared for the relative easiness that was New Testament Greek. Latin, although not formally required either in my B.A. or M.Div., I find so similar to Greek in grammar and syntax and a fair amount of vocabulary that it would be fairly straightforward. Related, Hebrew provides a good foundation for other ancient Semitic languages such as Ugaritic and in it's modern context Arabic. But since I went back to school to pick up a degree in CS about 10 yrs ago (never finished, btw--wanted to learn to be a *NIX sysadmin and still do) I was reminded of a very valid point in my first semester of Attic: how many people graduating from an American HS know how to identify parts of speech, know the rules of standard English grammar, distinguish clause types, or simply diagram a sentence? Learning Greek as I did absolutely made me cognizant of my own native language and my wife (4 yrs of French), both of us cringe at what passes for final copy in newspapers, even prominent newspapers. All of this is to ask if programming language instruction should have a necessary prerequisite of standard English grammar & syntax, and, no, the silly English composition courses that are mandatory in virtually all core curricula don't count. Additionally, would it be better if language instruction was indeed seen properly within the discipline of linguistics rather than a sub-discipline of mathematics? Lastly, since programming is invariably applied logic does it not follow that a fundamental course in logic would be necessary? Then again, how many philosophy departments require logic before jumping into its sub-disciplines? (Logic is probably seen as an artifact of dead white male European colonial hegemony...but I digress...) The classical trivium (grammar, logic, rhetoric) that is the foundation of the liberal arts HAS to be recognized in the discipline of CS. Trying to teach CS apart from a proper understanding of the above would be shortchanging students by making them not truly prepared.

    --
    Pax, Pastor Mac
  118. Continuous math is not critical for most by dirkdodgers · · Score: 1

    A majority of programmers are employed in developing business software (e.g. inventory, benefits, medical, insurance), government service and policy software (e.g. dmv, food stamps), and cots software (e.g. Windows, Office).

    Logic is important. Discrete math is important. Stats is important. You can be a successful programmer without formal knowledge in these areas, but formal knowledge in these areas is important to be an excellent programmer.

    But continuous math just isn't important even to being a successful programmer for the majority of career paths. Yes it comes in handy, and yes it opens up opportunities for you that you wouldn't otherwise have, but it just isn't critical. It won't make or break your career.

    Given that most professional programmers aren't going to have more than 4 years of post secondary education, better to use that time for what's most important. Those who want to pursue an academic computer science career or a career in a science or engineering field can go to a research institution or double-major in math, biology, physics, etc.

  119. Math isn't that hard by TheStatsMan · · Score: 1

    It's just a way to talk about things that we observe in the world with some precision. If you're willing to put some thought in, you can probably figure it out. Your brain does math on it's own all the time, you just need a vocabulary. In essence, that vocabulary is moving math from one part of your brain to another through symbolism.

  120. Challenge or perfection? by Anonymous Coward · · Score: 0

    I paid for that stubbornness with a couple hundred basis points off my GPA

    Very telling. If your goal is to skate through college without being challenged, then by all means, drop calculus. It is a deep and challenging subject at the heart of science and engineering. I scorn supposedly intelligent people who choose to pad their GPA instead of learning something worthwhile.

  121. What ACM and IEEE have to say about CS by Anonymous Coward · · Score: 0

    Here is how ACM and IEEE try to organize computer related fields:

    http://www.acm.org/education/curric_vols/CC2005-March06Final.pdf

    This attempt of standardization is saying that the purpose of CS is to explore and teach long lasting truths related to computers, and that is not achievable without formal language of math. If you are meant to learn how to speak mathematics, then you should practice your speech as often as you can and broaden your vocabulary as much as you can. So it is not the problem in CS as a field, rather it is lack of understanding what it's supposed to be.

  122. Quit whining - calculus isn't even that hard by Anonymous Coward · · Score: 0

    Hey, if you're too stupid to understand basic calculus then you're probably not smart enough to be a good programmer anyway. Either go get an english degree or teach yourself HTML and just design webpages for a living. Leave the real programming to those of us who know what we're doing.

  123. different ordering by evilWurst · · Score: 1

    Many other posts explain why certain math-that-doesn't-matter really does matter to CS students.

    Part of the problem is just that different fields need to master different math in different orders, even if at the end all of them end up having mastered almost all the same things. The math department's ordering specifically works best for math majors, though, and colleges aren't going to make a special duplicate math department for the exclusive use of the computer science department.

    Therefore, we end up getting our math content in a less than ideal order; some things maybe much too early, other things too late. It can take a few semesters before all the pieces snap together well. This contributes to the attrition among CS students; certain CS classes may be much harder if you haven't mastered the right math yet, and sometimes certain math classes may be harder if you don't yet understand how you'll be applying it.

  124. Crappy code is the undoing of Computer Science by ghostunit · · Score: 2

    I dislike this kind of dissing of math in favor of praising a "hands-on" approach to programming.

    I don't know if developing math skills helps with what is mostly a craft such as programming, but I think that encouraging an anti-intellectual atmosphere in the programming community will only lead to an even greater abundance of insultingly crappy code that consumes more effort and causes more frustration than any other factor in the industry.

    1. Re:Crappy code is the undoing of Computer Science by turkeyfish · · Score: 1

      Not to mention the cost of catastrophic failure in code.

  125. CS != programming by Anonymous Coward · · Score: 0

    You don't need a CS degree to get into programming...
    You do need programming to get a CS degree.
    CS includes math science and discrete knowledge of the inter-workings of a computer system or related

  126. Maths doesn't really help an ASP developer... by Anonymous Coward · · Score: 0

    I studied at the University of Wollongong (Australia), which is heavily influenced by a large multi-national company. They pretty much defined what they wanted out of a graduate, and the university taught accordingly. As a result, UOW has one of the highest employment rates of CS grads. I didn't do any maths there, and have spent 15 years in online development. The funny moment happened when, for a small javascript app, we had to calculate when a point had touched a line. We looked it up on Wikipedia, and continued on our real job of understanding what our customer REALLY wants/needs and giving it to them.

  127. CS has become much more diverse by Anonymous Coward · · Score: 0

    The problem here is that CS has become much more diverse over the years. It is definitely true that it has its roots in mathematics, and I would still argue that some math should be required for CS students.

    However, I noticed that your area of specialization strongly determines what kind of math you need. For example, if you specialize in computer graphics, you probably need a good dose of linear algebra. However, if you specialize in data mining or human-computer interaction, you will depend more on statistics.

    Personally, I never needed all the calculus and algebra that I learned in university, but I certainly wish I'd know more about advanced statistics - and that was only a very small part in the curriculum.

    The question that actually seems important to me here is not if math is relevant to CS students, but what kind of math is actually relevant.

  128. Role of Math by Zanneth · · Score: 1

    Completely disagree with this. Computer Science for years has been practically defined as applied mathematics until recently. Even then, math knowledge is still essential even in applied CS. My knowledge in computer graphics (which includes game development, a highly sought-after career in CS) wouldn't be half as sufficient if it weren't for linear algebra and vector calc classes I took in college. Despite the rapid development of advanced frameworks and SDKs, computers are still fundamentally ones and zeroes, and without foundational understanding of how these bits translate to actual programs students will not succeed in the field.

  129. the middle is dangerous by jamej · · Score: 1

    CS science is a strange "science" and still in its infancy. If your goal is a four year degree and go and be a middle of the road rock solid computer guy/gal then differential equations isn't necessary. If you want to work at the elite level, I don't know how to get there or what it takes. I do know the middle is the first to be out sourced - good luck. r/ jim

  130. Goes both ways by npsimons · · Score: 1

    My father, with his Masters in CS, went his whole career, until just five years before retirement, without using calculus. Yes, he was working in scientific domains. OTOH, just the other day, I was playing around with an example using "rock, paper, scissors" and it occurred to me that this was interesting from a combinatorics standpoint: what are the minimum number of states you need to produce a win, lose, or draw outcome for two participants?

    Math is all around us; no you don't need to use high level math everyday, even in software. Yes, you need to get over your fear of math (don't say you suck at it; everybody says that). The sooner you learn to like math and appreciate it for its beauty, the better off you'll be.

    1. Re:Goes both ways by mldi · · Score: 1

      I would go on to say that even though your father didn't use calculus straight up, he used his brain that calculus helped form into a problem-solving machine. It doesn't just train you in calculus, it helps train you how to think about problems.

      --
      If you aren't suspicious of your government's actions, you aren't doing your job as a responsible citizen.
  131. Words from a wiser man. by zbobet2012 · · Score: 1

    On the cruelty of really teaching computing science

    The second part of this talk pursues some of the scientific and educational consequences of the assumption that computers represent a radical novelty. In order to give this assumption clear contents, we have to be much more precise as to what we mean in this context by the adjective "radical". We shall do so in the first part of this talk, in which we shall furthermore supply evidence in support of our assumption.

    The usual way in which we plan today for tomorrow is in yesterday's vocabulary. We do so, because we try to get away with the concepts we are familiar with and that have acquired their meanings in our past experience. Of course, the words and the concepts don't quite fit because our future differs from our past, but then we stretch them a little bit. Linguists are quite familiar with the phenomenon that the meanings of words evolve over time, but also know that this is a slow and gradual process.

    It is the most common way of trying to cope with novelty: by means of metaphors and analogies we try to link the new to the old, the novel to the familiar. Under sufficiently slow and gradual change, it works reasonably well; in the case of a sharp discontinuity, however, the method breaks down: though we may glorify it with the name "common sense", our past experience is no longer relevant, the analogies become too shallow, and the metaphors become more misleading than illuminating. This is the situation that is characteristic for the "radical" novelty.

    Coping with radical novelty requires an orthogonal method. One must consider one's own past, the experiences collected, and the habits formed in it as an unfortunate accident of history, and one has to approach the radical novelty with a blank mind, consciously refusing to try to link it with what is already familiar, because the familiar is hopelessly inadequate. One has, with initially a kind of split personality, to come to grips with a radical novelty as a dissociated topic in its own right. Coming to grips with a radical novelty amounts to creating and learning a new foreign language that can not be translated into one's mother tongue. (Any one who has learned quantum mechanics knows what I am talking about.) Needless to say, adjusting to radical novelties is not a very popular activity, for it requires hard work. For the same reason, the radical novelties themselves are unwelcome.

    By now, you may well ask why I have paid so much attention to and have spent so much eloquence on such a simple and obvious notion as the radical novelty. My reason is very simple: radical novelties are so disturbing that they tend to be suppressed or ignored, to the extent that even the possibility of their existence in general is more often denied than admitted.

    On the historical evidence I shall be short. Carl Friedrich Gauss, the Prince of Mathematicians but also somewhat of a coward, was certainly aware of the fate of Galileo and could probably have predicted the calumniation of Einstein when he decided to suppress his discovery of non-Euclidean geometry, thus leaving it to Bolyai and Lobatchewsky to receive the flak. It is probably more illuminating to go a little bit further back, to the Middle Ages. One of its characteristics was that "reasoning by analogy" was rampant; another characteristic was almost total intellectual stagnation, and we now see why the two go together. A reason for mentioning this is to point out that, by developing a keen ear for unwarranted analogies, one can detect a lot of medieval thinking today.

    The other thing I can not stress enough is that the fraction of the population for which gradual change seems to be all but the only paradigm of history is very large, probably much larger than you would expect. Certainly when I started to observe it, their number turned out to be much larger than I had expected.

    For instance, the vast majority of the mathematical community has never challenged

  132. Solving the wrong problem by BufferArea · · Score: 1

    I think they're looking at the wrong place to solve the problem. In fact, they haven't identified the problem - they've identified symptoms and are trying to treat the symptoms. The problem is that many students are not equipped to handle somewhat advanced math. This is a problem with our educational system and our society. We need more people able to think abstractly and logically. I'd be surprised to find somebody who could be an excellent programmer who wasn't at least somewhat decent at math (able to do decently in college calculus courses, at the least), because the thinking skills required are common to both.

  133. well you do need to undestand some math by josepha48 · · Score: 1

    I would think you need to understand at least algebra. I mean computers are dealing with variables all over the place, and while many computer programmers don't end up doing actual math, even in Web UI development there are times when I need to call Math.round() or be able to do understand simple algebra.

    --

    Only 'flamers' flame!

  134. Computer science is mostly math by junglebeast · · Score: 1

    What's the difference between a computer scientist and a programmer?
    Typically, the computer scientist is great at math but can't program, and the programmer is great at programming but stinks at math.

    Unfortunately computer science has become a bit too broad to have an easy definition, however, the one thing that almost every hot field of computer science has in common is a heavy reliance on math. For example, to name just a few,
    - natural language processing (predicate logic, probability...)
    - computer graphics (projective geometry and numerical optimization)
    - computer vision (projective geometry, advanced linear algebra, numerical optimization)
    - computer security (aka cryptology, modular arithmetic)
    - quantum computing (you don't even want to know)

    1. Re:Computer science is mostly math by cowdung · · Score: 1

      don't forget:
      - distributed algorithms (graph theory, queue theory)
      - information retrieval (lineal algebra, probability)
      - database systems (relational theory, statistics, optimization problems)

      also, a lot of CS course include a hardware angle (Digital Design, VLSI, etc..).. for that a bit of physics and chemistry can come in handy.

  135. Hahaha by Anonymous Coward · · Score: 0

    Some code monkeys are mad because they thought in hs "hey wouldn't it be cool to write video games for a living" so they majored in CS, found out that programming was so hard for them that they needed to be taught it over and over for FOUR years when really only 1 or 2 is needed and on top of it they got squashed in calculus only because they were so immature they had bad work habits, which they still have at their code monkey jobs until this day.

    Look, after you know the basics you can figure out the rest. That's the real scam of a CS degree. So what the hell else are they going to teach you? Only the hard stuff that gets rarely use. And BTW, if you look into computer graphics, you might need to know some continuous math. So your lucky your dream didn't come true. Have fun creating webpages next week...

    1. Re:Hahaha by Anonymous Coward · · Score: 0

      My linear algebra over the quaternions can beat up your CSS divs! Waah, waah, waah!

      Honestly, not everyone needs the levels of math seen in some CS degrees, but a CS grad should be able to realize what approaches to solving a problem won't scale (at least a basic understanding of complexity both in time and space domains), and where to start looking to find more efficient (or parallelizable) algorithms.
      We can add cores more easily than increasing MHz.... and, especially as stuff moves into the cloud and absolutely require parallelization for scalability, some things that a CS degree teaches will become vital.

  136. Math is essential, what level is debatable by Tjp($)pjT · · Score: 1
    Perhaps it is time to acknowledge the need to distinguish the various aspects of computer knowledge that is useful for a task by splits into different disciplines. I propose that we consider
    • Software Engineering - The generic goal of manipulation of software to accomplish a goal, so object oriented design, basic logic, basic math, and a general acceptance as axiomatic the tenets of "good software design" to prevent obvious problems
    • Computer Science - The study of the more abstract aspects of the problem sets, such as proving software correct, p v np, etc. so higher level math and calculus and in some cases differential analysis.
    • Computer Operations - The "underwater basket weaving" related curriculum for those who are more challenged. This would be the college level credit courses for Word and other Microsoft Office products. The course of study that is popular in some institutions but whose graduates are more likely to be admin assistants than productive software authors.
    • Computer Hardware Design - These are folks who not only should know theoretical computer science, but should also have even broader mathematics background and a smattering of graduate level physics at the post grad level of the curriculum.

    I'd also offer minors or sub-specialties in graphics, which is math intensive, and game design, where knowledge of physics is good so you know what rules to break, and where you need some psychology as well. And then a security sub-specalization, and many more. But the one thing this article does invoke is the need to define a better set of characteristic goals for the degree. And anything that requires a for credit "Office" course really needs to be rethought by the schools board of regents. If you're going to be programming nuke plant safety systems, you better be smart enough to pick up how to use office while typing papers up in the quad without any lectures. Of course feel free to RTFM.

    As a point of reference in the varying needs, I worked for a physics department that analyzed spark chamber lab data. This involved taking their sets of differential and other equations and creating code to implement the various tests. So if you didn't know diff eqs you could fake it, but if you knew them you could write code that didn't just mirror their equations, which in some cases results in non-deterministic run times, and you could create software that performed equivalent operations within the accuracy limitations of the incoming data and was deterministic. That takes a more in depth knowledge of theory of computing as well as advanced math. Of course if you are just programming financial transaction software, well, no wait, that is likely more important, and so you need to know security aspects of software so you don't leave bugs to be exploited by hackers. So bad example, so then maybe if you write the 99% of iPhone Apps that don't pay back the cost of the developer SDK license, sure you don't need much math back ground or even advanced theory. But for real world problem solving we just open up a whole nasty can of worms as we take the science out of computer science. And is training a computer hack even worth the cost of getting or giving a four year degree, can't we just leave this to the associates degree from some obscure community college (and that's hack not hacker please!).

    Even music majors know the importance of math and use it for transposition of keys and scales.

    --
    - Tjp

    I am in wallow with my inner money grubbing capitalistic pig. ... Oink!

  137. You guys are kidding right? by Anonymous Coward · · Score: 0

    College has never been about getting you ready for the real world. It is about giving you the tools so you can understand different points of view better in the work place, its about socializing. For example, I majored in Computer Engineering, and we had to take a differential equations class. I realized that the math in that class could be applied to other things. I ended up taking a Circuit II class, and click a light bulb went off, I noticed that the circuits could be turned into a differentials equation problem, and it seems easier to me to do it that way. However, while everyone else was learning rule of thumb equations, I didn't have to remember anything at all, and my numbers were closer than theirs. I think college is a place to make you a well rounded person, so when you get out you will see different ways to attack a problem.

    As for the differences of a software engineer and a computer science major, it really comes down to the university you go to. At my university, computer engineering we had more credits than computer scientists and electrical engineers, because our university believed computer engineering was the joining of the two majors.

  138. Lets we forget... by Anonymous Coward · · Score: 0

    Math is weight-lifting for the mind.

    Very few people learn math because they need to evaluate limits and reason about integral domains in their future jobs. Calculus is especially marginalized out by software written by only a handful of people.

    It's developing abstract reasoning skills that make math worthwhile, and those who "just can't grasp it" are worse at solving problems in general. All else being equal, the mathematically-experienced are better software engineers.

    Not to mention that much of the new and interesting ideas are presented in math-heavy papers.

  139. You don't want math? GTFO. by Anonymous Coward · · Score: 0

    Seriously: if you think you can do Computer Science without math, GTFO. Or even better, kill yourself now and avoid breeding more math-illiterate fucktards than we've already got.

    What's next? "I want to go into CS, but spelling variable names right is HAAAAARD!"

  140. This would all be moot if we just grew up this way by davecason · · Score: 1

    I always find that programming helps explain the math. Instead of taking someone's word for it, you can just derive what they say. If we all grew up this way, learning math and using programming to illustrate the result, this wouldn't even be a conversation. We would arrive at university with the theory under our belt, and we would have the skills to expand it if desired or focus on the application of what we already know.

  141. The problem is in society, not in the class room by sam_handelman · · Score: 1

    But first, let me get this out of the way: it is absolutely true that most people want CS degrees in order to get jobs that you could do equally well with a 2 year associate's degree in Information Technology, and even better with a high school diploma and a bunch of experience.

      HOWEVER, the students are probably better off on the job market with 4 year CS degrees. Looking at things from the perspective of a potential employer, there are two reasons the CS degree has a leg up:
    1) All else being equal, <a href="http://en.wikipedia.org/wiki/General_intelligence_factor">the student capable of learning Calculus is probably more competent at everything else as well<a>. It's far from a guarantee, but on average, this will be true. The CS degree is valuable precisely <b>because</b> many people can't do calculus.
    2) The 4 year CS graduate is, on average, from a more privileged background, or, if they're not from a privileged background, they've got an honorary promotion into the privileged class and 4 years in College will teach you how children of privilege (or, "entitled little shits" as we are popularly known) are supposed to behave. The people doing the hiring are, almost without exception, entitled little shits themselves who would rather hire their own kind. More sophisticated types will dress this up as item #1 above.

      You see a very similar dichotomy in medical school admissions, with regards to organic chemistry. In theory, there are a number of situations in which an MD might benefit from knowing ochem, but realistically, it isn't going to come up. Furthermore, ochem is taught as if all of the undergrad biochemistry majors were going to move on to careers in basic research. That said, would the colleges be doing their students a service in dumbing down their ochem curriculum? No, they would not, because the medical schools want students who can pass ochem, for basically the same reason.

      Medical Schools are in a position to be very selective in their admissions. Therefore, they can require (and they do) those students who can pass the ochem courses which are designed to prepare a student for a career in original basic research. This means that ochem is a hoop-to-jump-through for most of the students who would take it. This doesn't mean <b>any</b> of the students would be better served by dumbing it down! If you did, the medical schools would demand upper division molecular biology, which would then fill up with premed students, who don't need the subject material and are just looking for the certification that they are elite; this is happening to some extent already.

      Likewise, really good programming jobs are scarce, so employers are in a position to demand candidates who <b>can</b> do calculus even for jobs that don't need it. Associates degrees (and more) in Information Technology and variants thereof already exist. But people with professional aspirations get CS degrees instead precisely <b>because</b> they are more exclusive and difficult. If you dumb down the CS curricula (or if community colleges start offering CS degrees), employers start to demand master's degrees; this is happening to some extent already.

    --
    The good and new comes from no quarter where it is looked for, and is always something different from what is expected.
  142. Academia vs Industry -- or a matter of standards? by bo1024 · · Score: 1

    I think academia is right to distrust "teaching to the fad" because concepts don't change, and people who know the concepts will be good at picking up the fads. Math -- to a lesser or greater extent, it's arguable -- is one of the concepts.

    Analogy: if you'll be programming in Java and Python, why learn C or assembly? Don't "tough" concepts like pointers and managing your own memory turn off a lot of potentially great programmers? Well ... apparently they wouldn't have been so great. Without these concepts, you think you're fine bubbling along in Java till one day you try reading in a 10-MB file by using String str = str + nextLine() and don't understand why it's taking forever.

    So -- this is also about standards. What standards a student has for herself, and what standards a school wants to set for its students. You think most of the programmers hired at Google don't know calculus and linear algebra? It's not about whether you integrate functions on a daily basis, it's that (1) you've proven you're smart and those smarts often correlate with good coding, and (2) you have additional tools and a better understanding in many cases. In industry, that pays.

    And to be blunt, if someone told me they hadn't had calc or probability, I would distrust their overall understanding of the field of "computer science". Nothing against their programming skills, it's just that a lot of what I call "CS" includes mathematical concepts, and I think that a CS degree should include them.

  143. Re:Math=not patentable. let's keep the math in but by turkeyfish · · Score: 1

    Your point with regard to patents is well taken, but for a computer scientist to be finding excuses not to do mathematics would be like a runner shooting themselves in the foot before a big race. Mathematics is nothing more than thinking clearly and being able to recognize it as such. Perhaps if one can't think clearly and do proofs, then mathematics will seem confusing.

    Algorithmics is little more than the making use of mathematical structures, expressions, and relationships in efficient and effective way, whether or not you have been trained to recognize it or not. Obviously, training can help. One of the most important aspects of mathematics is that it can instruct computer programs to recognize situations where it would be foolish to think that computable solution actually exists, when it does not, such as a "quick algorithm" for finding minimum length Steiner-trees (one of the key problems in computational biology).

  144. College, not ace tech (trade) school by colonel+spalding · · Score: 1

    I earned a 4 year BS degree in CS years ago. I took 2 terms of calculus, which maybe helped. I also took various discrete math, finite math courses as well as operating systems, assembly language (that i've never programmed in for financial gain) and more. While it may not have taught me how to walk into and office and just do Cloud Computing, what it did (clearly IMHO) give me a huge leg up an every and anyone that didn't have my background in the theoretical stuff. Thru the years it has been so much easier for me to understand computer concepts, e.g. the GUI, UI, much OS related stuff, IT stuff than people that had to learn how to do computer related stuff that didn't see all the thought underlying.

  145. Maths & CS by Anonymous Coward · · Score: 0

    One has to decide what one wants in life. You need all sorts of tools including the ability to understand and use mathematical models. Discrete quantities use Arithmetic and Algebra and continuous quantities make use of Calculus. One does not know what tool will be useful at what time as the job market and skill sets are changing. In the past you can put a label on yourself - CS, SW Engineer etc., but now with a dynamic integration of areas of applications overlapping such as, Computational biology, computational medicine and so on., no one can say that I want only these courses in my degree. What you need is to take core courses and take more courses when necessary. Without mathematical knowledge real life modelling will be almost impossible. Programming will be done computers eventually and then what happens to these high pitched programmers?

  146. Speaking as a physicist: by drolli · · Score: 1

    To those who find math in their studies unnecessary:

    During my studies i always thought: I am never going to use this, this is way too theoretical. And i thought that for theoretical physics as well as for mathematics. The came the master thesis in experimental physics and i needed the biggest part of what i learned and more.

    I cant promise this happens to you in the same way, but i can state the following: If you want to be a programmer then don't study CS, but program. The difference between computer science and programming is that i don't expect (he/she may very well be able to) a programmer to be able to design a protocol to handle sporadic loss of data, because, well for this you need math (stochastic/linear algebra). Calculus can be used at many places. One which comes to my mind is "find the minimum" in resource usage which may have a known scaling on a variable which (e.g. number of subdivisions you use in divide and conquer) you set different parts of you program. Yes, sure you can experimentally figure that out. But every programmer can do that, you don't need CS for it. But he may not be able to make a function which automatically determines some parameter according to an available resource.

    The other question is: do you want to restrict yourself to programming only things which don't require calculus? So this mean you don't consider the many "embedded control loop" or "embedded signal processing" jobs worthy of being cherry-picked by you? You don't believe that e.g. integrating or transforming a sensor input and being able to talk to your customer (which may be a physicist working for a company to make a product ready) about it will affect your professional career? Processing numerical data is still quite some field which may enter you path in one way or the other.

    Ultimately, and this may now be a little harsh: Some of the tests in the first semesters are cases of "real artists ship". Its irrelevant if you like it. Its irrelevant if you understood it by intelligence. Its irrelevant how much you to work for it. Just get it done. Unless you have an explicit legasteny for math, passing a test of the very elementary math you usually learn is not a matter of talent alone, but mainly a matter of preparation. Preparation includes the parts: learning (and a little understanding), training and being ready to take the test (which is many times the biggest problem). If you have problems with the latter, go to a counselor. In my experience students mainly fail in math because there is some kind of unrealistic expectation leading to a mental block (along the lines of "math just requires intelligence, so if i am bad at math then i am stupid and will never understand it and nothing i do will change it"). My experience show that people who address these blocks early and openly have a much easier time to study and succeed, even if they are not in top percentiles of intelligence or talent.

    1. Re:Speaking as a physicist: by thaig · · Score: 1

      CS doesn't need calculus and your experience as a physicist is not relevant.

      It could do with a bit of psychology or maybe sociology though.

      --
      This is all just my personal opinion.
    2. Re:Speaking as a physicist: by drolli · · Score: 1

      Did you actually read my comment? I will summarize it for you:

      a) often you may need more math that you imaging, and sometime you *can* use math to solve a problem more efficient.

      b) Understanding math well broadens the range of jobs you can take.

      c) Some thing are just imposed by your university to test you.

      And just tell to my CS friends who do work on image processing (pattern recognition), signal processing (e.g. channel separation), quantum computer architectures and memory hierarchies that they don't need math. They will be surprised.

      But if you want to say that CS should be split into "applied CS" and "general CS", i agree.

  147. Re:Wasn't the calculus or physics that bugged me.. by russotto · · Score: 1

    I didn't find the math to be difficult or even tiresome. But the nimrod professor criticizing me for exiting subroutines in the middle of loops and conditionals?

    Yeah, the math wasn't your problem. It was the shallowness of your knowledge of the classics (that is, the Bugs Bunny cartoons). You should have known that the term "nimrod" is not a general purpose insult; rather, it means "a mighty hunter", after the eponymous Biblical Nimrod. Applied to Mr. Fudd, it was meant sarcastically.

    Anyway, if he wanted your code to return at the bottom of the function, you should have just put gotos in at the appropriate places. Would be amusing to see the look on his face when he saw it, anyway.

  148. Calculus is essential. by russotto · · Score: 1

    Calculus is more than just continuous derivatives and integrals. Calculus is where you get a lot of the notation and concepts for other university-level math courses. You can do some pure discrete stuff -- e.g. number theory, predicate calculus -- without it, but for a lot of it you will need to understand integrals and derivatives and limits.

  149. What does "theoretical" (with the quotes) mean? by Anonymous Coward · · Score: 0

    As someone who went through a very "theoretical" CS program

    ...

    Most students didn't get a chance to take analysis or anything that would teach them about WHY the shit works or what the theory or point of it was. We just had to do course after course of symbolic manipulation that none of us would ever use.

    So, on one hand, your CS program was very theoretical, but on the other hand, it was mostly symbolic manipulation and not many proofs? IMO, thats about as far from theoretical as you can get. Symbolic manipulation is absolutely useless unless you have an idea beforehand of where it should lead you (much like a program is useless without I/O and some form of documentation). For that you need theory (unless those ideas come naturally to you - but I have yet to meet such a person).

  150. Math? by CPNABEND · · Score: 1

    I had to think about this a bit before responding... I left college because they told me I had to take calculus or do not come back to my major. I left, and got a job as a COBOL programmer. I then moved into system programming, went on to be published at conferences, magazines, etc. My job now is main frame capacity planning and performance measurement as a storage vendor. Yes, I use math in my job. Calculus? NO.

    --
    My wife doesn't listen to me either...
    1. Re:Math? by luis_a_espinal · · Score: 1

      I had to think about this a bit before responding... I left college because they told me I had to take calculus or do not come back to my major. I left, and got a job as a COBOL programmer. I then moved into system programming, went on to be published at conferences, magazines, etc. My job now is main frame capacity planning and performance measurement as a storage vendor. Yes, I use math in my job. Calculus? NO.

      With all due respect, but your life and work experiences are anecdotal, not representative of CS and programming at large. You were gifted enough to enter into a particular field w/o having the need to go through the calculus grind. Others are not that capable.

      For me, it's been the opposite, not having taking Calc III, DEQ and Linear Algebra had almost permanently closed doors on my on many areas of programming. Sadly now I have to go back to school and take those three courses just so that I can catch up and become marketable in the programming fields I want to work on.

      And as for the programming I've been doing for a living, indeed, I've never used Calc I or II.

      But certain I've extensively used Discrete Mathematics, Logic, Set theory, Automata Theory and Statistics - egad, including in the enterprise - none of which I could have mastered (or at least understand enough to use at work) without having the mathematical foundation and level of maturity that we get when we go through the Calculus grinder.

      Newsflash: We CS don't take Calculus just so that we do differentiation and integration at work. We do so so that we get the necessary background and mathematical maturity needed to master the areas of discrete mathematics, computation and number theory required to do CS work.

      CS != programming, and not all programming is about web pages or things that can get done with just a couple of computer programming courses.

      I don't know how else experiences it, but for me and many of my colleagues in different companies, we have one hell of a hard time finding good job candidates, not just code monkeys but people with the most basal of common sense when it comes to building applications. I wholeheartedly blame that to the watering down of CS education.

  151. Re:Wasn't the calculus or physics that bugged me.. by ibsteve2u · · Score: 1

    Context, eh? He was indeed a mighty hunter...always hunting for flaws, and inventing them where he found them to be lacking.

    And I daresay I wouldn't have gotten the honors I wanted if I had indulged myself with "goto", for once I stepped off that precipice I have no doubt my labels would have been of the sort:

    efficiencyBefore:

    style:

    inthe:

    realWorld:

    youShould:

    tryIt:

    once:

    --
    Orwell: "In a Time of Universal Deceit, telling the Truth is a Revolutionary Act"
  152. What CS students REALLY need by awestruk · · Score: 0

    To join programming competition groups and events...

    I have learned more in the programming competition meeting at my University than any class. If you don't know about it check out UVa online judge! They have hundreds of questions where you make a program that takes in input and outputs the expected result exactly.

    These problems give you: 1) Practical experience to popular problems in industry and research 2) A chance to learn new algorithms, methods of input/output, "tricks", coding styles 3) A chance to network with other people at practices/events 4) A chance to impress employers

    Oh, and by the way, you'll likely need some math for the hardest problems (not the easier ones though). Especially an understanding of big O.

    I just had a round #2 software engineer interview with EA. It was a technical skills interview. I nailed it and got hired, largely due to programming competition. In case you were wondering, they did ask me a few math questions.

  153. Seriously? by Anonymous Coward · · Score: 0

    Seriously? All those points are obvious to any CS student after one semester. The only reason this does not change is because professors need to teach. They don't want to, but they need to.

    The reason you still have Calculus is because there is a ton of math teachers who needs to teach classes in order to be able to continue their researches (or just to get pay for those that don't do research). A very a good portion of those with math degrees end up in academia. How do you feed all those people? By making them teach classes to the most people you can.

    Nevermind that a CS student would be a lot better learning calculus from a CS teacher, no, you learn it from a math teacher. He will make you prove that lim (x->0) x/x= 0 by the definition and make you thank him for it. Why? Because if Newton did it, so should you.

    I do think that calculus/math is an important part of CS, but the way they teach it is so completely wrong that passing the class or not it makes absolute zero difference to anyone not going to academia (and even to those only a tiny fraction actually need it). I think I could teach a CS student everything they need to know about calculus in two days, really. Well one more day for a test I guess, add one more day if you want movement physics in to show some application to all that stuff.

    This is also impossible to change. Math teachers need to teach someone, if they let a major get away with math classes taught by their own soon everyone will want too and then they will get less funding for their researches, hiring, etc. The math department is fueled by all those "lesser" disciplines that use math someplace, somewhere. The CS department are a bunch of people who liked that math and probably do use it actively and do have a valid reason to want their undergrads to learn it too, that is if the undergrad go to the same career they did (pro tip: they won't). The system is so rotten that in most countries colleges NEED calculus in the degree somewhere to be able to grant people with CS diplomas.

    In my college (University of São Paulo, São Paulo, Brazil, campus São Carlos), in special we have a very strong (read unforgiving) math CS course. For the first 2 years we have more math than other stuff. The main reason? The CS department is part of the math department. The main complaint of my fellow undergrads? They spend so much time studying math that they can't even enjoy all the CS stuff, if they need to skip a class to go to the doctor they will do it on the data structures class, not the calculus. If they need to study for the discrete math class they will make their digital logic work the fastest possible (or leave it to someone else of the group). This is so widespread here that one of the main reasons that employers like people from my college is because we survived all the math which means we are at least smart enough to pass and not lazy enough to quit.

    Now if you excuse me I have some integrals to calculate on my saturday night, I have a test monday. God help me when I start calculus 3, I will need to stop reading slashdot.

  154. MAke Everyone Learn Math by nate+nice · · Score: 1

    How about instead of having fewer mathematically literate people we require that every degree has a level of math that should be considered competent. So no matter what you have to know some basic calculus? I hate hearing the shit "I won't ever use it, blah blah blah". 100% of your education isn't a jobs training program. Colleges should still be interested in outputting thinkers but then again that deal went out the window after they raised rates a billion fold, admitting it was a jobs program.

    --
    "If you are a dreamer, a wisher, a liar, A hope-er, a pray-er, a magic bean buyer ..."
  155. Some Math is Good, More Math is Better by kumanopuusan · · Score: 1

    You can make a slightly stronger statement. Proofs and programs aren't just similar.

    Proofs are programs and programs are proofs.

    --
    Use of the words "good", "bad" or "evil" is almost invariably the result of oversimplification.
  156. Asking nutritionalists to teach hospitality? by TBBle · · Score: 1

    For a variety of reasons, a typical CS faculty consists mainly of individuals who specialize in CS as a discipline, often with strong mathematical backgrounds. How many of them could teach a good course in cloud computing or multi-core systems or software engineering or any of the many other topics that the graduates will find useful when they graduate?

    Easy. Stop trying to teach those thing in Computer Science, and move 'em to Information Technology where they belong. Leave Computer Science for the science of computing, rather than being a catch all "using a computer is the primary focus of this task" degree. No one's trying to require electricians to have a degree involving quantum mechanics, nor visual artists to have a degree in material sciences. And we don't ask nutrtionalists to teach hospitality, even though they both revolve around "food".

    Note that I'm just picking on the cited examples, I didn't read the linked articles at all.

    --
    Paul "TBBle" Hampson
    Paul.Hampson@Pobox.Com
  157. Calculus is the wrong field of math for CS. by Kaldaien · · Score: 1

    What CS students need an education in more than anything is Discrete math (graph theory, set theory, number theory, etc...). Calculus is the complete opposite end of the spectrum. While Calculus can be useful, it should take a backseat to discrete math.

  158. Math and CS by iinlane · · Score: 1

    I might not need math for programming but I definitely need math to understand what I'm programming. Tasks from game development to automation can not be completed without understanding basic math (we'll they can.. but in order to do them properly some understanding is necessary).

  159. Rigorous math by Anonymous Coward · · Score: 0

    I wonder whether rigorous courses in math are really necessary for programming. Obviously there are certain core topics and algorithms that every programmer needs to know but I'm not sure everything that is taught is really necessary. IMO a good programmer should be able to know where to look if they run into a specific problem and be able to work it out from there. I should be able to identify that a certain problem requires knowledge of calculus, geometry or whatever, spend some time reading about it to get the job done.
    Obviously, people involved in computer science research should know their math upside down and inside out.

  160. BS -- and not Bachelor of Science by hardgeus · · Score: 1

    I quit college because of math. I had taken a ton of CS courses, almost enough to graduate, yet still had year upon year of math to go.

    I have been writing software for a living now for about 16 years. I don't recall EVER using any mathematics beyond arithmetic. (Even when I was writing 3D software, the freaking API handled the math for me)

    CS is taught by math a-holes because that's the closest thing that existed in academia when these new-fangled gadgets arrived. Now? It's a joke to even pretend that these bearded math lovers should be teaching anybody.

    16 year old kids writing mods for Minecraft know more about computing than those guys.

  161. Most Coding Jobs Don't Require Advanced Math by Anonymous Coward · · Score: 0

    In my roughly 15 years of experience, advanced math comes up very rarely in the day to day life of most coders. There are exceptions: graphics programmers, AI programmers, etc. But 90% of the jobs out there are frankly taking some data from a database and manipulating it through a GUI in some fashion (usually a web page). This is in great contrast to the *origins* of Computer Science which are highly mathematical and involving modeling and such on large mainframes.

    Given this, mathematics requirements beyond pre-calc should probably be dropped for CS people. Those CS people interested in the more mathematical applications of CS can go ahead and do the advanced math.

    I reiterate. Look on DICE or Monster.com. How many of those jobs really need someone who knows higher math? I think you'll find 10% is about right.

  162. Academic credentials versus Vocational credentials by Anonymous Coward · · Score: 0

    This topic falls under ludicrous fact that universities have put themselves in - claiming that the credentials required for an academic career are the same for vocational career. A full 80 % of the students in college ought not be there - where a liberal education prepares academics for research or a citizen for pure intellectual development. We need to expand our community colleges into a applied apprentice and cooperative curriculum - whose credentials are equal in perceived value (if not more value) than the academic degree.

  163. It All Adds Up by jman.org · · Score: 1

    "CS" is a very broad field. Are you a project manager? A SysAdmin? A repair tech? A coder - be it device drivers, websites, compiled apps, operating systems... ?

    A certain amount of math is good for any human to have. If your field requires more, you should learn it.

    Running cable or troubleshooting an ailing PC doesn't require much in the way of higher math skills, but coding requires at least a good grasp of logic.

    Writing an app like Mathematica would certainly demand some serious chops. (Programming is like teaching, in this case teaching a computer how to act. You yourself must know how it works before you can explain it to others.)

    Even if you're in a managerial role, riding herd over those doing the heavy lifting, it would still behoove you to be familiar with what your group needs to know to get the job done.

  164. Calc is NOT that hard by cellocgw · · Score: 1

    With all due respect, I wouldn't want anyone who can't handle intro Calc (limits, derivatives, antidifferentiation, introduction to series) coming near my computer and/or network. It's not a terrifically difficult subject.

    --
    https://app.box.com/WitthoftResume Code: https://github.com/cellocgw
  165. Re:Wasn't the calculus or physics that bugged me.. by Anonymous Coward · · Score: 0

    The return statement is there for a reason along with destructors and the RAII idiom.
    I guess it leaves it up to the optimiser whether or not there is a single physical exit point though.

  166. Artists Needed by Anonymous Coward · · Score: 0

    I have been arguing for a non-mathematical approach to software development for years. Please see Organic Programming. Very few of us are doing Algorithmic Development. The problem that needs to be solved is the complexity problem. We need artists in the profession who can model problem spaces.

  167. The poor ranking is why this is a real issue by snowwrestler · · Score: 1

    It's the low rank of the computer science program that makes this a real issue for this professor.

    A student who gets a Ph.D. in CS from a top-twenty program, like this guy, has a good chance of ending up at Google working on machine learning (for example). Obviously a strong theoretical grounding will pay off in those cases.

    But what about the students who get a bachelors in CS from a 4th-tier program? Not many of those people are going to be inventing the future. Most will end up as web developers, corporate programmers, or IT staff, if they stay in the field at all. If they finish school knowing calculus, but not knowing the practical realities of writing and managing code, they are not well prepared to start their careers. In fact, they are probably at a disadvantage against people who taught themselves programming by actually coding things in their spare time.

    --
    Build a man a fire, he's warm for one night. Set him on fire, and he's warm for the rest of his life.
  168. I agree and bugger the ones who argued with you by Anonymous Coward · · Score: 0

    I am a high school drop out. No top 20 for me. I am however a codec developer and self proclaimed computer scientist.

    I spent years reading math books, studying algorithms, etc... even stood in for a professor at Johns Hopkins for a week. I even followed a my friend's full CS curriculum to make sure I didn't miss anything. I can recite Knuth, have an intelligent argument with Tanenbaum without citing Linus constantly and recently was teaching my 8-year old son derivation just to see if he was old enough for it yet :)

    Your post is extremely accurate and should add one more topic :

    Hot topic : Computer Video and Audio (all of it, not just bits)
    Core CS topic : graphics, linear algebra, digital signal processing, differential equations AND DSP programming, this includes computer architecture, counting cycles, Big-O, Little-O, every single thing you could know to squeeze one more cycle out of the CPU. Computer memory technology (learn what's really involved with loading and storing), electronic engineering (learn how to predict errors based on electrical issues). Network engineering (learn about network protocols and how they behave across routers, switches, different topologies) because you can't design video or audio stuff without knowing how it's carried.

    If people want to be IT guys who program, that's great, go to a community college and learn a language and a technology.

    If people want to be computer scientists, then they need math. It's a critical tool for solving problems. A computer scientist needs to do more than just cut and paste a chunk of code they googled. They have to create new algorithms or implement other algorithms that were math. In computer science, math is as important as English.

  169. Umm... electronic engineering IS in trade schools by Anonymous Coward · · Score: 0

    I haven't been in the states forever, but DeVry Institute (I think it's called) has always taught electrical engineering as well as computer programming. That's a crumby little trade school. It's barely one step above "Become a truck driver..." schools. I think the 'proper' term for them are vocational schools.

    Computer scientists only end up in mundane programming jobs if they are poor problem solvers. If you can't solved your simple little social problems like getting yourself a proper job, then you probably are better off in a software engineering position anyway. Besides, it's a good idea to be a chump code junkie for a while when you graduate anyway so you can gain some practical knowledge. Makes it so that when you move on to your proper job, you know more than pure theory.

    And don't knock engineers as being less than scientist. I'm an engineer who sits next to a scientist all day and between the two of us, we have a whole brain to accomplish things with.

  170. I Agree. Math is overrated in CS. by DarthVain · · Score: 1

    I took CS and struggled in Math. I work in my field now, and have for over 10 years. I have never even come close to using any of it. I could see if you worked in a heavy science field (say modeling some physics or something) or in actual CS theroy, but in reality I would say that 99% of CS grads never see any benefit to most of the math prerequisites they are forced to take.

    I know my choice in CS school was basically determined by math which is just wrong. My first choice required high school level calculus. I didn't have it. I had to take a calculus test that if I passed would allow my acceptance. Not having a stitch in calculus you can imagine how that turned out. The worst part is that going to a small rural high school it wasn't even offered, so I couldn't take it even if I wanted to. The only alternative was to NOT go to university for a year so I could get the required calculus credit which is totally BS.

    I ended up going to a a school that was more liberal arts, and thus didn't have the requirement. Though this could partially be because it was in Ontario that had grade 13 (I being from Nova Scotia only had 12 grades), and it was assumed that many took the calculus in their 13th year. Anyway the CS still had the same math requirements as any CS degree, so I still struggled. I ended up taking Calculus 100 and Linear Algebra 100 in my 5th year of University (took a year to get a GIS certificate at a collage). So here I was taking advanced 400 level CS classes while go to class with frosh for math, as well as being older than everyone except the teacher, and then only barely (she was a younger prof). Anyway I think the only reason in the end I passed (I think I got a 54%) was that the prof felt sorry for me, and understood that my degree basically hinged on me somehow magically getting over 50% in her Calc 100 class.

    Anyway yes in some cases I think math was relevant. Binary Algebra made sense in terms of CS, and statistics was useful, however the rest pretty much felt like they just made them requirements simply because it was math.

  171. I never once used Calculus in my CS career! by ThinkDifferently · · Score: 1

    The 2 most valuable math classes I ever had as it relates to my CS career: Logic and Arithmetic, in that order. Calculus? Never once used it, not in my CS career, and not in my personal life either. I've been a Systems Administrator and Systems Engineer throughout my entire career.

    If I had been designing 3D simulation and mapping algorithms, OK maybe calculus would've been useful, but then I would have gone that route in college if I wanted to do that. As it is, getting a math minor (up through Calc III) to earn my CS major is a complete load of bunk!

    If I could get back the time in my life that I wasted on Calculus classes and the heartbreak I felt struggling at every step of the way, I'd be a much happier man today. Calculus was by far the biggest load of crap I have ever had to deal with in my life in relation to its actual usefulness in my life (i.e. zero).

  172. Sounds like a whiny moron by mldi · · Score: 1

    If you can't do the curriculum, you probably don't belong there.

    Sounds like a whiny 5th grader who complains they'll "never ever use geography, so why I need it?". Give me a break. Quit whining and do the work. It's good to challenge yourself once in awhile. Nobody's going to coddle you in the real world.

    I know I would NEVER hire somebody that failed to learn some basic math. If you can't grasp some abstract concepts, I would think you would have a tough time learning anything new, much less come up with something "outside the box".

    --
    If you aren't suspicious of your government's actions, you aren't doing your job as a responsible citizen.
  173. Not enough computer literacy in general by Ramin_HAL9001 · · Score: 0
    Computer science, as in theoretical computer science, the study algorithms, data structures, theory of parsing and programming languages, this should all be an optional advanced placement curriculum for students who express interest, like an alternative to pre-calculus.

    But general computer use should be mandatory, as fundamental as algebra and geometry. And I am not talking using spreadsheets and word processors and web browsers. I mean teaching kids fundamental computing concepts, and how to use a command line to actually compute things:
    • What is file compression and how do I do it
    • What your computer does when you back up data.
    • How to write a flat-file databases, like an address book, using a text editor, and then "grep" it to retrieve information
    • Simple regular expressions
    • Using string variables to fill in the blanks of a form or a report.
    • What the importance of "indexing" is and how it can improve efficiency of search engines.
    • How to sum a very long list of numbers without Excel
    • How to sort tables according to certain keys without Excel
    • The importance of understanding logic for use in loops, and if-then statements
    • How to write simple scripts to accomplish repetitive tasks

    You can argue about whether they should learn to do this using bash or python, or MatLab or R, but the important thing is to teach that, yes, computers can do these things, and let the students' imaginations apply these tools to whatever problems they may have.

    All of these things are really easy to understand, and are completely fundamental to common every day computer tasks. Most people never even try to solve their own problems, rather they wait for some programmers to include the aforementioned computing functionality into a GUI, and if the GUI doesn't have that feature, then they think its impossible to do. Even the simplest things, something that could be done with one line of a bash script, an ordinary user doesn't know about it and is stuck relying on that freeware thing they downloaded to take care of it for them.

    Education FAILs to teach this; it needs to change.