×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Math And The Computer Science Major

timothy posted more than 9 years ago | from the single-digits-are-best dept.

Education 1203

An anonymous reader writes "What sort of math are CS majors expected to take? Why are these classes useful? Does programming really have that much to do with math? Lineman.Net has published an article that answers these questions and more. If you are considering a CS degree, be sure to give it a look and make sure you are taking steps to prepare for your college career."

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

1203 comments

Certain types of programming... (5, Informative)

tcopeland (32225) | more than 9 years ago | (#9063013)

...demand more math than others. Artificial intelligence techniques [rubyforge.org], for example.

And what the article said about game programming is right on... trying writing even a simple Brickout clone without knowing basic trigonometry and you'll run into problems.

Re:Certain types of programming... (5, Insightful)

XMyth (266414) | more than 9 years ago | (#9063130)

However, writing a web front-end to a database (which is what a *LOT* of people end up doing for years and years) requires practically NO math 90% of the time. Of course, it't that 10% that will get you.

A Warning (5, Interesting)

ziondreams (760588) | more than 9 years ago | (#9063015)

As a student graduating (June) from a CS similar degree, I take this opportunity to warn/help inform others about such fields.

If you truly love programming and want to code for a living, do NOT attend such Universities as DeVry, many State Universities, or other small "tech" schools. This may sound like common sense to some, and outright madness to others, but trust me on this one. I personally am about to graduate from DeVry, and, although it's surprising reputation, they in no way prepare a student to enter the world of programming. The majority (I'd say 70%) of the skills I've obtained have been acquired by means of self-teaching and learning from friends.

More and more, I've been seeing that "programming" degrees focus much more on the management side of things, instead of the developer role. Perhaps this is because of the apparent problem of off shoring IT jobs? The main problem is not that the Universities have changed to this approach, it lies in the fact that the said schools teach in such a manner, WITHOUT advertising so. It brings about a sense of deceit and trickery...but perhaps that's what they were going for? :-)

Since when... (0, Flamebait)

heyitsme (472683) | more than 9 years ago | (#9063121)

Since when did DeVry have a "surprising reputation" ?

I thought everyone knows that vocational tech schools suck.

Re:A Warning (4, Insightful)

NixterAg (198468) | more than 9 years ago | (#9063140)

The majority (I'd say 70%) of the skills I've obtained have been acquired by means of self-teaching and learning from friends.

This is pretty much the case no matter where you go to school. A good school will only give you the tools and understanding to be more efficient at acquiring and utilizing the skills. A good school will not be teaching you those skills.

Re:A Warning (1)

Anonymous Coward | more than 9 years ago | (#9063141)

Can someone explain to a dumb European what this "DeVry" thing I keep hearing about is and how it is different from the rest?

College (4, Interesting)

duffbeer703 (177751) | more than 9 years ago | (#9063169)

College is not a vocational school, although that many would argue that DeVry is a vocation school.

College is supposed to teach you how to think & learn... it's become a necessity since US secondary schools are so malfunctional. Your college classes should give you a base of knowledge about whatever you are studying, and the rest is up to you.

The reason that top schools like MIT are top schools is that they force their students to explore and learn new things. If you are a serious student, you can come away with a good education from almost any school.

Good School (0)

millahtime (710421) | more than 9 years ago | (#9063188)

Many schools such as the one I attended (University) do teach the right things. Such as software archicecture, good programming practices, etc. They give you the skills to get the job done. They may cost more but you get what you pay for.

oh good lord yes (3, Insightful)

74nova (737399) | more than 9 years ago | (#9063019)

we have to know math because the math majors cant program, usually. as a programmer, youll have to work with NUMEROUS different people from all sorts of other fields. you might be designing heat control systems, biochem simulation software, or electronic simulation software like me. the more you know the better in this field, i think.

Re:oh good lord yes (1)

ad9798 (712590) | more than 9 years ago | (#9063123)

If everything goes down to toilet after got a degree of CS due to all those outsourcing and current economy, we can at least get a job as a math teacher.

Re:oh good lord yes (5, Insightful)

ponxx (193567) | more than 9 years ago | (#9063148)

> we have to know math because the math majors cant program, usually

Conversely this is the very reason why physicists and mathematicians have good job opportunities in IT, consulting or banking. In many cases it's easier to teach a physicist programming (or economics) than to teach a programmer the relevant understanding of mathematics.

Of course it depends on what you're progrogramming and of course a programmer who is good at the kind of maths required for the job will have the edge anyway...

What is worse (-1, Flamebait)

Anonymous Coward | more than 9 years ago | (#9063022)

(a) doing polynomial division by hand

or

(b) sex with a mare

CowboyNeal confirms - Apple is dying (-1, Offtopic)

Anonymous Coward | more than 9 years ago | (#9063030)

COWBOYNEAL CONFIRMS - APPLE IS DYING
El Zeiko - Gnaa, Nigeria.
One more crippling bombshell hit the already beleaguered Apple community when Slashdot pie magnet CowboyNeal [mobiusnm.com] confirmed that his baseball bat has dropped yet again, now down to the fragile case of his worthless Apple Powerbook [cowboyneal.org]. Coming on the heels of a recent GNAA survey which plainly states that CowboyNeal has finally LOST calories due to his savage beating upon his shitty Apple Powerbook [cowboyneal.org], this news serves to reinforce what we've known all along. Apple is collapsing in complete disarray, as fittingly exemplified by CowboyNeals powerbook [cowboyneal.org] being smashed into pieces [cowboyneal.org] like Rob Malda's anus at a GNAA press conference

You don't need to be a CowboyNeal [wildpuma.com] to predict Apples future. The smashed casing is on the wall: Apple faces a bleak future. In fact there won't be any future at all for Apple because Apple is dying. Things are looking very bad for Apple. As many of us are already aware, Apple continues to be bat raped. Sweaty enraged blubber flows like a river of blood.

Apples Powerbook is the most endangered of them all, having been smashed to a bloody pulp [cowboyneal.org] by resident obese slashdot editor CowboyNeal [mcdonalds.com], who was quoted as saying, with sweat and fat streaming down his several chins, "FROM NOW ON THE ONLY MACS I'LL BE BUYING WILL BE BIG MACS". The sudden and unpleasant departure of his unwanted and crippled powerbook only serves to underscore the point more clearly. There can no longer be any doubt: Apple is dying.

Fact: CowboyNeals powerbook is dead

About GNAA:
GNAA (GAY NIGGER ASSOCIATION OF AMERICA) is the first organization which
gathers GAY NIGGERS from all over America and abroad for one common goal - being GAY NIGGERS.

Are you GAY [klerck.org]?
Are you a NIGGER [mugshots.org]?
Are you a GAY NIGGER [gay-sex-access.com]?

If you answered "Yes" to all of the above questions, then GNAA (GAY NIGGER ASSOCIATION OF AMERICA) might be exactly what you've been looking for!
Join GNAA (GAY NIGGER ASSOCIATION OF AMERICA) today, and enjoy all the benefits of being a full-time GNAA member.
GNAA (GAY NIGGER ASSOCIATION OF AMERICA) is the fastest-growing GAY NIGGER community with THOUSANDS of members all over United States of America. You, too, can be a part of GNAA if you join today!

Why not? It's quick and easy - only 3 simple steps!

First, you have to obtain a copy of GAY NIGGERS FROM OUTER SPACE THE MOVIE [imdb.com] and watch it. (You can download the movie (~280mb) using BitTorrent, by clicking here [idge.net].

Second, you need to succeed in posting a GNAA "first post" on slashdot.org [slashdot.org], a popular "news for trolls" website

Third, you need to join the official GNAA irc channel #GNAA on irc.gnaa.us, and apply for membership.
Talk to one of the ops or any of the other members in the channel to sign up today!

If you are having trouble locating #GNAA, the official GAY NIGGER ASSOCIATION OF AMERICA irc channel, you might be on a wrong irc network. The correct network is Niggernet, and you can connect to irc.gnaa.us as our official server. If you do not have an IRC client handy, you are free to use the GNAA Java IRC client by clicking here [nero-online.org].


If you have mod points and would like to support GNAA, please moderate this post up.

.________________________________________________. fucking
| ______________________________________._a,____ | CmdrTaco
| _______a_._______a_______aj#0s_____aWY!400.___ | will
| __ad#7!!*P____a.d#0a____#!-_#0i___.#!__W#0#___ | he ever learn that
| _j#'_.00#,___4#dP_"#,__j#,__0#Wi___*00P!_"#L,_ | GNAA is totally
| _"#ga#9!01___"#01__40,_"4Lj#!_4#g_________"01_ | unstoppable? Teamed
| ________"#,___*@`__-N#____`___-!^_____________ | up with the other troll groups,
| _________#1__________?________________________ | GNAA will absolutely own
| _________j1___________________________________ | the shitty place that is slashdot.
| ____a,___jk_GAY_NIGGER_ASSOCIATION_OF_AMERICA_ | Just remember, the longer the lines are,
| ____!4yaa#l___________________________________ | the smaller CmdrTaco's penis.
| ______-"!^____________________________________ | This logo is (C) 2003, 2004 GNAA [idge.net]
` _______________________________________________'

(C) GNAA 2004


HS math question. (5, Interesting)

grub (11606) | more than 9 years ago | (#9063032)


Not entirely unrelated question about high school math: A couple of weeks ago I was out with my little brother who recently turned 18 for a beer and to shoot pool. He was having trouble making shots so I said "Imagine the table is a large sheet of graph paper when you plan your angles and shots." he said "I've never used graph paper."

He's graduating from Grade 12 this year, am I just a relic[0]? What do schools use now to teach geometry? I hope it's not all done on a computer, the practical hands-on stuff is invaluable.

[0] I'm 38; mom died in '82, dad remarried and could still get wood.

I graduated two years ago (1)

metalhed77 (250273) | more than 9 years ago | (#9063118)

Graph paper was ubiquitous 2 years ago at my school. Of course I was a forgetful bastard, always ran out, and ended up drawing in lines on line paper..........

Re:HS math question. (-1)

Anonymous Coward | more than 9 years ago | (#9063120)

I'm 38; mom died in '82, dad remarried and could still get wood.

There's a certain amount of detail that suffices for a post of this type - I would say you crossed the line with evertyhing past that semicolon, although I'm very happy that your father has a functional penis.

Re:HS math question. (1)

Xiaotou (695728) | more than 9 years ago | (#9063168)


Silly me! I read that as "my father was still able to obtain fuel for the fireplace."

Re:HS math question. (1)

JM_the_Great (70802) | more than 9 years ago | (#9063156)

Evidentally our Physics classes aren't too strong either... you really shouldn't have to explain all that to him :)

Nail on the Head (5, Informative)

millahtime (710421) | more than 9 years ago | (#9063035)

I am an engineer working with programmers and one of the biggest issues I have is getting them to implement some of the complex math in their code. Many struggle with it and that is a huge problem.

Re:Nail on the Head (1)

74nova (737399) | more than 9 years ago | (#9063074)

i agree totally. we have a class here at okstate called numerical methods that gives an intro to this sort of thing. newtons method, etc. there should be much more of it, i think. a buddy of mine is a double major with math and cs, which seems like a great idea to me.

Re:Nail on the Head (5, Interesting)

AKAImBatman (238306) | more than 9 years ago | (#9063186)

Let me second this. A good software engineer still needs to know the math behind what he's doing. Intuition can go a long ways, but sometimes intuition is wrong. And sometimes there just isn't a good way to develop something without invoking a few formulas. (Anyone who's developed a file system, say "Aye"!) The bright side is that most engineering work doesn't really require anything more complex than high school math. (Assuming that they're still *teaching* high school math. Grrr...)

My best suggestion would be to shy away from any school that skips over the theory and math behind computational sciences. I myself ended up skipping the degree all together and picked up the various textbooks and papers necessary to educate myself in the field. That's not the path for everyone (especially if you're not very self-motivated), but for me it was better than trying to sort through which school was teaching the real thing and which one was dumbing it down to improve attendance.

Math is fun! (0)

Anonymous Coward | more than 9 years ago | (#9063039)

Discrete Mathematics for Computer Science. Know it love it!

Math requirements? (1)

rworne (538610) | more than 9 years ago | (#9063040)

For my CS degree, I was required to take all the same math courses a math major would have to take. After numerical analysis, my head was spinning.

Computer Science != Programming (5, Insightful)

Anonymous Coward | more than 9 years ago | (#9063043)

Coding is not as important a part of computer science as you may think it is. CS is full of theorems and proofs. Computer science is the science of making algorithms more efficient. Programming is about implementing algorithms.

Re:Computer Science != Programming (5, Insightful)

Gumshoe (191490) | more than 9 years ago | (#9063177)

Dijkstra summed that sentiment up best:

"Computer Science is no more about computers than astronomy is about telescopes."

Re:Computer Science != Programming (5, Interesting)

UTPinky (472296) | more than 9 years ago | (#9063190)

THANK YOU for saying this! I got into a huge debate one time w/ a classmate because he was complaining about how Automata Theory (Language Theory) should not be a Comp Sci class. I was dumbfounded... This was perhaps the "truest" computer science class that was required for a degree at UT Austin... and in my opinion perhaps the most interesting class at that.

Re:Computer Science != Programming (3, Insightful)

jshaft (739159) | more than 9 years ago | (#9063197)

Here here! As a CS Major I couldn't agree with you more and I'm very offended when people think CS is coding. Coding is just a means to an end, nothing more.

Math and CS (3, Interesting)

MarkPNeyer (729607) | more than 9 years ago | (#9063045)

At my school, Xavier University, Math and Computer Science are a single department. It makes sense, though - the study Languages and Automata is an extremely mathematical pursuit, but it's also very important to Computer Science. The same could be said of any number of different CS related topics.

Why is maths useful for computer scientists? (5, Insightful)

sweet cunny muffin (771671) | more than 9 years ago | (#9063050)

Useful?! You can't do anything without it. You can't study graphics without maths. You can't study 3d graphics and simulation without quite advanced maths. You can't study audio without maths. You can't study just about anything in computer science without maths.

Only a Mickey Mouse comp sci course would not require maths to quite a high standard.

Re:Why is maths useful for computer scientists? (2, Funny)

appelflapje (655855) | more than 9 years ago | (#9063174)

Advanced math? You call linear algebra advanced math? Hmm... Maybe I overrated math. :)

True! (1)

BradySama (755082) | more than 9 years ago | (#9063176)

Any CS degree that is worth anything generally requires a math minor as part of the graduation requirements (if your school requires minors, as most do - particularly if you're in the College Arts and Sciences with Math, Meteorology, etc.). If you're going the computer engineering route instead, you can believe you'll have even more math. CS is just that, a 'science' - and the theories are described by and demonstrated with math.

Re:Why is maths useful for computer scientists? (2, Insightful)

elwell642 (754833) | more than 9 years ago | (#9063200)

Oh.

Well, I for one have designed, written, and implemented several large software solutions & websites for a number of growing ($1M+) small businesses, and I've never needed a single bit of the matrix algebra or trig stuff I was often forced to digest in college. But maybe I'm the minority here.

*puts on a pair of huge round black ears*

MAth is fun!! (1)

justkarl (775856) | more than 9 years ago | (#9063051)

Probability theory would probably(ha, ha) be a good one, and I think that calc is pretty essential for anyone majoring in anything having to do with math. But if you have to take MAT 99 or 100, you probably are in the wrong field...

is math important? (1, Informative)

Anonymous Coward | more than 9 years ago | (#9063052)

to computer studies? very. time and space complexity proofs, anything to do with computer vision, graphics, signal processing, A.I., networks,... but if you just want to be a code monkey, well.. still important.

supposedly it helps, I never saw it. (0)

Anonymous Coward | more than 9 years ago | (#9063054)

When I was in college CS majors had to take Calc and Discrete Math.

I can see the need for the discrete math but the Calculus was unnecessary as far as I could see.

lots of math (2, Insightful)

genner (694963) | more than 9 years ago | (#9063057)

Excpect everything up to calculus 3, and possibly physics which is a calculus class in disguise They have litte or nothing to do with programming, Most of what you will learn in colledge has little to do with anything.

Heh. Try Neural Networks without linear algebra (3, Insightful)

Anonymous Coward | more than 9 years ago | (#9063058)

Neural Nets store their information in matrices of varying dimensions. Without knowing how to manipulate them, you'll be in a world of pain.

fp! (-1, Offtopic)

Anonymous Coward | more than 9 years ago | (#9063067)

fp!

/.ed (-1, Offtopic)

Anonymous Coward | more than 9 years ago | (#9063068)

before 1st post!

Of course you need math... (3, Funny)

OEJack (648266) | more than 9 years ago | (#9063069)

How else are you going to figure out how much money to ask for in Rupees? ($1USD = 44.5641 Rupees as of this morning)

All you can get (1, Insightful)

Anonymous Coward | more than 9 years ago | (#9063070)

Analytical skills are developed in large part due to math. Take all you can get and pay attention!

SLASHDOTTED!!!! (-1, Redundant)

Anonymous Coward | more than 9 years ago | (#9063071)

Proxy Error

The proxy server received an invalid response from an upstream server.

The proxy server could not handle the request GET http://lineman.net/node/view/251.

Reason: Could not connect to remote machine: Connection refused

VT's CS program (1, Informative)

Anonymous Coward | more than 9 years ago | (#9063073)

Go check out Virginia Tech's CS program. I only did the first two years then transferred to another school, but while there I took 8 math classes in 2 semesters. Most CS majors took one extra math class before graduating to get a Math Minor.

Was it helpful, was it worth it? I'd like to think so, I didn't sleep through discreet math for nothing!

wrong assumption (2, Informative)

Anonymous Coward | more than 9 years ago | (#9063075)

programming != computer science

if you think programming is all there's to computer science, then don't study computer science.

Here it comes ... (1)

Daniel Dvorkin (106857) | more than 9 years ago | (#9063077)

Cue up all the "i d0n7 N0 4nY m47H & i 4m 7eH 1337!" comments from people who write shitty, bloated, inefficient code because they didn't have the brains or dedication to pay attention in their math classes.

Different applications (1, Insightful)

Anonymous Coward | more than 9 years ago | (#9063081)

The problem is is that alot of college courses I have seen focus on computer science which deals alot more with low level programming and algorithms, in which case you need some extensive math.

I however write more applicatons/user interface type stuff, and use the libraries that CS guys create (STL to just name an example), thus I rarely ever write anything myself that I need advanced math skills.

Programming in and of itself doesnt require math, but when you start writing advanced data structures, thats where you will need calculus/algebra and some others. It all depends what kind of programming you plan on doing.

co-workers without a good math base... (3, Insightful)

hornrimsylvia (696514) | more than 9 years ago | (#9063083)

..i never want to touch their code. usually it lacks basic logic. the programmer/designer usually does not have a good grasp on other mathematical concepts either. this is true for even simple business logic. the code is usually inefficient...in my experience anyway. the math really helps you to deal with thousands of processes working together, as well as potentially avoiding deadlock by looking at things on a grand logical scale. again, just my experience. take the math.

Statistics also important (4, Insightful)

GGardner (97375) | more than 9 years ago | (#9063089)

Perhaps the most related, useful, but most underappreciated related discipline is statistics. Of all the non-CS classes I took, stats is the most relevant to my day-to-day life. For example, doing analysis of performance and tuning software system, I often see people use bogus statistical analysis, and making mistakes based on those results. Even if your curriculum doesn't require it, I would highly recommend taking a stats class or two.

CS has very little to do with math (-1, Interesting)

ObviousGuy (578567) | more than 9 years ago | (#9063092)

You can learn CS without any math at all.

CS is about finding algorithms, which has more in common with cooking than calculating. Most math classes that CS majors are required to take a pure esoteric fluff that is meant to jack off the math majors while the CS students snooze in the back of the room.

Even the 'mathy' part of CS, the Big O notation, is little more than saying "well, this one takes a long time so let's just say it's O(n^2), this one is fast so it's O(n), and this one is really fast so it's O(1). And this one we can't figure out? O(log n)." It's really no wonder that computer programs suck as much as they do when the entire concept of algorithm performance is measured in such a slipshod manner.

If math majors could get away with estimating their way through to graduation, we'd all be much worse off. But CS majors certainly don't need all that extra crap.

Re:CS has very little to do with math (2, Insightful)

nathansu (777156) | more than 9 years ago | (#9063166)

Wow, are you sure about this tough guy? If you want to be a programmer that does nothing but hack java code for your run of the mill application, sure you don't need any math. But if you want to do somthing USEFUL in the CS field (research, grad work, etc.) you cannot DO WITHOUT the math.

From a current CS/Math major (1)

heyitsme (472683) | more than 9 years ago | (#9063093)

I am pursuing a double BSc in Math and Computer Science. My school [uiowa.edu] makes this extremely easy. To obtain a math degree in addition to a CS BSc, you have to take two additional classes. The typical person in this sort of track takes the following "math" classes (some classes are on the cusp of CS and Math):

Calculus I, II and III

Discrete Structures (graphs, trees, etc.)

Linear Algebra

Numerical Analysis

Algorithms

Abstract Algebra I

Also you have to take one or two math electives.. I opted for a course on Game Theory.

This is just a snapshot of my school career... YMMV, however one can see that CS and Math degrees are still heavily linked.

Double Major (5, Insightful)

ePhil_One (634771) | more than 9 years ago | (#9063094)

I double majored in Math/Comp Sci. I took a lot of logic courses, Diff. Eq., etc. The benefit is really understanding how all the numbers work so you can find intelligent methods of calculating things, instead of simply brute forcing your way through it all.

I usually thought of it as the difference between learning how to program vs memorizing a bunch of useful code snippets and how to translate them to different languages.

Firssssssssst Posssssssssst (-1, Offtopic)

Anonymous Coward | more than 9 years ago | (#9063095)

Fist pIst!

I recommend (4, Informative)

NixterAg (198468) | more than 9 years ago | (#9063098)

Let's assume that you are well versed in Trig and Algebra (you should have learned them both in HS). Take, at minimum:

Discrete Mathematics (some call it Applied Mathematics)
Calculus
Number Theory (Cryptography)
Linear Algebra

I have a CS degree with a math minor and have been completely surprised at how often I've used the math portion of my education in the workplace. I'd recommend taking a good mathematical modeling course as well, as it typically offers a great mix of math, engineering, and CS.

Not hard to calculate 2xEbay items @$10.00 (1)

nmoog (701216) | more than 9 years ago | (#9063099)

In the olden days programmin' was about numbers - now its all about strings. You really dont need much maths to write a shopping cart applications, or a "content management system" or something equally as boring.

Programs are math (4, Interesting)

aim2future (773846) | more than 9 years ago | (#9063100)

As with many things you do, you can do it quite a while without getting heavily into math, but when you deepen yourself you have to understand math and master it to a certain extent. For several years I did quite a lot of sw development without really using math, but when later starting my PhD I would have been lost without math. Programs are math. Every program can be converted to lambda calculus which is a mathematical expression form. Programs are art, as well as math can be seen as, and... programs are literary work. A certain story or idea can be expressed in many ways, without changing he actual idea behind the program. This is also the reason why software can not and should not be patentable, as it is now within USPTO (due to an old mistake...).

Computer Science isn't programming. (1)

Mikesch (31341) | more than 9 years ago | (#9063102)

If you're majoring in CS, the major isn't really about programming. Math and logic help for some programs you'll end up writing, but they're a lot more helpful overall for studying algorithms and the rest of CS.

Programming is the same to CS as learning how to use lab equipment is to chemistry. Helpful in studying fundamentals, but far from the point.

I did both (1)

Xiaotou (695728) | more than 9 years ago | (#9063103)

I have BS degrees in both CompSci and Math, an MS in CompEE and am finishing an MS in Math. I work as a SW Dev doing image processing. For me, Linear Algebra and a little bit of probability are very useful, sometimes on a daily basis.

Of course, someone doing Financial stuff, for instance, would probably really need some DiffyQ and more calculus. Since all of these are mentioned in the article, I'd have to agree with the author.

Oh, and knowing more math than my boss is terribly handy for getting out of those long, boring hallway conversations. After a certain point, I just start bringing up quaternions and rotaion matrices, and voila! Meeting's over!

Well for my Undergrad (1)

ajiva (156759) | more than 9 years ago | (#9063105)

I went to CalPoly San Luis Obispo (http://www.calpoly.edu/) and Computer Science was in the College of Engineering so we had to take the same Calculus and Physics classes as the other engineers, not to mention tons of theory classes. This on top of the normal programming and general education classes. Did these classes help me to become a better programmer? Definitly, by helping me to expand my critical thinking to include more than just "how to code". I think that any CS person that DOESN'T take at least a few classes of some high level math is just hurting themselves.

CS != programming (1)

bigox (158657) | more than 9 years ago | (#9063106)

Let's be clear here. Computer science is science, not engineering. When I got my degree, there were no programming classes. Any monkey can learn how to program, and many dropped out just to do that. But, please don't say that computer science is programming. That's like saying sugery equates to cutting meat with a knife.

You don't need much maths to program (0)

Anonymous Coward | more than 9 years ago | (#9063111)

I don't know about anybody else, but I never use more than basic algebraic skills whilst programming. Saying you have to be strong at maths to be a good programmer is a myth as far as I am concerned. Algorithms and data structures rarely contain any complex maths and are more about understand how many simple actions work together to create something useful. I'm not saying learning maths won't help in any way, but I think it is very overrated. There is little maths behind most programs and they are more about program state, how it is transformed and control paths. If you actually need some sort of complex maths to solve a problem, the work will already be done for you in text books and you will just have to implement it.

Computer Science is More Than Programming (1)

william_lorenz (703263) | more than 9 years ago | (#9063112)

Computer Science is so much more than programming. Artificial intelligence, complex adaptive systems, learning algorithms, efficient distributed systems, systems, usability, algorithms and computability, image and pattern analysis, scientific computing, and more. A good computer science student will have the mathematical background to be able to work with any information in an efficient and intelligent way.

Recollections of an Old Fart (0)

Anonymous Coward | more than 9 years ago | (#9063113)

Did my CS Major in the 80's (crank the INXS, please)

- Calculus, calculus and more calculus
- Linear algebra
- Discreet Structures (which was basically advanced trig)

Calc I was the ball-breaker ; I seem to recall taking 5 pages of notes on my first day of class - even before the syllibus was handed out. Only "D+" I ever got in college. Bell curve was such that if you could pull a 50 on a take-home test, you passed with a 'C'. However, this made Calc II and III easier. Go figure.

The reason we take math... (3, Insightful)

baudilus (665036) | more than 9 years ago | (#9063115)

Most people don't ever use mathematics much more complicated than basic arithmatic, so why do we have to take it in school? Math isn't about math; it's about thinking. Complicated problem teach impressionable young minds how to tackle problems logically, using what you know to be true to determine what you do not. I happened to love it (of course), but a lot of kids were always complaining about how they were never going use Modus Ponens in life. Turns out they were very wrong...

Pretty much everything for EE.... (1)

nathansu (777156) | more than 9 years ago | (#9063117)

I'm a CS major in my Junior Year. We are expected to take pretty much all of the Math EE majors take which is all of the Calc Series (I-III), DE, Linear Algebra, the Physics Series (I-III) and other Engineering related Math. It's quite related to CS so if your looking to get into a degree program without Math, I wouldn't reccomend it because if you ever do grad work in CS/want to be well rounded, you will need some of this math.

18 credits (3, Interesting)

mjh (57755) | more than 9 years ago | (#9063119)

For my BS in Comp Sci (1992 U of Wisconsin), I had to take 18 credits of math, and achieve a B average in those courses. The 18 credits comprised:

Calculus 1: 5 credits
Calculus 2: 5 credits
Calculus 3: 5 credits
Matrix Algebra: 3 credits

Although the University offered minors, my college (the college of letters & sciences) did not. If they had, I would have taken the remaining two credits in order to get the minor in math.

IMHO, the assistance that math has provided me has been invaluable in my career. NOT because I use calculus on a day to day basis, but because it forced me to develop critical and systematic thinking skills. And THAT has been invaluable. At the time I hated it, but in retrospect it was really good.

$.02.

DSP (1)

bsd4me (759597) | more than 9 years ago | (#9063125)

I have a degree in CMPEN. I took three semesters of calculus, one semester of differential equations, and one semester of linear algebra. Several CS classes could classify as math, such as discrete math and some of the more theoretical ones (automata, lamba calculus, etc). Some optional courses can include numerical programming and numerical analysis.

I did DSP and digital communications simulation for a long time. Without a very firm grasp of math, you are not an effective programmer in this field. Most people who don't really understand DSP and digicomm, both theory and implementation, can trace their problems down to the math.

math list for CS around here (1)

deuce868 (673251) | more than 9 years ago | (#9063126)

Discrete
Calc 1-3
Probability and Statistics
Diffy Screw
That was what I had to take I think.

CS != Programming (1)

Peyna (14792) | more than 9 years ago | (#9063127)

Maybe only 1/4th of my CS classes involved programming projects outside of the introductory courses, and in those courses the programming aspects were just to test what you learned more than anything. You were expected to learn how to program on your own time.

This article is for PHD students (0)

Anonymous Coward | more than 9 years ago | (#9063128)

HEy , why on earth would a typical computer science student require mathematical skills

I would be hapy if they had added Logical Skills

Besides ,unlesss you are in Research , jobs like sys admin , programming , DBA , etc dont require math very much.

Math and CS are different things (1)

superpulpsicle (533373) | more than 9 years ago | (#9063131)

I came from the same CS/MIS disipline, and honestly math and CS do NOT go hand in hand.

For some reason people think CS needs calculus and differential equations and a whole lot more to get by. Listen to me.... you use calculus to find the derivitives of a curve. If you're a CS major you don't need freaking calculus, your typical windows box can solve it for you. And if you can't figure how to calculate numbers with a computer, you shouldn't even be a CS in the first place. Go ahead gimme the -5 troll for being upfront and honest with my 4 year experience.

Philosophy also good (2, Interesting)

catherder_finleyd (322974) | more than 9 years ago | (#9063132)

I have found that Philosophy, especially Logic, is also very applicable to Computer Science. It has been especially useful in relational database design and development.

CS = Math (3, Insightful)

Dana P'Simer (530866) | more than 9 years ago | (#9063133)

The SCIENCE of programming requires math. The art of programming may not. There is a distinction. That is why the lawyer in the next office over from me was able to put together a fairly good system to manaage his office and case load in a 5GL but couldn't truley understand the difference between a quick sort and a bubble sort. Of course, almost no one writes sorting algorithms any more. If you are writing a program that utilizes mathmatics to accomplish a goal ( e.g. the matrix algebra used in 3D graphics development ) it is not the programming that requires the math it is the problem space. The thing to remember is that, in a way, when you are studying computer science you are not learning how to program you are learning how to learn to program. Now and Information Systems degree would be more about learning to program and leaving it at that.

Calculus Required But Unnecessary (1)

XopherMV (575514) | more than 9 years ago | (#9063136)

The amount of math you actually need is really minor. My school required calculus just to get into CS. However, we never used it. Algebra was the highest math most classes required. The closest I got to higher-level math was in 3D graphics working with vectors and matrices.

Requiring calculus for CS majors is unnecessary. I think the schools use that to only weed out candidates. Considering this, I imagine schools will now remove this requirement since less students overall are entering as CS majors.

Before everyone says the sky is falling, I don't necessarily think this is a bad thing. I certainly haven't used any calculus while doing professional development. So, why we require it of undergrads is beyond me.

Re:Calculus Required But Unnecessary (1)

mrtroy (640746) | more than 9 years ago | (#9063208)

My school required calculus just to get into CS
You never took calculus in post-secondary?

That might be your first sign that your program is not top notch.
The second is that you think calculus for CS majors is unnecessary, because you need it for a variety of things.

CS != Programming (0)

Anonymous Coward | more than 9 years ago | (#9063138)

Computer Science is just that, the science of computation. Algorithms and stuff. Of course maths is necessary. In my degree we had 3 years of statistics/queuing theory, and one year of calculus.

People complained about it. They thought that computer science meant PHP programming and a bit of Java. Hence the very high (almost 50%) drop-out rate after first year!

Programming is easy, computing is a challenge.

Some math is Useful (1)

xTMFWahoo (470364) | more than 9 years ago | (#9063142)

The most important classes I took were Discrete Mathematics 1 and 2 which covers predicate logic, number theory ect and Algorithms which is useful in programming.
I'd say Calc 1,2 and 3, Differential Equations are of no real use.

Bah... (1)

D-Cypell (446534) | more than 9 years ago | (#9063143)

During my time at schoool, I was told by a careers advisor that to become a software developer I would require at least an A-Level (Im not sure of the US equivilant) in Maths.

A-Level maths covers subjects like calculus and imaginary numbers.

After 5 years of professional software development, I cant remember one time where I have needed this level of mathematics.

Now a business course, that would have been useful, some kind of analyst training would have been ideal, but advanced maths.... definatly not.

Im sure there are exceptions in the development world, I figure those doing 3D simulation would require a basic grasp of newtonian physics, and there are obviously scientific systems that would require a bit more knowledge, but even for the fairly advanced finacial systems I have worked on, the most that was required was some floating point aritmatic and percentage calculation... and thats what the computer is for anyway!

as a recent cs major... (1)

miseryinmotion (615385) | more than 9 years ago | (#9063145)

I've found that the mathematics courses required are a bit more than what I expected. The article certainly states the current situation with most colleges and universities requiring more math courses, something I wish I had a better idea of when signing up and scheduling my first year. The idea that programming doesn't require math is sadly prominent in most of the mindsets of students around here.

Yeah, I just did my scheduling for next semester, with Calc II set up for an 8 am course...

"calculus III is slightly harder than calculus I but not nearly as hard as calculus II"

Yeah, that's just GREAT news to hear.

Logics (1)

condensate (739026) | more than 9 years ago | (#9063146)

I think maths as such is not really an issue when it comes to programming. I mean, anybody can read about a certain algorithm or ways to derive a function most efficiently and so on. What does matter is the way you think. A computer is pure logics and that's the principle underlying mathematics. If you want to learn structural thinking, then basic mathematics are indispensable.

So I would suggest some basic knowledge in algebra (the part of maths that deals with collections of mathematical items, fields, groups, equations...) which lies at the very heart of maths. Then, some calculus to round it off (just in case someone wants you to calculate an integral...) and a little statistics (suppose you want to write analytical software). The real geeks might want to learn about number theory, too, but mainly for academic purposes (i.e. for fun). If you know your basic math, you can easily develop into other parts.

This is the programming part. I agree that if you just want to do web development, then the above seems questionable.

Anyway, where I studied, the department of computer science teaches the above subjects to students who want to obtain the bachelor. But as they grow, I observed that they do not really know much about maths...

Think!!! (2, Insightful)

jmac880n (659699) | more than 9 years ago | (#9063147)

More than anything else, higher math teaches you how to solve problems.

How to approach complexity step by step and break it down into manageable pieces.

How to deal with abstraction.

How to THINK.

Anyone who is an accomplished programmer will appreciate these skills.

It is by no means the only way to learn this, it just seems to work. If you can master higher math, you can usually pick up programming.

Well it all depends (2, Informative)

mrtroy (640746) | more than 9 years ago | (#9063151)

First I just want to say that computer science programs are not all created equal. There are definately less schools who teach it well than those who dont.

Now for math, personally I was required to take a fair number of courses during my first and second year. While I didnt find it all relevant to CS, there definately are reasons to take math courses to help you in CS. Proving runtimes is mainly math, encryption is mainly math, etc.

Also, I just want to make a note that CS != programming. You take a 4 month course to "learn to program", and you take a 4 year program to begin learning computer science.

Math/Comp (1)

JosKarith (757063) | more than 9 years ago | (#9063157)

I started a Math/Computing joint degree course, and talking to people on both sides I worked out that there was about a 1/3rd overlap between the courses.
Course this meant I ended up doing 4/3 of a degree. Which didn't sit well with my plans of having a social life so something had to give.
My point is that there is always going to be a level of overlap - maths goes a lot easier if you know how to get a machine to crunch the numbers for you, and computing studies need a certain level of numeracy.
Oh, and set theory is just bloody essential if you end up anywhere near databases.

Computer Science AND (3, Insightful)

NotWallaceStevens (701541) | more than 9 years ago | (#9063159)

The rest of the world is filled with mono-educated outsourcing fodder that have crammed a narrowly-targetted CS education into as short a time as possible, memorizing syntax and call center protocols. The best possible insurance of future employability for someone considering CS is to add something else to your curriculum to expand your horizons. Math is certainly one likely candidate, but some other excellent combinations are CS and Music, CS and the Humanitites, CS and Foreign Languages, or CS and English. The suggestion is somewhat counter-intuitive. Most CS majors will frown on your interest in the Humanities. Exactly. Set yourself apart. Study what you are interested in, distinguish yourself from the pack, and seek an advantage through challenging, broad study.

Short answer: NO (1, Interesting)

aardwolf204 (630780) | more than 9 years ago | (#9063162)


I've never been one for math, specifically algebra. You see, before I had the opportunity to take algebra in middle school I had been programming with QBASIC. Having no formal training in Basic I ended up coming up with mathematical solutions using crude loops, variables, and goto statements. Not kosher programming now that I look back but so what, I was 12. When teachers tried to "teach" me algebra I felt like I was being unlearned. Most of the times I just scripted up some basic to help me with the homework.

Years later my high school offered a C++ class so being the geek I am I tried to get in it. Unfortunately the pre-requisites for the class were kind of high including algebra 1, 2, geometry and calculus. Like I said, I was never one for math, but programming i could handle. This was the teachers first year teaching C++, prior to that he was teaching QBASIC. When he rejected me based on my lack of pre-requisites I threw together some quick basic using RND, some colors, circles, and a few system commands to make it look pretty. The teacher let me stay and I got an A in the class. I may not have used the same formulas as the other kids in the class (They were Nerds, I was a Geek ;-) but that was no problem once I found nested while loops.

Ok, so I may have actually stunted my growth in mathematics and developed bad programming habits (I dont need no stinkin XOR, I'll do it the hard way) but today I'm working as a web developer and use PHP all the time without problems (and yes I turned globals off, use sessions, and actually think the security through when doing DB stuff).

Just my $0.02

linalg and physics a must for graphics (2, Informative)

zer0mass (678722) | more than 9 years ago | (#9063165)

Inorder to do anything useful with 3D graphics, you will definitely need knowledge of linear algebra. Whats important for CS students is the application only, but understanding the theory is always a definite plus. Also, an aptitude for physics is also very important inorder to simulate reality. You may want to check out 3D Math Primer for Graphics and Game Development by Fletcher Dunn.

no math necessary (1)

avandesande (143899) | more than 9 years ago | (#9063173)

Unless you are doing stuff with finance, you will almost never encounter any 'higher' math if you end up doing programming in the business environment.

If you want to use your head get involved with actuarial science or with bioinformatics. I am sure that there are other fields I have missed.

Chemistry? (1)

fudgefactor7 (581449) | more than 9 years ago | (#9063178)

Ok, I looked that the course listing, and everything looks ok to me, but chemistry? Can anyone explain why that's in there? Physics, Calc, those make sense...but chemistry?

UCSB requires... (0)

Anonymous Coward | more than 9 years ago | (#9063185)

At UCSB [ucsb.edu] you're required to take 5 quarters of math for Computer Science and 4 quarters for Computer Engineering

Combinatorics (1)

Safiiru (24501) | more than 9 years ago | (#9063187)

I didn't see this mentioned in the article or in the comments so far, but I've found combinatorics to be very applicable to Computer Science. It's even crosslisted with CS at my school, along with discrete math and a few other courses. If taught well, a combinatorics course can give you a lot of insight into why certain problems in CS get approached the way they do.

Speaking as a Math and Comp Sci double major (5, Insightful)

nebaz (453974) | more than 9 years ago | (#9063193)

I find that the math courses I took in college had about as much relevance to the comp sci courses I was taking as the comp sci courses themselves had to the actual work I do as a computer programmer.

On the one end of the spectrum is pure theory, and proof, and on the other hand, we have complete practice, and "get it done now".

Math is a great theoretical background for computing, and made some of the algorithmic courses a breeze.

Ironically, I found the proofs in algorithms classes an attempt by computer scientists to say "see, we are a real discipline, we do proofs too", but I found that I wanted the CS courses to be a counter to all of the proofs and theory I got in my math courses. I wanted some "hands on" learning.

Once I got out in the real world, especially with languages like Java, even the CS theory/practice (this is a hash table, now write one), I found that most of the data structures/algorithmic stuff had been written and I just filled in pieces.

Where am I going with this? I guess basically that math is useful for comprehension in CS classes, but depending on the programming you do, you may not even use the CS you learn in the real world, let alone the math. But understanding is good.

Computer Science is Applied Mathematics... (1)

SocietyoftheFist (316444) | more than 9 years ago | (#9063195)

Just like other fields of engineering and science. Sure you can write a program without knowing much math but you can work on a car without knowing how to design and implement an internal combustion engine too. It's kind of like trying to compare the ASE certified tech to the engineer at the car company.

At the U of Iowa in 2001... (1)

PoderOmega (677170) | more than 9 years ago | (#9063198)

The math requirements to get a B.A. in Computer Science you must take Calculus I and II Linear Algerbra Discrete Structures Algorithms For the B.S. You need those classes plus 2 advanced stats classes.

Only one problem with that article: (4, Insightful)

Otto (17870) | more than 9 years ago | (#9063205)

From the article:
If you have the chance to take calculus in high school, I may surprise you with my advice. I would not automatically jump at the opportunity for a couple reasons. Please forgive me as I climb onto my soapbox, but keep in mind that I am a math teacher and I know a lot of this from experience.

First, high school calculus teachers tend to be the teachers in the math department the longest. The problem with this is that while these teachers are more experienced, they have been away from calculus longer than the other math teachers in most cases. Besides that, these teachers are often near retirement and may not be as motivated as younger teachers.

Second, calculus is the upper-crust of high school math. In college, it's one of the lowest math classes offered. This results in a completely different teacher mentality. A college calculus teacher will be used to working with struggling students because for many of them, that is the toughest class they will ever have to take. But high school calculus teachers will be more used to working with the top students in the school. If you aren't especially gifted in math, you may find that you don't get what you need from these teachers.


Here's the problem with those ideas:

1) In Calc I in HS, you're looking at a class of 30 people. 50, max. In Calc I in college, you'll likely be in a class with something on the order of 100-200 people. See, *everybody* takes Calc I their first year, not just the comp. sci's. All engineering majors, all the math geeks.. Hell, even English majors probably have basic math as a requirement... So most of the time, it's a big class, usually a seminar type of deal. If you're having a hard time with it in there, then you'll also likely need to take another not-for-credit class where they can give individual instruction or take some extra tutoring on the side. Whereas in high school, you've not only got a smaller class, you've got an experienced math teacher, who likely knows his stuff, and you've got a year to learn it as opposed to 1 semester only. Okay, so the HS teacher may be less motivated, but you've got a longer time period, a smaller class, and you're in that class with the top students in the school (who can probably help you out somewhat) instead of in there with everybody in the whole school (who likely need just as much help as you do).

2) Yes, calculus is the upper crust of high school math. It's also a heck of a lot easier than a college level math class. But here's a thought: The high school class doesn't usually count towards your college GPA, while the college level one does. What's so bad about taking it twice? Take the high school calc if you can swing it, then take it again in college. You may still have a hard time in the college calculus, but it'll be somewhat easier because you've got at least some background to it already.

Wrong question (2, Insightful)

acidblood (247709) | more than 9 years ago | (#9063206)

Does programming really have that much to do with math?

I think the question that should be asked instead is `Does computer science really have that much to do with programming'? I mean, I'm graduating in EE this year and I sure didn't choose this major because I wanted to learn how to solder -- that's the technician's job, you know.

I repeatedly question the reasoning of others in becoming a CS major if all they want to be is a code monkey.
Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...