Terrible in math, is CS right for me?

henz0

Weaksauce
Joined
Jun 14, 2009
Messages
68
I'd really love to major in computer science, but I suck in Math

Should i go for it, or am i already doomed?
 
I would say no. I struggle in math as well. I went for an Information Science and Systems degree. Its half math, half business. It worked out for me.
 
Do Networking, most math youll do is subnetting, maybe see a few formulas for cryptography depending how deep you want to get into it.


I suck at Math also and networking is what i always wanted to do so it is working out good for me.
 
You're doomed.

The skills and brain wiring that make someone good at math are the same skills that make people good engineers.

Either learn math and learn to enjoy doing it or find another subject.
 
Most schools are going to require differential and integral calculus (though I'm unsure about multivariable), linear algebra, and some sort of discrete math class at the very least, so you'll need to be able to pass those if you plan on doing computer science.
 
What draws you to computer science that makes you want to major in it?

It's very math heavy - if you actually find it interesting you should do fine, or at least okay, though if you can't get past the basic math courses they require (mainly, lots of calculus, discrete math, and perhaps things like probability and linear algebra), then you will know pretty early on if you can cut it in the major. Then as you continue, you will learn things like language theory (grammars), computability theory, algorithm analysis and complexity theory, computation theory...etc. It's pretty fun, if you're a math theory oriented person.
 
Last edited:
As others have suggested, consider some kind of IT-focused degree instead.

CS is basically all math. The programming aspects of it are just after thoughts, e.g., ways to implement the math. Being a good programmer and being a good computer scientist can be mutually exclusive.
 
it can be done; my wife did it. she liked coding enough to stick with it after she failed some calculus class along the way and a physics class (twice if memory serves). it was a problem, but some of what factors in is how many other problems do you have (working full time while in school, personal drama, problems with other school courses). For her it was just a problem with math, and she spent a lot more time studying and retaking a couple of courses. definitely helped to really like coding; i doubt she'd have stuck with it otherwise.
 
You will need to do a lot of math. If you can get through it, it's probably worth it if you enjoy programming.

If you're an object-oriented programmer modeling business processes (most programmers) programming is more of an art. Most of your work is properly modeling, encapsulating, and identifying key parts in a process that you're going to automate or create. People that are very logical/math-oriented are almost universally bad at this when they begin because they try thinking like a computer to solve the problem rather than trying to assess the problem domain. This is why you see a lot of really bad obfuscated code from typical nerds and math-heads.

If you're an algorithmic programmer, embedded device programmer, or want to work on games, almost everything is math.
 
For programming, it's not really about doing math, but more like thinking mathematically.
As someone pointed out, all the skills for being good in math is necessary to be good in programming.

Some are able to get around the math requirements if moving into a programming job after getting a non-CS/CE/Math degree, but you can't get around math if you plan to get a CS/CE degree.
The core-curriculum revolves around advance mathematics (college-level, none of that elementary algebra stuff).
 
at my university you had to take
the entire 3 course calculus series, 3 discrete math courses, multivariable calculus, differential equations, linear algebra, and one other upper division math course. The CS classes for the most part were pretty forgiving as walking through the math you should have already known.

depending on what you're doing you can do good programming without being good at math but either way its going to be difficult to get through all those math classes without being good at it
 
If you decide to take on a CS degree with being weak in math... here is my advice.

All the math courses you'll be taking while in a CS program is based off Calculus, in one form or another. So I recommend that you pay attention and learn calculus well.

Calculus actually gets easier as you progress...
Calculus I, imo, is the hardest as it tries to break you from the elementary math you are accustomed to.
Calculus II is just a continuation of Calculus I, if you are skilled in Calculus I then Calc II should be a walk in a park.
Calculus III/Multi-Var is just a revisit of Calc I and II, but using multiple variables. It's really the Calculus you want to master.
 
Are you already in college? I would say go talk to a CS advisor and see what they offer. I suggest this because my college offers a BA in CS which is most of the programming/computer classes with the highest math being Calc1/Discrete 1. I'm still taking the majority of the CS classes that the BS majors are but instead of math I get to take some humanities classes (humanities = hot chicks and easy classes which is a nice break from the hard upper level CS classes). I still get all of the computer knowledge but less math.

I have 4 more semesters to go before I graduate and I have never used any of the math I've learned in any of the programs I've written. My advisor put it this way: The math in the BS degree is focused for people who go into heavy math oriented programming (working for NASA or something) but the BA is focused on someone who is more into regular program development.

Either way, check to see if your school offers this kind of program, it seemed perfect for me.
 
You will need to do a lot of math. If you can get through it, it's probably worth it if you enjoy programming.

If you're an object-oriented programmer modeling business processes (most programmers) programming is more of an art. Most of your work is properly modeling, encapsulating, and identifying key parts in a process that you're going to automate or create. People that are very logical/math-oriented are almost universally bad at this when they begin because they try thinking like a computer to solve the problem rather than trying to assess the problem domain. This is why you see a lot of really bad obfuscated code from typical nerds and math-heads.

If you're an algorithmic programmer, embedded device programmer, or want to work on games, almost everything is math.

This pretty much sums up my opinion on the matter. I'm decent at math (pulled mid 80s in highschool, including calculus, statistics) and I did an Information Systems degree. My university had one class in statistics, which was a relatively easy 85%. I have not taken any math beyond that (although I certainly plan to within the next 2-3 years), and with the exception of one internship working on embedded devices, I have not explicitly needed to know any of the mathematics a computer science student would know.

If you really enjoy programming, you might reach a point where you want to learn the underlying mathematics, and figure out things like big O notation, vector math in 3D space, matrix math, etc etc because you want to do something in code that requires these things. Without a good textbook or learning resource, this stuff can be hard to learn.
 
Are you already in college, still in HS, or starting college in the fall?

When you say you suck at math, what exactly do you mean? Do you have problem with arithmetic or do you have problems with logic/proofs (geometry class?)?

What makes you want to major in CS? What do you think CS is? Where do you think it'll take you?
 
In addition to the other courses mentioned:

You're probably going to be required to take algorithms courses that require proofs on algorithm complexity. Another reason if you can't handle math, not to do CS.

computers essentially only do math, but really fast and with abstractions to help them be friendlier to modern programmers.


You could look into another major and do applied programming in that field, but you'll still need math appropriate to the field. A friend of mine with physics and quantitative finance spends most of his day developing financial models in python or other languages despite not having a cs background. His math is far more advanced than what i learned in cs undergrad though :)
 
My university (Minnesota) required CALC 1 and 2, linear algebra/diff equations, and multivariable. In addition, you had to take Physics for Engineers 1 and 2. The Physics class was much tougher than the regular physics, and if you had poor math skills you were SOL. I was good at math and hated taking these classes. I'd check into what your university requires.
 
What draws you to computer science that makes you want to major in it?

Honestly? nothing at all.

I really want to get into Networking/Security but 9 out of 10 IT related job listings want CS degrees even though it doesn't pertain to the job.

Not having the degree now has screwed me over when it comes to getting employed.

I have multiple certs and employers could careless..they want a degree :mad:

Are you already in college? I would say go talk to a CS advisor and see what they offer. I suggest this because my college offers a BA in CS which is most of the programming/computer classes with the highest math being Calc1/Discrete 1. I'm still taking the majority of the CS classes that the BS majors are but instead of math I get to take some humanities classes (humanities = hot chicks and easy classes which is a nice break from the hard upper level CS classes). I still get all of the computer knowledge but less math.


Starting in the fall.

I decided to get most of the general requirements out of the way first before i jump into my major.

So i really won't be getting a taste of CS until my 2nd year of college.

Are you already in college, still in HS, or starting college in the fall?

When you say you suck at math, what exactly do you mean? Do you have problem with arithmetic or do you have problems with logic/proofs (geometry class?)?

What makes you want to major in CS? What do you think CS is? Where do you think it'll take you?

Start in the fall

All through Junior high & High school i struggled with basic algebra and geometry.

The highest grade i've ever got was a 75 :(
 
I have found that I have used quite a bit of math from my computer engineering more on the hardware side though. The main techniques being matrices to deal with systems of equations when doing circuit analysis and a little bit of integration/differentiation doing that as well. I will say I love math but I am not that great at it but I slowly made my way through the calculus gauntlet with repeating only 2 classes. It really comes down to how passionate you are at the field and also what area you're going to focus on because doing embedded stuff like me I use quite a bit of math still but its in a very particular areas of mathematics.
 
Honestly? nothing at all.

I asked because I wanted to see if it was actually the field of computer science you were interested in, or if it was some really specific thing. If you want to do networking and security, like a network engineer or network security, you probably want to do something like information science or MIS, both of which will be less math intensive.

If you did the CS, you could enjoy it, or you might change majors once you find out what it's really like.
 
Honestly? nothing at all.

I really want to get into Networking/Security but 9 out of 10 IT related job listings want CS degrees even though it doesn't pertain to the job.
If you don't know why you're going to do something for the rest of you're life, you're making a mistake regardless of your aptitude for mathematics. If you don't know how CS applies to networking, then you're making your decisions based on an ignorance of the fields in which you say you want to work.
 
If you don't know why you're going to do something for the rest of you're life, you're making a mistake regardless of your aptitude for mathematics. If you don't know how CS applies to networking, then you're making your decisions based on an ignorance of the fields in which you say you want to work.

What i meant was from a hardware pov

Isn't CS mostly software related?
 
The thing is you don't really need to be good at math to be good at computers. Just go for a college CS program and not a university one. College will be more applied and most likely have less math. (of course, look all this up when choosing, courses vary) Computers DO the math for you.

Just for some background, I struggled in math most of high school. I failed grade 11 math and retook it in summer, I somehow passed grade 12 calculus even though it was through video conference... think the teacher was generous and realized this situation was hard for all of us. I struggled through college math (similar to HS math, not much more complicated) but passed. My CS program had 3 math courses (continuations) and that's it.

Now I'm a server tech and take care of a whole hospital - about 50ish server VMs on an ESX cluster. I do not use any math on the job, other then very basic math like making sure there's enough room on the undersized SAN they bought. :p
 
What i meant was from a hardware pov
So you're interested in implementing network hardware, like routers and switches? Yes, CS applies. Or are you saying you're interested in wiring and installing networks using equipment bought off the shelf and following a plan made by others? Nope -- not much CS in that.
Isn't CS mostly software related?
Without hardware, software has nothing to do. Most non-trivial digital hardware implementations are either embedded systems or in-silicon implementations of software algorithms, and this is particularly true in the domain of computer networking.
The thing is you don't really need to be good at math to be good at computers.
Depends on what you mean by "good at computers".
Computers DO the math for you.
Of course, computers don't know which math to do without help. That's where you, the user, comes in. Someone who is not good at math is probably also not good at abstract reasoning. That person is also unlikely to know what math applies to the problem they're trying to solve, and is therefore unable to articulate a mathematical model for their problem. As such, even the fastest computer won't help them.

Now I'm a server tech and take care of a whole hospital - about 50ish server VMs on an ESX cluster. I do not use any math on the job, other then very basic math like making sure there's enough room on the undersized SAN they bought. :p
What does your job have to do with Computer Science? If "deleting a few files once in a while" is what you're qualifying as "good at computers", then you're right -- you're not going to use any math beyond what you [should have] learned in third grade.

On the other hand, imagine how much better off your employer would be if you were prepared to write a script that helped manage the file usage on the SAN. Or, if you were articulate enough to explain that spending a few thousand dollars on additional storage each year would cost far less in the long run than whatever fraction of your salary is spent manually managing the size of the file system -- as well as the time wasted by users waiting for space to become available.
 
Last edited:
depends if you are thinking of hardware as "assembly" or "design".

Plugging components into other components is assembly.

Design of hardware, design of electronic devices, is very much involved with programming. You'll often have to program firmware for chips that often have bizzare chips and instruction sets.

What i meant was from a hardware pov

Isn't CS mostly software related?
 
In other words, you are a technician.

OP If you want to be an engineer, you will have to use math, and you will do it often. If you want to be a technician, then you can listen to Red Squirrel.

Also, computers do not do math, they do calculations. There is a difference.

The thing is you don't really need to be good at math to be good at computers. Just go for a college CS program and not a university one. College will be more applied and most likely have less math. (of course, look all this up when choosing, courses vary) Computers DO the math for you.

Just for some background, I struggled in math most of high school. I failed grade 11 math and retook it in summer, I somehow passed grade 12 calculus even though it was through video conference... think the teacher was generous and realized this situation was hard for all of us. I struggled through college math (similar to HS math, not much more complicated) but passed. My CS program had 3 math courses (continuations) and that's it.

Now I'm a server tech and take care of a whole hospital - about 50ish server VMs on an ESX cluster. I do not use any math on the job, other then very basic math like making sure there's enough room on the undersized SAN they bought. :p
 
Security but 9 out of 10 IT related job listings want CS degrees even though it doesn't pertain to the job.

Then find a program that focuses on the sorts of things you want. 9/10 job listings is written by an HR drone that doesn't know the difference between an algorithm and logarithm. If you have a degree that looks like it's related to computers, you'll get through HR.

There's very little standardization WRT to computer-related degrees in the US - you have to actually look at degree requirements and course descriptions to figure out what you're actually going to get out of any particular program.
 
What does your job have to do with Computer Science? If "deleting a few files once in a while" is what you're qualifying as "good at computers", then you're right -- you're not going to use any math beyond what you [should have] learned in third grade.

On the other hand, imagine how much better off your employer would be if you were prepared to write a script that helped manage the file usage on the SAN. Or, if you were articulate enough to explain that spending a few thousand dollars on additional storage each year would cost far less in the long run than whatever fraction of your salary is spent manually managing the size of the file system -- as well as the time wasted by users waiting for space to become available.


We do that stuff all the time, the IT manager is always asking for all sorts of reports, but that's very basic math, well it's not even that much math, it's more SQL. All the crap I learned after grade 7 is totally worthless for every day tasks. It might be useful for people that work for Nasa, but even then, there are people like me who probably write their programs that do the work for them.

I can hire a contractor and give them a house plan and have them build the most kick ass house, and not know all that much about construction, codes etc. The contractor will do the work. Same idea here, I can suck at math, but I can tell the computer what I want (through code, or through premade software) and the computer will do it. Basic math knowledge helps so I know what I'm looking for as a result, but I don't need to be a math genius.

Math may help, but I would not say it's essential.

Computer science is more likely to land you in IT, then anything else. Game developer, working for Google or Microsoft, or being a high end manager, making the NHL etc are all dream jobs, like people who want to be an astronaut. Don't aim straight for that.
 
Computer science is more likely to land you in IT, then anything else.
This simply isn't true. You work in the field you decide to work and where your experience and aptitude suggest you should. People aren't victims of their degrees; the degree doesn't pre-determine their employment opportunities.
 
If you start in CS because 'you like working with computers' or you 'enjoy programming' you may be in for a rough ride. That is what I did (hey, like most people really know what they want to do when they just turned 18!). Anyway, I hated it at first. And I did pretty poorly. However, I eventually came to like it and do really well. If you think you can tough it out I would give it a go.


I mean if it can work out for me, I am sure it can work out for you heh. I remember on the ACT I scored in the 99th percentile on every section except math. I was somewhere in the 50s there I think. :eek: Though in my defense I hadn't taken Algebra 2 yet because... well I hated math. ;) Math gets a lot more fun at high levels. In high school it all seemed like stupid busy work to me. So I just said screw it and went and hung out with friends, doing just enough to pass. When I (slowly and painfully given my past... and a freshman year of parrying :/ ) got into higher level math I started to like it.
 
Math is incredibly important. What really opened my eyes was taking linear algebra and numerical methods. After taking those classes, it's as if I can model anything on a computer now. Sure, I've known people who program and they claim that they "never use math", which I can believe to a certain extent. But at my internship at a gaming company, I've already had to do some simple algorithm complexity analysis and some combinatorics. It wasn't that it was absolutely necessary to do, but it sure as hell was useful since I knew much more about what the potential solution entailed in terms of performance.

Math really isn't that hard, people just tend not to spend enough time to truly master it and understand its uses.
 
Math largely can be inconsequential to your level of success/enjoyment in computer science. They are obviously related, but depending on the specific topic, not necessarily that closely. That said, you will have to bust your balls through the math to graduate.

I am not a math guy at all, in fact hated it in school, but knuckled down long enough to get my degree. Now as a developer, I'm free to forget about calculus (et. al) and think about code.

When asking yourself if CS is 'for you', think more in terms of the computer science and programming, and if it captures your interest, just go for it and worry about the math when you get there. If you're just doing it to appease employers, it may not be 'for you' (although you may choose to do it anyway). Read up on the courses you'd be taking and try to picture yourself studying the stuff on the list and how happy you'd be. Good luck.
 
I'd really love to major in computer science, but I suck in Math

Should i go for it, or am i already doomed?
+1 for doomed.

Traditional 4-year CS degrees are mostly math and very little CS. In fact at most universities you can get a double major in CS and Math by just picking the right electives and taking one or two more courses than you would need just for the CS degree.
Edit: I'd advise against a BA degree in CS, you are spending the time and the money, may as well get a real degree that will put you in front of the line ahead of the BA folks.
 
Last edited:
+1 for doomed.

Traditional 4-year CS degrees are mostly math and very little CS. In fact at most universities you can get a double major in CS and Math by just picking the right electives and taking one or two more courses than you would need just for the CS degree.
Edit: I'd advise against a BA degree in CS, you are spending the time and the money, may as well get a real degree that will put you in front of the line ahead of the BA folks.

Wasn't a choice for me, I just can't do any more math, I do the programming fine but the math was just too much, hence the switch. Just because its a BA doesn't mean its not a real degree, it just means I didn't take upper level math courses, if an employer can't see past that simple fact then I don't want to work for them anyways.
 
I don't blame you at all, upper level math never clicked for me either, all I am saying is that CS is a degree that on paper looks much better as BS than as BA. If the goal is to avoid the math then maybe a Computer Information Technology or some other IT related degree would be better than a traditional CS degree.

Historically CS is basically math because it's focused on algorithms and the curriculum was created at a time when 640 kb of memory was a lot. In today's workplace programmers can be a lot more "sloppy" because either the compiler will optimize the code, or the resource usage simply doesn't matter.

Depending on the application or the code no one in their right mind will spend weeks of payroll to make the app use a few kb less memory or a couple less CPU cycles. There are still areas where efficient code matters of course, and generally speaking there's professional pride to get things efficient and elegant, but then there's the real world which says: Ship it!
 
I don't blame you at all, upper level math never clicked for me either, all I am saying is that CS is a degree that on paper looks much better as BS than as BA. If the goal is to avoid the math then maybe a Computer Information Technology or some other IT related degree would be better than a traditional CS degree.

Historically CS is basically math because it's focused on algorithms and the curriculum was created at a time when 640 kb of memory was a lot. In today's workplace programmers can be a lot more "sloppy" because either the compiler will optimize the code, or the resource usage simply doesn't matter.

Depending on the application or the code no one in their right mind will spend weeks of payroll to make the app use a few kb less memory or a couple less CPU cycles. There are still areas where efficient code matters of course, and generally speaking there's professional pride to get things efficient and elegant, but then there's the real world which says: Ship it!

Yeah I know its not as good as a BS, but I might not even be going into the programming field. I am in a system admin class and it seems like a really great career because it mixes hardware (which I love), software, networking, virtualization and all that good stuff into one job. I don't know if its just that I love working hands on with computers (like we do in this class) or if its the actual subject material that we are covering (we are working on ESX right now) but it has really peaked my interest.
 
I would just like to chime in here and point out that those that claim to be terrible in math usually aren't. Instead, they have a deep fear of math which prevents them from truly focusing on their work. Get them past the fear, and they usually do just fine. In fact, in my experience, most people excel in math once you get them over the "I can't do it" fear.

So don't let your fear of math stop you from doing something you want to do. Although I will agree; sys admin is a far more interesting field than programming ( yes, personal preference ). You get to do programming as an admin, but a whole range of other things too. And take it from me; you will never be without work if you are good at your job. I would work 200 hours a week if it were possible, I turn away work because I simply don't have time for it.
 
I would just like to chime in here and point out that those that claim to be terrible in math usually aren't. Instead, they have a deep fear of math which prevents them from truly focusing on their work. Get them past the fear, and they usually do just fine. In fact, in my experience, most people excel in math once you get them over the "I can't do it" fear.

So don't let your fear of math stop you from doing something you want to do. Although I will agree; sys admin is a far more interesting field than programming ( yes, personal preference ). You get to do programming as an admin, but a whole range of other things too. And take it from me; you will never be without work if you are good at your job. I would work 200 hours a week if it were possible, I turn away work because I simply don't have time for it.

Thats what I'm hoping, as for the math thing I'm in a different boat than the OP. I'm about to be a senior and I've already tried math, and when I say I tried I mean that I put in an insane amount of time studying for my math tests and really tried and just barely passed the class, once I barely got by then I just decided to change my major. I'm going to talk to my sys admin teacher about possibly training at his company for a job as a sys admin or some lower position that I could work myself up into that position from.
 
I'm not good at nor do I enjoy doing any math beyond intermediate algebra, so I chose to go into IT/Networking rather than computer science.

Also, like Shadowsong, it fit me better because I enjoy working with and administering hardware, software, networking, virtualization, etc. The program I'm in only requires three math classes. I took the first one, tested out of the second one, and I'm taking the final one right now. Luckily, I get along well with the instructor from the first class, so he's helping me with this one via tutoring.

But for me, it wasn't just the math, it was also the courses, the material, and where I wanted to go with the degree. I would much rather be a systems/network administrator than a programmer, and I like working more hands on with hardware, software(usage), networking, and security than I do with with the tedium and the meticulous and frustrating nature of programming and coding.
 
Back
Top