Well first of all. I am pursuing my associates in CIS, and wanted to continue by getting a bachelors in CIS. The university I am able to go to(UWI*) does't offer that, instead it has MIS and CS. I have done one year of CS(CAPE*) before, and MIS does too little programming, so I will try for CS.

What I really want to know: how much of CS is math?? I am not very good at math, and the CS that I did before didn't have that much math and focused on a lot of program writing. Also, is it good to jump into CS when I'm not good at math?I see there aren't many math courses, but what about math integrated into the CS courses?

CAPE(http://www.cxc.org/examinations/exams/cape/list-subjects/computer-science)
UWI CS(http://www.cavehill.uwi.edu/fpas/cmp/ug_students.asp#comp_sci)

Any help is gratly appreciated.

Recommended Answers

All 11 Replies

You probably don't really know whether you're good at math. So I'm not going to believe you when you say you're not very good at it. (Actually, I might believe that you're not very good, but I won't believe you if you say you're not good at it.)

Are you good at programming? That's basically the only question which tells whether you can handle a CS program. And that includes the math parts (which are quite elementary).

Well the standard math course for my CIS course is a lvl 125, but i fail the placement exam and did 103. I got an F. i can do programming pretty well I believe, once I know the suitable functions and stuff, which I learn on my own. It's math outside outside of programming the I can't do.

If you can't even pass the easier math course, I don't see how you could be any good at programming or computer science. From what I can tell of your few posts on this forum, you do not have the aptitude for either subject.

From what I can tell of your few posts on this forum, you do not have the aptitude for either subject.

Zing!
I think you need a different way of looking at math rather than repeated exercises in a book that most likely explains concepts extremely poorly. Just spend some time on wiki looking at mathematical puzzles and maybe watch some khanacademy on the subjects that you can't grasp in your math class.
Although Rashakil may be right...

If you can't even pass the easier math course, I don't see how you could be any good at programming or computer science. From what I can tell of your few posts on this forum, you do not have the aptitude for either subject.

Well I can believe you in the math area, but I'm pretty sure i can do the programming parts of it. I pass all my programming related classes easily, losing if any, marks only in terms of theory such as the background of a language.

The posts that I put up are usually related to me learning bad practices from instructors or not knowing certain terms that the compiler uses.

I'll look through for different sources with math though. If it turns out later that I really can't do any programming well, then let it be.

Hmm.

In my experience, the practical fact is that you don't really need much mathematical ability at all to understand programming. You can even become quite competent and (dare I say?) successful with no more math education than basic high school algebra.

That said, here's another practical fact: Any and all mathematics you learn can be used when you're programming, and the more you know, the better you're going to be at writing software. This is especially true of game programming. Half of the benefit is just knowing the subject matter. The other half is the type of problem-solving thought processes that more advanced math requires.

My advice: You don't need much math to be good at programming, but truly great software engineers are also math nerds. You can learn to be a math nerd--push yourself to take as many math courses as you can, but stop before you get burned out. Even if the material doesn't seem directly relevant, you'll be training your brain.

A short list of recommended courses/topics for any aspiring software engineer: Symbolic logic, discrete mathematics, linear algebra, probability and statistics, number theory, cryptography.

More advanced topics, if you're up for it: Multivariable calculus, differential equations, complex variables, optimization, abstract algebra, abstract geometry, game theory, stochastic modeling.

A short list of recommended courses/topics for any aspiring software engineer: Symbolic logic, discrete mathematics, linear algebra, probability and statistics, number theory, cryptography.

Thanks. I am going through these. I know a bit of some of them from lessons so I guess that's good.

I'm not sure about the degree at your particular school, but I'm working towards my bachelor's degree in computer science at Purdue University (with multiple focuses on security and software engineering tracks), and my degree program requires math courses all the way up through calculus III, which is no walk in the park. That being said, you only have to pass the calculus courses with a C- in order to obtain a bachelors degree, but since I'm going for my master's eventually, I need to pass all courses with a B- or better.

So it really depends on your specific degree program at your university. Some schools (like Purdue and MIT) will have more stringent requirements as far as math courses go. Others (like Indiana University) don't place as high a value on math, and they only require precalculus for a bachelors degree in CS.

But even if you don't use all of the math you learn at school in your programming career (and I'm sure that 95% of on-the-job assignments for a computer science graduate will not require any knowledge of calculus), taking advanced math courses will help you a lot. Not necessarily the specific course material, but the process of challenging your brain to work at its full potential is an invaluable skill, especially in a job field such as computer science. As you learn new, difficult subjects, like calculus, you will be creating new neural pathways in your brain, pathways that your competition may not have.

You probably will not be asked to work multivariate equations on the job, but the fact that you CAN if you have to will give you a significant edge over other candidates. You will find that you are able to solve problems much more efficiently than someone who only took precalculus. And while the precal guy's brain will be working at capacity to solve the problem, you will only be using sixty or seventy percent of your available knowledge to solve that same problem. And when you come across that occasional assignment that requires 100% of your knowledge to solve, the guy who only took precal will be left in the dust, and you will stand out as someone who really knows his sh*t.

So, to sum it all up, no, you do not necessarily need to be a math whiz to be a successful computer scientist. But as with most things in life, more knowledge WILL generally translate to more success in whatever you're doing. So suck it up, study your a*s off, and take the math courses. You will be glad you did.

Well the bachelor's that I want to go after(the second link) requires only one mth course:Discrete Math, but I think I could do other math courses for electives probably. It's possible for me to jump directly from the bachelor's straight into the masters, but math is again my only problem.

I'll just wait till I get another opinion before i close the thread.

I've taken math all they way up into the 400 level. While I've never used it on the job, I can see where some programming being done would require that level of math. As the previous poster said, it hasn't hurt either :)

Six more math classes and I would have a BS in math also, but the head of the math department told me "don't get a math degree just to have one". I never should have listened to him :)

Well if i'm not going to be using it on the job itself, I may just do two extra math courses and maybe try a few other subject areas.

Thanks for all the answers.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.