Kuro5hin.org: technology and culture, from the trenches
create account | help/FAQ | contact | links | search | IRC | site news
[ Everything | Diaries | Technology | Science | Culture | Politics | Media | News | Internet | Op-Ed | Fiction | Meta | MLP ]
We need your support: buy an ad | premium membership

[P]
Computer Science for the Math-Intimidated?

By YelM3 in Culture
Fri Dec 15, 2000 at 09:22:00 AM EST
Tags: Help! (Ask Kuro5hin) (all tags)
Help! (Ask Kuro5hin)


I am a second-year Computer Science student, and I am facing geek performance anxiety. If you are a programmer, or an engineer, or an "IT Professional," you may have been through the academic crunch that I am currently facing. Maybe you can do what my academic advisor couldn't do and give me some solid advice. Perhaps this can help other students out there trying to finalize their major or career as well.


Rather than give you a detailed history of every computer I've used since I was five years old (which sometimes seems to be the standard "history" paragraph in some of the Who Are You posts I have read,) let me just say that I fit the profile of your average geek, give or take a little: I'm generally nonconformist with respect to most of my age group, I highly value freedom of information, I enjoy hacking Perl, and I substitute coding, reading, game playing, and IRCing for sleep far too often. When I'm not 8 inches from a CRT screen, I am either with my (non-geek) girlfriend, working on my car, going to class, or working at one of a couple campus jobs.

When I applied to my university, I chose Computer Science as my major because it seemed to be the broadest degree relating to technology. Computer Engineering was also an option, but most of my classroom computing experience at that point was with UNIX and C and I basically assumed that I wanted to be more in the software side of things. The school also offers some other degrees like Information and Decision Systems which is essentially a business program with a focus on IT (I think). So far I am happy with my core CS classes; I honestly am interested in and enjoy doing most of the work, which seems like a good sign.

It's the math that's killing me.

I have never exactly been what you would call an outstanding student. For me, getting straight A's just is not worth the time and effort. I would rather get C's and B's and spend my non-school time enjoying life rather than worrying excessively about that physics test. Note that this does not mean that I don't value learning. I am very serious about learning the subjects I am interested in, and am entirely self-taught in most of my technical skills. This also does not necessarily apply to my CS classes, because I enjoy the material and can usually earn an A without too much extra effort. Unfortunately, it does not apply in my mathematics classes either, where I can work my ass off and still squeak by with a C-. I have come to accept that I am simply not good at math (due, I think, to poor instruction in the subject throughout my childhood, as opposed to a lack of intelligence,) and this is my primary concern and reason for writing this post.

To earn the Computer Science degree, one must undergo the entire Calculus series, as well as some statistics and linear algebra. In the proposed 4-year plan for CS students, the very first math class is Calc 1. I am halfway through my sophomore year and just about to start Calc 1. My math SATs were 10 points under some given score, so I had to take trigonometry as well as algebra before I could even start on the fun stuff. So essentially I am now a year and a half behind, and it doesn't get any easier from this point on.

The reader of this post will now hopefully understand my concern. I love computers. I am passionate about and excited by the role of technology in the average person's life today. I know that I want to do something with computers for my career, and that I want to learn as much about them and the science behind them as possible while I am in school. But at this rate it may take me 5 years or more just to finish all the math requirements, if I can finish them at all.

So, I am hoping to get the opinions of some of the K5 community; If you were in my situation -- theoretically or for some of you maybe in hindsight -- what would you do? Should I buckle-down and make math the center of my existance for the next 3 years for the sake of getting the CS degree? Should I change my major to one of the IT-oriented but less math-intensive majors? Would a change to one of those majors cause me to miss out on the knowledge and understanding gained with CS? Is suffering through the math worth that understanding? Is it even possible to be a good programmer without an understanding of the higher maths?

I leave it to you, the wise members of K5, to help point me in the right direction.

Sponsors

Voxel dot net
o Managed Hosting
o VoxCAST Content Delivery
o Raw Infrastructure

Login

Poll
Worst thing about college dorms...
o group showers 18%
o toxic mold in the walls 17%
o cafeteria food 22%
o rap music 22%
o keggers in the girl's hall 2%
o central smoke detectors 8%
o bunkbeds 8%

Votes: 109
Results | Other Polls

Related Links
o Who Are You
o Also by YelM3


Display: Sort:
Computer Science for the Math-Intimidated? | 197 comments (197 topical, editorial, 1 hidden)
+1, Front Page (3.27 / 11) (#1)
by pb on Fri Dec 15, 2000 at 04:52:30 AM EST

I fit this profile as well, and I completely agree with you.

All I've wanted to do, career wise, for a long time, was be a Programmer. I figured I'd go to college, learn all kinds of nifty stuff about Programming, and get my degree in it, and then go out into the Work World, knowing my trade...

Well, yeah, that's not how it works. Our cirriculum requirements sound shockingly similar to yours, and probably many colleges. But I suffered through this the hard way. It isn't over yet, but I hope the worst of it is behind me.

So here's the advice I can give you.

For the courses you'll have try to find out who the good teachers are. More importantly, try to find out who won't count, say, a lack of homework against you. Math classes are notorious for assigning way too much homework, and making it at least 20-30%. Once I took the night course for Calculus III, I made a B. Before, I could do nothing but fail.

It's definitely a weakness of mine, and I can't explain it, but I didn't go to college to major in math. Also, it isn't like they design the cirriculum for people like us. I'd kill for a Calculus III or Linear Algebra course that mentioned or preferably stressed, say, Graphics Programming applications, of which there are many. As opposed to, say, Physics applications, which I couldn't care less about.

I guess I feel that programming is more of a trade than anything else. I'd much rather spend two or three years intensively studying it, with the occasional break for something else. Also, intensive study helps me a lot more than these silly "class schedules"--I don't know what I'm doing from one day to the next! Breaking up a routine into a haphazard array of hours is a *great* way to screw up someone's schedule. That definitely isn't how real work gets done.

Anyhow, I wish you luck. I've been chasing that piece of paper for far too long, and I'm not convinced that it's worth it yet. I've learned quite a bit, but I still was required to waste a lot of time, effort, and money following the cirriculum to wherever they twist it next...
---
"See what the drooling, ravening, flesh-eating hordes^W^W^W^WKuro5hin.org readers have to say."
-- pwhysall
Home work amount (4.00 / 1) (#41)
by Garc on Fri Dec 15, 2000 at 01:46:45 PM EST

More importantly, try to find out who won't count, say, a lack of homework against you. Math classes are notorious for assigning way too much homework, and making it at least 20-30%. Once I took the night course for Calculus III, I made a B. Before, I could do nothing but fail.

I'd think the opposite. If the tests count for the most, you could be screwed if you don't know how to do it. If something comes up in the homework that you don't know or don't understand, you can learn it or get help. There are usually tutors available (some are great, some suck), books, and most importantly IMO study groups. Study groups have to be with the right people though, people who value understanding the material and not just getting it done.

best of luck,
garc
--
Tomorrow is going to be wonderful because tonight I do not understand anything. -- Niels Bohr
[ Parent ]

grit your teeth and do it (3.76 / 17) (#2)
by streetlawyer on Fri Dec 15, 2000 at 05:14:57 AM EST

99% of the people who are good at maths got that way by just freaking *not* going down the pub that night and crunching out problem sets. Unfortunately, maths is the only subject that doesn't seem to let you get away with a merely general understanding.

But it's worth it. I'm an arts type myself; Economics and Philosophy. But I forced myself to take the mathematical economics course, the econometrics & statistics course and the formal logic course. Pure fucking pain, all the way. But you end up much better for it. People who don't understand calculus are, in a variety of ways that they don't even understand, intellectual cripples. I mean it. It's as bad as being blind. No exaggeration; not understanding calculus leaves you unaware of as much important information as being born blind. Stats is less crucial, but a good instinctive understanding (which only comes at the end of a load of problem sets for we, the non-gifted) is a powerful protection against being bullshat. Formal logic, I admit, was fucking useless except for the feeling of intellectual arrogance it gives you.

--
Just because things have been nonergodic so far, doesn't mean that they'll be nonergodic forever

Formal logic is important, just not to you. (4.33 / 3) (#33)
by amokscience on Fri Dec 15, 2000 at 12:42:54 PM EST

Formal logic is essential if you wish to become a logician (duh) or engage in proving systems, functions, and whatnot. Formal methods use logical proof techniques to mathematically prove that a system or algorithm is guarranteed to do what it says it does. These types of methods and proofs are used extensively in CPU construction as well as among the pure research computer scientists. Wouldn't the people writing the OS for a satellite like a guarrantee that the OS will never achieve deadlock, or get stuck in race conditions?

I endured it and I wouldn't want to touch it with a 50 ft pole; but it is extremely powerful and certainly has more place than for intellectual arrogance.

[ Parent ]
How and why to grit your teeth and do it (5.00 / 6) (#87)
by sigwinch on Fri Dec 15, 2000 at 06:30:45 PM EST

First of all, why study calculus? Calculus makes the connection between discrete and continuous numbers. Consider the graph of the sine function: a wiggly line that repeats every 2*pi along the horizontal axis. Pick any horizontal location, and the sine function will tell you the exact vertical location of the graph at that point.

Now just consider the sine function from 0 to pi along the horizontal axis, which is half a cycle of its oscillation (you remember your trigonometery, right). That segment of the graph starts at zero, rises to a maximum of one, then falls back to zero. Again, you can calculate the exact value of the sine function at any point you choose. You know everything about it. Or do you? What is the area under the curve? (I.e., between the function and the horizontal axis.)

Calculus lets you consider the area under a curve by breaking the area into an infinite number of vertical slices, and adding them up. By a beautiful twist of mathematics, the area under sin(X) (from 0 to X) turns out to be -cos(X). The process of adding up the little slice is called integration.

So who cares? Well, most interesting things that happen in the real world occur over either time or space, and can be modelled as areas under curves. Thus, an understanding of calculus allows you to create mathematical models of pretty much anything you want. Electrical engineers integrate voltages and currents over time. Mechanical engineers integrate forces across steel beams. Chemical engineers integrate the completion of a reacion over time. Physicists integrate all sorts of weird crap. Without calculus, you are like Copernicus, knowing only that the planets go around the sun. With calculus, you are like Netwon, and can calculate orbits. Incidentally, Netwon invented modern calculus in his efforts to understand the universe.

A knowledge of calculus, even at the C- level, gives you a powerful tool for dealing with the real universe of atoms and forces. Without calculus, you will be limited to text processing, database lookups, graph traversals and the like. You can make a perfectly good career out of that (e-commerce software doesn't have much call for integration), but knowing calculus will open doors into other jobs: signal processing, factory automation, network traffic analysis, physics modelling, etc.

In your calculus class, you will study many types of equations, but mostly you will concentrate on (i.e., beat your head against) two types: trigonometric and exponential. Why trigonometric functions? When you put feedback into a physical system (i.e., a microphone close to a speaker), the system will produce either a sine wave or something resembling one. It doesn't matter whether it's biological, electrical, psychological, or whatever kind of feedback: feedback loves sine waves. When you study differential equations a few courses down the road, it'll be obvious why sine waves occur everywhere. And of course, circular motion is naturally described by trigonometric equations (think motors and engines). Just take it for granted and learn to love the trigonometric functions. If you can't learn to love them, then learn to hate them with skill.

The other class of functions you'll learn to hate is the exponentials, and their brothers the logarithms. Again, it is due to practical interest: whenever something changes by a fractional rate over a period of time, you get an exponential function. You'll learn how to derive exact equations for radioactive decay and compound interest.

Unfortunately for you, your instructors and textbooks are likely to suck. Regarding your instructors, other posters have given advice about study groups and tutoring: this can help. Regarding textbooks, I wholeheartedly recommend Calculus, by Larson, Hostetler, and Edwards. It's a massive book (> 1000 pages), but it is comprehensive and has plenty of helpful diagrams. Inside the front and back covers, it has wonderful tables of common formulas and identities. As a practicing engineer, I still use this book occassionally. Don't be shortchanged by the many poor texts out there. (And don't assume the math department knows best.  Math depts pick textbooks the way businessmen pick software, and you could end up with the Microsoft Outlook of textbooks.)

One final piece of advice: the great physicist Richard Feynman said that if you cannot explain an idea to another person, then you do not understand it. When studying complicated material, I pretend to explain it to another person. When you come to something unexplainable, you have found your area of ignorance, and can read the book or ask the professor again. Repeat this until you can teach everything you're supposed to be learning.

--
I don't want the world, I just want your half.
[ Parent ]

Jings (2.00 / 2) (#129)
by _cbj on Sat Dec 16, 2000 at 09:38:34 AM EST

Most useful post I've ever read on Kuro5hin. Suddenly I've decided to take a calculus course next year.

[ Parent ]
Don't disregard other maths either (3.00 / 1) (#156)
by bgalehouse on Sun Dec 17, 2000 at 12:14:21 AM EST

While I agree with everything you just said regarding the wonders of calc, the required math curriculum doesn't strike me as being particularly optimized for CS.

In computer science, the various branches of discrete math are more important than differential equations. Sure, you might use your differential equations to make a simulation is accurate, but you'll need discrete math to make algorithms fast. No matter if you are writing a simulation or a financial reporting tool.

In the end it depends on what you want to do, what you want to know. If you want to understand how the world works, calc, differential equations, differential geometry make a nice progression. But if you are looking for math that will make you a Knuth's Art of Computer Programming sort of guru, I'd be looking at formal logic courses, set theory, finite groups, rings, algebras and graphs.

Proving to yourself that the code you just wrote will do what you want really is proving in the sense that mathematicians do. This skill doesn't make you right all the time, just impoves the odds. Many calc courses are 'by rote', and do not teach one to proof as well as they could. People who want to know how the world works might find them satisfactory. But people who want to know how the math works do not find such rote courses satisfactory, and can easily be bored into bad grades.

The hard part of Knuth isn't the syntax, or the presentation, but the underlying math. It depends on what sort of programmer you'd like to be. If you want to be 'serious' in the computer science sense, you can be very good at solving problems that mant programmers out there won't touch. But you'll want to pickup some higher math, much of which isn't calc, or even derived from calce

Which is another point. Many professional programmers out there have never implemented a textbook algorithm from scratch, much less adapted one to fit an unusual problem. They are fine for certain types of projects; the industry has plenty of demand for people who can take techniques devised by somebody else and apply them correctly. If you wanted to become skilled as this sort of craftsmanship, I wouldn't recommend any particular degree. Instead I would recommend contributing to an open source project or two, and looking for a good, hands-on summer internship.

[ Parent ]

if you really want to be a programmer... (3.70 / 10) (#3)
by Justinfinity on Fri Dec 15, 2000 at 05:37:22 AM EST

...as opposed to doing networking or other non-programming IT stuff, the math is important. even more so when you get into things such as AI or graphics. I'm currently out of school (taking a break, if you will), and I'm constantly having to [re]learn [new] math related things when doing 3D graphics coding (i'm a wanna-be game-developer).

yeah, calculus does suck. i should know, i took it twice in college. (mostly because i kept getting bored because i had arleady taken it in high school, and I ended up playing minesweeper on my graphing calulator most days. :-P )

it all depends on what you really want to do. I personally would much rather program than do any other IT work. thus, I want to learn the math. for systems programming, it's not as important, but being able to quickly compare algorithm speeds and such is much easier with the correct math background.

i know it won't be all that fun, but if you really do want to get that CS degree then take the math, and get help if you need it. my previous school's tutoring service was so-so, but i know other schools (hopefully yours) have some great tutors who will be glad you help you succeed. :-)



-justin
Been there, done that... (2.83 / 6) (#4)
by Alias on Fri Dec 15, 2000 at 05:38:41 AM EST

... eventually got a degree in History [insert smiley here].

I started learning computer science in an egineering school, which was arguably a Bad Move. I then moved on to a more standard university, with about the same results (id est, none at all).

I would somehow agree with the guy who said "grit your teeth and do it." The only thing is, if you don't like it, then you are probably wasting your time.

My advice to you: try to get with a group of friends who can help you. All it often needs is a little, gentle push and friendly advice. Also, consider an alternate course; if the worse come to worst, you won't be stranded.

Good luck!


Stéphane "Alias" Gallay -- Damn! My .sig is too lon
Teamwork was the key for me (3.00 / 1) (#7)
by Phage on Fri Dec 15, 2000 at 07:52:26 AM EST

Having now worked my way through two post-grad qualifications, I can categorically state that I would never have been able to do it if it wasn't for the help of my friends.
I have always been good at the BS and with technology issues, Melinda was a technical/law prodidgy, and Scott had been running an import business for 10 years.
When faced with friends, the hurdles were lower...
I don't find Heathens to be sexy, as a general rule.
Canthros
[ Parent ]
Do you need a degree? (2.20 / 5) (#5)
by Moneo on Fri Dec 15, 2000 at 06:12:15 AM EST

I'm not sure if this is necessarily sound advice, but have you considered not going to school? You say that you are "very serious about learning the subjects I am interested in, and am entirely self-taught in most of my technical skills". Well, maybe a structured curriculum isn't what you need. I'm majoring in Plant Genetics, but I know a fair deal about system administration from purely personal interest, and I could probably get a good job doing that (if I were allowed to work in this country). I'm not trying to deny the value of a degree...but is it really worth it to you? Also, I don't know what your school's policy is, but maybe you could sit in on a few classes even if you weren't registered?

It's late and I'm both tired and ill....so g'night.
Propaganda plays the same role in a democracy as violence does in a dictatorship. -- Noam Chomsky
Bingo (3.22 / 9) (#6)
by CAIMLAS on Fri Dec 15, 2000 at 06:43:28 AM EST

This is EXACTLY the crap I'm going through. I've got an Intro to Conflict Resolution final in an hour and a half, and I've not studied for it yet. Why? Because, I can't motivate myself to learn wrote facts about some silly people who wrote a book about solving problems. Especially a book that has words in it that might as well be Russian, since they obviously don't conform to English.

Asside from that, I'm one of the best problem solvers I've ever met - whether it be an anylitical problem of programming type situations, relationship problems, or just getting people to think about conflict - I can already do the whole 'conflict resolution' thing. And believe me, I've tried to study this stuff. It usually just frustrates me.

I'm in the same situation you are, as far as college is concerned. I dislike mathmatics in general, if only because I dislike chores that are not directly related the the task at hand. If I need to do matrix multiplication or determine the eigenvector of a matrix, blast it, I'll learn it then in a practical manner. As it is now, I doubt I'll remember much of this linear algebra next semester.

Thus is life. I'm going to try and stick it out till at least the end of this year, and then we'll see where it goes. The campus UNIX sysadmin job I'll have next semester will certainly help (and only a freshman, too). Personally, I see college as being here for people who don't have the ability to learn on their own to be able to say after four years that they're an adult, and are intelligent, even if they haven't learned how to think for themselves yet.

It's that piece of paper, that diploma, that allows people passage into the adult world. Sure, you can make it without one. But all the people who did happen to go through college because they thought it would make them an individual and help them grow, probably think that anyone that doesn't get a college deploma isn't a fully developed person, thus making it difficult to get jobs. The fact that many people do not think according to the rules of standard education procedures is far beyond the reasoning of most people.

Einsein is a perfect example of this - he got failing grades in school in many classes, and was told by his teachers that he would never amount to anything. And yet, he was, and still is, one of the most intelligent people ever.

That's my rant as to why College is Evil, and why I'm not doing so well here in my first semester of college. It's also why I've not slept for several nights - it gets me down, and I don't feel like sleeping anymore. Nothing matters. Scary, but I almost feel as if it doesn't matter one way or the other if I attend this final. While I know that it does, I still don't care.

This is what formal education has done to me. It's turned me into a monster who can't stand and formalized, inpersonal instruction. Either you screw off and leave me to teach myself, or get your butt over here and help me one on one - that's my vantage on the situation. And that's why college, and education in general, has failed me.

Amazing, isn't it, how I've been trying to motivate myself to write 3 double spaced pages about one of my classes this semester, in an informal manner, for a week, and yet I can simply churn off ramblings like this after 3 days without sleep and heavy mental activity (I'm sure it's going to show in the writing).
--

Socialism and communism better explained by a psychologist than a political theorist.

Why College is Good (IMHO) (4.00 / 2) (#13)
by reshippie on Fri Dec 15, 2000 at 09:39:31 AM EST

Being in the process of transferring from a small engineering school, to a larger University, I have come the realization that I don't think a lot college students do.
College is less about classes, and more about life and people.

I'm gonna get crap from some people, so please read further before you judge.

I moved back home in April, since I simply could not go on at my school. I've been living at home for the past 9 months, but spending a lot of time hanging with friends who go to school around me. My parents complain sometimes that they don't see me much, but after working at a very large bank all day, the last thing I want to do is be around more adults. I really miss the interaction with people my own age.

I really miss all of my friends down in NYC, last year I made some very close friends and it sucks to be 250 miles away from them. I just couldn't handle the 6 classes per semester that I needed to take to graduate in 4 years. (that's the way the school is set up) I found that I was so overwhelmed by the situation that I just gave up on school and spent too much time with my friends. Some really crazy things happened to me last year, but through those things I learned an awful lot about life and myself. More than I would've learned had I shown up to class.

I can't wait to get back into school. To be back among my peers. I know school isn't for everybody, but for me, it's a transition I need to the Real World(tm). Unfortunately, the school I chose was a much sharper transition that I was really ready for. There is no meal plan, so you have your own kitchen in your dorm room. The dorm is basically an apt building that the school owns. And after freshman year, you find an apt in Manhattan, since there isn't even enough room in the dorm to guaranty housing to freshmen.

So maybe that piece of paper at the end of a few years isn't so important, but those 4 years are very important, heck it's about 1/5 or 1/6 of your life.

That's my rant why college is good. Too bad there isn't a way to "be at college" without actually "being in college". I'm all about that. :)

Those who don't know me, probably shouldn't trust me. Those who do DEFINITELY shouldn't trust me. :-)
[ Parent ]

Ah! There's the difference! (2.50 / 2) (#92)
by CAIMLAS on Fri Dec 15, 2000 at 07:17:16 PM EST

I'd be in that situation, but I can't stand my peers. I can't relate to them at all. The people I relate well to are those that are generally about 5 years my senior. So there's the difference.
--

Socialism and communism better explained by a psychologist than a political theorist.
[ Parent ]

Been there, man... (5.00 / 1) (#107)
by kjeldar on Fri Dec 15, 2000 at 10:55:47 PM EST

I was right there with you, my first semester.

After my first semester, I was a burned-out shell. I didn't go to one of my finals, I didn't turn in a paper for another class; you know how it is. Now, you see, my university has a policy which states that any student whose semester GPA is < 1.00 (on a 4-pt scale), regardless of cumulative GPA, gets thrown out of school for a semester. Then, if you want back in, you have to convince an appeals committee that you are in fact worthy of reinstatement, and are sufficiently motivated to continue your academic career without repeating your prior performance.

I was in for a rude awakening. I packed up my stuff, moved out of the dorm, and got an apartment. I figured I'd be able to find a decent tech job without too much trouble. Wrong; this city is packed with ex-computer-science majors, and has fairly few entry-level tech positions to begin with. I ended up taking a job answering phones for a gigantic sporting goods retailer which is HQ'd in my town. Customer service.

Suffice to say, after six months of working there, the appeals committee had never seen someone so motivated to get back in college and get that stupid G*ddamn degree.

That was two and a half years ago, and I'm not going to lie to you and say I'm still Mr. Ubermotivated. I barely skated by this semester, in fact. But I *will* get that freaking piece of paper with my name on it and the words "Bachelor of Science," if it kills me.

Anyway, the point here is that if you're burned out, take a semester off. Kick around the 'real world' a little bit, take a crappy job, have a two-bit landlord breathing down your neck for the rent on his hole of an apartment. I'm not being sarcastic; I'm serious. Give it a try.



[ Parent ]
Why I'm going to college... (none / 0) (#144)
by Miniluv on Sat Dec 16, 2000 at 04:54:36 PM EST

I'm in the same boat as the author, but not because I dislike math, just that I've had bad experiences with it. I stopped taking math shortly before I stopped going to HS, midway through junior year, because my Calc class was boring as hell after the first 15 minutes of day 1. I've just decided recently that I do in fact want to go to college, whether I get a degree or not is largely irrelevant, because there are some things that college offers me the opportunity to learn that otherwise I'd never get.

I do not have the ability to learn any given subject on my own. I've worked through several learning programming books, some of them more than once, and felt I understood the material as I learned it, but was unable to pull it all together because I couldn't ask questions. I learn better through interaction and discussion with a teacher than I do from reading a book in many subjects. Math and science are definitely those subjects.

This does not mean I'm unintelligent or a poor student, it just means I'm a different sort of learner than other folks. I do not need college to kick start my social life, it's just fine now, nor do I need it to learn to be a free thinker or an individual. The hardest part about going to college, from what I've seen and experienced, is figuring out why you're there so that you can get the right things from it.

"Its like someone opened my mouth and stuck a fistful of herbs in it." - Tamio Kageyama, Iron Chef 'Battle Eggplant'
[ Parent ]

Computer Science is NOT programming (3.66 / 9) (#8)
by priestess on Fri Dec 15, 2000 at 08:20:36 AM EST

Computer science just isn't the same thing as programming, and it's more maths intensive than most programming jobs are to be honest. Don't get me wrong, real programmers aren't afraid of maths, but real Scientists need to have some maths understanding. In a very real sense Science is mathematics, building maths models of reality.

I'd recomend, if you can do it, simply learning the maths, do more than you're expected to because the questions will seem easy then, and finishing your CS degree. If maths is that tricky for you though, do a programming course instead of a science course. You'll still need to be able to handle numbers, naturally, and many programming jobs are impossible without good maths skills, but if all you want to do is write CGI scripts all day a programming course will be better than CS anyway.

Pre........

(Who did his A-Level maths esentially in a year after his crap teacher thankfully left and Eric Newton, bless his soul, finally got me to SEE how it works.)
----
My Mobile Phone Comic-books business
Robots!
I'm right there with you (4.28 / 7) (#9)
by madams on Fri Dec 15, 2000 at 09:17:23 AM EST

+2 for having a submission about CS and college that doesn't involve whether to get a degree!

In order to decide how much to concentrate on math in college, you need to have at least a vague idea of what you want to do afterwords.

If you are interested in really studying computer science (in order to do research or go to grad school), then having a foundation in mathematics is essential. Note, this does not mean you need to be good at mathematics, or even enjoy it.

However, if you are interested in a programming related job, it is often good enough to choose something else of interest (like technology studies of (bleech) business) and in addition take all the CS courses you are interested in. Employers are as interested in your transcript as your major. If you do well in your CS classes, you'll be recruited just as vigorously as any CS major.

I'm a CS major at well, and don't find math to be my best topic. It's not that I don't find math interesting, it's just that doing the homework is totally boring. I find applying myself to problems, whether it's designing a processor (been there, done that) or writing a research paper, to be far more intereresting and satisfying that solving yet another little math "problem".

If you are interested in cognitive science, and feel you just don't get what math is really about (this is the way I used to feel), you might want to read Where Mathematics Comes From: How the Embodied Mind Brings Mathematics Into Being by George Lakoff and Rafeal Nuñez. This book furthered my understanding of how mathematicians think and how mathematical concepts are sometimes pretty alien to intuition. (if your library doesn't have this book, try to get it through inter-library loan).

Another thing to remember is the people in your CS department are there to help you. Talk to your advisor (if he's in the department) or the director of undergraduate studies. They should be able to help you work through your difficulties with math.


--
Mark Adams
"But pay no attention to anonymous charges, for they are a bad precedent and are not worthy of our age." - Trajan's reply to Pliny the Younger, 112 A.D.

What type of programming??? (3.50 / 6) (#10)
by Quar on Fri Dec 15, 2000 at 09:20:01 AM EST

First off let me say that I agree w/ priestess completely that there is a world of difference between computer programing and computer science degrees. For my computer science degree, I had to focus not just on end user programs but also on OS creation and network comminication, which are both math intensive. It all depends on where you want to end up at the end (Tough question I know for a 2nd year student. I didnt know until after 2 other programing jobs ;) ). Math dependicies pretty much break down like this.

Statistics : Network communication
Discrete Math/Numerical Analysis : Embedded systems or OS planning.
Calculus and/or Algerbra: Most end user programs.

If you decide you want to focus primarly on End user programs, then you almost want to decide what type because they can be written for just about anything, from accounting software to games.
Justinfinity hit it right on the head, better to learn this all now then later when time truely counts.

Re: What type of programming??? (3.00 / 3) (#68)
by kagaku_ninja on Fri Dec 15, 2000 at 04:01:55 PM EST

I have been working as a programmer for 17 years, in a variety of different areas. I have never used calculus, ever. I also question the need for algebra. If you mean basic algebra, the type taught in high school, then I might agree. Certainly boolean algebra is crucial. Abstract algebra, while cool, has been utterly unrelated to my job.

I can see the need for statistics in networking, graphics requires linear algebra and an understanding of splines and binomials (not sure what branch of math that is). Image and sound processing use FFTs which are calculus based. But all of these fields are specialized...

[ Parent ]
To quote Robert A. Heinlein (3.75 / 8) (#11)
by 0xdeadbeef on Fri Dec 15, 2000 at 09:21:35 AM EST

Anyone who cannot cope with mathematics is not fully human. At best he is a tolerable subhuman who has learned to wear shoes, bathe, and not make messes in the house. - Lazarus Long in Time Enough for Love

RAH hates you. Don't you feel better? :-)

I say definitately stick with CS. You might think about changing schools, though. Not every school makes CS majors go through the full math requirement that engineering majors have to take, though the alternatives can be difficult in their own right. But the last thing you should do is let your education suck all the joy out of learning. I loved math in high school, but it became my least favorite subject in college. Now I regret not learning the advanced stuff I could have learned, and forgetting most of what I did.

Engineers' Math (4.00 / 3) (#55)
by Kartoffel on Fri Dec 15, 2000 at 02:26:30 PM EST

Not every school makes CS majors go through the full math requirement that engineering majors have to take

I'd expect any decent CS program to require all kinds of advanced math. If your CS major only goes as far as calculus, you're missing out.

Different fields go through different kinds of math, however. As a mechanical engineer, I had lots of linear algebra, finite element methods, diffy-Q and stat. A CS person, OTOH, might be exposed to set theory, discrete math, or real analysis. Either way, you're learning some pretty neat stuff.

Most of the engineering math we did was packaged up into methods and formulas for each kind of problem. E.g. to find the heat transfer from a pipe to the surrounding atmosphere, you must (1) know how to describe the situation mathematically, (2) choose the correct "recipe" and (3) crunch the numbers. In Engineering, the hardest part by far is the being able to balance analytical science and gut intuition--being able to properly assess a problem. Turning the crank at the end becomes trivial.

Regardless of your particular field, math can be fun, so please reconsider before you drop that math class!

[ Parent ]

Consider switching your major to IS (2.87 / 8) (#12)
by Anonymous 242 on Fri Dec 15, 2000 at 09:21:59 AM EST

I don't know about other areas than Ohio, but the universities around here tend to have two types of computer degrees Information Systems and Computer Science. Computer Science goes into all the theory of computing and detailed mathematics and what not. Information Systems concentrates on the flow of information throughout a business and how its aided by programatically implementing business rules.

Which to choose depends on what type of programming you want to get into. For the people that that don't mind transforming business rules into programs or web programming, an IS degree is likely to be the easiest path. For people that want to get hardcore into device drivers, systems level programming, system architecture and the like, CS is the way to go. Many, many advanced algorythms are based on that Calculus that you're having a hard time with.

Myself, I'm saving cash to go back to school to get a four year CS degree. I'm beginning to reach the limits of my current knowledge in regards to the type of programming that I like to do. In order to progress, I really need to get some more theory and to truly grok the theory I will need to understand calculus and teaching oneself calculus (whle possible) is far harder than teaching oneself a programming language.

Get the right tutor. (4.14 / 7) (#14)
by Luke Scharf on Fri Dec 15, 2000 at 09:41:54 AM EST

I know someone who's in exactly your situation. My advice to him is to find someone who he can understand easily who knows the math.

A teacher might take hours to explain something. Someone who knows how you think might be able to explain it in a couple of minutes leaving you saying "that's all it is?". This might not work, but it's worth a try.

Also, I've always approached math visually. Calculus would have never made any sense if I didn't spend all of the classtime graphing the equations and getting a feel for the relationships between then. It makes MUCH more sense to me that way. :-)

So, don't give up yet. If you are who I think you are, e-mail me and we'll make it work.



re: Get the right tutor (4.00 / 3) (#44)
by Karmakaze on Fri Dec 15, 2000 at 01:55:34 PM EST

I can absolutely second this.

A teacher might take hours to explain something. Someone who knows how you think might be able to explain it in a couple of minutes leaving you saying "that's all it is?". This might not work, but it's worth a try.

Different people learn in different ways. An explanation that is crystal clear for one person can be meaningless to someone else. The trouble with trying to teach a whole class, is that you have to pick an explanation that a) is one that works for you, personally, and b) you think will work for as many of the students as possible. For any complex subject, you're pretty much guaranteed to miss a few students. That's one of the reasons why it is a terrible idea to use a textbook written by the professor - you want someplace a student can go for a different explanation, not just a reiteration of the one that didn't work in class.

The advantage to being a tutor is that you can adjust your style to match your student. I can't count the number of times I've had a student ask me "well, why didn't the professor just say that?". I've had a few students that took me a few tries, but once I found which style of learning/teaching we had in common, things always improved dramatically.


--
Karmakaze
[ Parent ]
Math software? (2.50 / 2) (#60)
by Danse on Fri Dec 15, 2000 at 02:59:36 PM EST

Would anyone happen to know of any software that could help someone learn things like calculus? I'll be taking it next near and would like to see how far I can get on my own, so I'd like to find some good software or a good book that can explain it well. Anyone got any ideas?




An honest debate between Bush and Kerry
[ Parent ]
I don't know of any, but... (2.00 / 1) (#166)
by Luke Scharf on Sun Dec 17, 2000 at 12:09:05 PM EST

Would anyone happen to know of any software that could help someone learn things like calculus? I'll be taking it next near and would like to see how far I can get on my own, so I'd like to find some good software or a good book that can explain it well. Anyone got any ideas?

I don't know of any math-blaster-for-calculus kind of software.

If you're interested in a specific topic, though, there are a lot of really good summaries on the web. They're usually slides from college math courses. Of course, if a set doesn't make sense, then find another - different teachers explain things differently.

If I were you, I'd sit down with a geek who remembers the concepts and get him/her to explain them to you. If they're good, they should be able to give you a quick overview in less than an hour. I've found it very valuable to have some idea where the class is going, or to have a starting poing for my own explorations.

Also, once you've got a basic idea of the concepts, the right book can be pretty useful. There are a lot of unreadable textbooks out there, but occasionally there's a gem. It's worth spending a couple of hours in the bookstore reading the various books before you spend the money.

As much as I hate to come out from behind my monitor, I've found that a 1-on-1 face-to-face session is the most effective way to learn and one of the most fun ways to teach - if both parties are interested in the subject.



[ Parent ]
Where I Went... (3.33 / 6) (#15)
by titivillus on Fri Dec 15, 2000 at 09:44:32 AM EST

There were a few choices as to what to take if you wanted to work in computing:

  • Physics Most physics is done by computers these days, and the big FreeBSD hotbed is in the physics department.
  • Electrical Engineering This gets into chip design and such. I've known poeple in this degree who made an ethernet-controlled TV zapper for a project.
  • Computer Engineering Programming in a more engineering, results-oriented rather than theory-oriented way. From what I've seen, pops out better coders than CS.
  • Computer Science I took this. We have a good security program that you pretty much have to be in grad school to participate in, some interesting courses, and a focus, as all Computer Science courses have, more on data structures and algorithms than "practical computing".
  • Computer Technology Where we generate cable-pullers and MSCEs.

The interesting thing is that I've seen cascades almost all the way down that chain, and certainly from one to the next. (One person, and one person only, dropped to technical writing.) "Can't handle EE? Drop to CS." "Can't handle CS? Drop to CPT."

Me, I did CS, and the only semester I didn't have math was the last one I did was matrices, and I don't understand 'em and don't understand why I took 'em.

No, wait. I do. I took GL graphics as my last course, and that would've taken matrices if I stayed with it. I hated it and couldn't imagine doing anything interesting with it. Spinning gears. Big whoop. I don't like computer games. I like coding things that provide me information, and I didn't think GL would do much for me. And my partner sucked and I never had a decent testbed. But that's blaming others for my failure.

Math is good for algorithm analysis, but you should be able to figure the problems with your algorithm without math after you understand the tactics.

I have said before that Computer Science is a cross between Electrical Engineering, Mathematics, Black Magic and Management, taking the worst part of each. There should be Software Engineering majors out there, but there isn't. I don't feel I needed to take much of the math I took, but it is required for various reasons, including the mathematical history of the so-called discipline, familiarity when we get to the points where it is useful, and general weeding out. My advice is to work on it and accept that this could take a long time.



"drop" to technical writing???? (4.60 / 5) (#34)
by jacwhite on Fri Dec 15, 2000 at 12:47:56 PM EST

I have to respectfully disagree with that terminology. Technical writing, if it's done well, requires fluency in technology and writing. It's very difficult to get those two parts of your brain working together. I tend to think of the technical writing track as divergent from the track you mention, not "lower".

Plus, if the technical writing is in the form of manuals/instructions, you have to throw in a good dose of psychology and user service (tech support) skills. It involves knowing your audience and their needs. Where are they likely to have problems? What do they need reminded of that you take for granted?

Remember, the reason that there are so many bad tech support reps and horrible user manuals is that it's a difficult skill. Just because you're a top-notch programmer does not mean that you'll be any good at it.



[ Parent ]
That's what HE said (2.00 / 1) (#53)
by titivillus on Fri Dec 15, 2000 at 02:19:47 PM EST

Keep in mind that the person I was speaking of when I said "he dropped to tech writing" used that same phrase when he told me of his academic plans.

My previous degree was journalism, which is somewhat related to technical writing. I have some understanding on how difficult it is to write, and I have to give those who can do it well the credit they deserve.

To be fair, administering and setting up Oracle databases isn't an easy skill, either. I've always figured that Computer Technology was harder than we were giving it credit for when we said "drop to CPT".

The etymological distinction I think I should be making is "drop" refering to a fall from one degree plan to another, when really it is dropping one degree plan for another. Of course, I did use the word "cascade" there, didn't I? My bad.



[ Parent ]
That's what HE said (2.00 / 2) (#54)
by titivillus on Fri Dec 15, 2000 at 02:20:18 PM EST

Keep in mind that the person I was speaking of when I said "he dropped to tech writing" used that same phrase when he told me of his academic plans.

My previous degree was journalism, which is somewhat related to technical writing. I have some understanding on how difficult it is to write, and I have to give those who can do it well the credit they deserve.

To be fair, administering and setting up Oracle databases isn't an easy skill, either. I've always figured that Computer Technology was harder than we were giving it credit for when we said "drop to CPT".

The etymological distinction I think I should be making is "drop" refering to a fall from one degree plan to another, when really it is dropping one degree plan for another. Of course, I did use the word "cascade" there, didn't I? My bad.



[ Parent ]
Just a few clarrifications... (4.60 / 5) (#38)
by cenotaph on Fri Dec 15, 2000 at 01:13:40 PM EST

Computer Engineering Programming in a more engineering, results-oriented rather than theory-oriented way. From what I've seen, pops out better coders than CS.

While this may be true at your school, in my experience Comp. Eng. is much closer to a dual degree in CS and EE, with some of the foci shifted. Computer engineers learn everything there is to know about a computer system. We can write a word processor, a device driver, an OS or the software that controls the ABS in your car. We can also design a printed circuit board, ASIC, microprocessor or just about any kind of electircal circuit you could want.

We do have things that we are better at though. For instance, there are very few Comp. Eng. that are good at/enjoy desinging analog circuits. (If you're looking for something that is challenging and still considered a black art, even by those who are good at it, this is a place to be.) We are by and large, "bit heads". (Read: we like digital circuits better :) Also, we generally have a stronger backgroud in using assembly in embeaded applications. In fact, several large companies, HP springs immediatly to mind, no longer even consider new CS or EE graduates for embeaded programming positions. The EEs can't program as well as the Comp. Es and the CS people don't understand hardware well enough.

There should be Software Engineering majors out there, but there isn't.
Actually, there are several undergrad Software Engineering progams that I'm aware of. One of them happens to be at the school I went to, the Rochester Institute of Technology in NY. The program is a joint venture between the CS department and the Computer Engineering department. I know there's at least one more, either at MIT or CMU. A program of this kind is intended to teach you how to program in a way that is much closer to the way engineers design things. It's focus is on the process of programming, al la the dreaded CMM and ISO 9000 standards, and not so much on the theory of programming. If you're looking for a grad program in SE, CMU has a very good one, and I know there are many others.

--
"He knows not how to know who knows not also how to unknow."
-- Sir. Richard Burton
[ Parent ]

you're wrong (2.25 / 4) (#111)
by crazycanuck on Sat Dec 16, 2000 at 12:12:57 AM EST

As someone already pointed out, computer Engineers are not programmers.

I'm in computer engineering right now in Montreal (Quebec, Canada for the geography impaired. You know, Canada? That big piece of land north of the US?).
Let me tell you that first of all that the program is a blend of software engineering and electrical engineering.
I have a choice between choosing hardware systems in which I mainly learn hardware (as in digital system design, chip making etc) and choosing software systems (in which you learn software engineering combined with a bit of hardware).
And yes, my school has a software engineering degree.
And unfortunately for those poor blokes out there (who get no sympathy from me... hey, just get your ass in class and do the homework! Cal is not that hard and you too can get good marks as long as you're willing to actually learn instead of whining) all engineering degrees have a common core which includes calculus, differential equations, complex mathematics, circuit analysis etc.

As I see all these people whining, I realise why some poeple say those CS guys are nothing more than (better paid) auto mechanics...

[ Parent ]
Mathematics (3.77 / 9) (#16)
by slaytanic killer on Fri Dec 15, 2000 at 09:52:45 AM EST

Mathematics is like programming, in that you start from basic assumptions (like assembly language) and base everything from that.

Unfortunately, math seems like one is swimming without knowing where he is, because almost no one teaches it properly. I only know that UofC does; they use Spivak's calculus book there for undergrads, which starts from basic rules such as addition, and builds calculus from there. That is in fact what CS does -- you are dealing with full knowledge of a system, and just building up with them. Code is the ideal which proofs strive for. And like code, proofs often are very buggy, so it can take years for someone to construct a watertight proof. Most people hand-wave.

In other words, I'm telling you that you are already a mathematician. With whatever notation (Perl, it seems) you enjoy using. CS is unencumbered with so many traditions on How You Should Do Things, though it might not stay that way for long. Don't let yourself fall into the same trap with mathematics.

thanks for the link (3.00 / 1) (#47)
by misterluke on Fri Dec 15, 2000 at 02:06:18 PM EST

From what the reviews on Amazon say about that book, it's exactly the kind of thing that would have helped me get through my calculus courses the first time, instead. It looks like it takes an induction - style approach that just screams CSc to me. Ah well, at least MY calculus text built character. Also, off topic, dig your handle. Remember - evil WILL take your soul.

[ Parent ]
Do what is right for you. (3.50 / 6) (#17)
by ignatiusst on Fri Dec 15, 2000 at 10:01:21 AM EST

It is an unique individual who does like math. God bless 'em, but they (to me) are stranger than computer geeks (that's a compliment, math geek, not a flame but take it as you will..)

I did stress about my grades, and worked incredibly hard to get through Calculus I-III, Stats I-II, Linear Algebra, and Discrete Structures. And although I worked long hours on it, I still ended up with B/B- in every math class (except for Calc II.. I got an A!). The point, though, is that if I didn't study I would have gotten by with C/C- .. or worse...

Why did I put myself through it? A C/C- still gets me the degree, right? Yeah, it does. But I think that, when faced with a shit job it says a lot (to yourself and to employers) that you are willing to put in the extra effort and focus on the job at hand.

I know there are a lot of different opinions out there, and this is just one (and maybe not the best one at that). Take a look at where you want to go, who you want to be, and what you want the world to see you as. You'll make the decision that's right for you.

BTW.. I also scored incrediblly low on my schools gateway tests.. Not only did I have to take Trig and Algebra, but I had to take some dork-ass remedial algebra as well.. I was behind for a while, but thats what summer sessions are for.

good luck.

When a true genius appears in the world, you may know him by this sign, that the dunces are all in confederacy against him. -- Jonathan Swift

But... it's so pretty! (4.00 / 9) (#18)
by Karmakaze on Fri Dec 15, 2000 at 10:01:46 AM EST

Let me preface this by admitting that I was a math major. I think the higher math concepts are beautiful, the way a symphony is beautiful, or complex code that executes is beautiful. I always boggle a bit at people who "hate math".

I've also done my share of tutoring. A lot of the math phobia I see comes from poor teaching in the earlier levels. At least in the USA, the education required primary school teaching has one of the lowest math requirements, so people who want to teach but hate math are selected for in the early grades. A teacher who hates a subject will teach students to feel the same way, whether they mean to or not.

If it makes you feel better though, I have never yet had a student who couldn't learn the math they needed. It can be done, and it's probably not as bad as you think.

Have you tried speaking to your professors (not your CS advisor, but the actual math professors)? No decent professor minds a student who asks for help - it means they actually care. They may be able to set up tutoring time (if you need it) or to refer another student who might be able to help you.

Study groups can also help, as long as you study and don't just socialize. Very often just another perspective can make an impossible problem obvious.

Also, be careful of the negative attitude. If you go into classes thinking you can't do it, you'll make it true. Don't sell yourself short before you try. Also, I take it that you're only just stating Calculus. Give it a chance. The concepts are a bit different, and you may find it an easier way of thinking. There is a lot of logical structure which can parallel the sort of thing you need for programming.

Good luck, whatever you do.


--
Karmakaze
Re: But... it's so pretty! (3.00 / 1) (#66)
by kagaku_ninja on Fri Dec 15, 2000 at 03:52:36 PM EST

My experience was that grinding through the lower division math classes that I needed for my degree turned me off to math entirely (Calculus, Statistics, Linear Algebra, Discrete Math). My father once told me I really should study Algebra. Of course, we all studied "algebra" in high school... Only later during a brief fling with grad school did I actually study Abstract Algebra, which is completely different. So I have to admit that math can be cool...

[ Parent ]
Math Anxiety (none / 0) (#196)
by phliar on Fri Dec 22, 2000 at 04:07:12 AM EST

I've also done my share of tutoring. A lot of the math phobia I see comes from poor teaching in the earlier levels. At least in the USA, the education required primary school teaching has one of the lowest math requirements, so people who want to teach but hate math are selected for in the early grades. A teacher who hates a subject will teach students to feel the same way, whether they mean to or not.
Amen! I was a math professor for two years before I decided to return to CS and hack full-time. I absolutely love Math. Thing is, as an undergrad it was my weakest subject; I dreaded it. In grad school my (CS) adviser suggested I take "Foundations of Mathematics". Not knowing any better (I thought it would be some fluffy history of math BS) I signed up. The course really was on Axiomatic Set Theory, and it changed my life. Suddenly it was beautiful - mind-blowingly, amazingly stupendously. The big difference was that this prof was passionate about the subject (math) and patient. When I started teaching and found myself on the other side of the fence, I tried to emulate his example. But it's a little hard when undergraduates at the university level can't add fractions. Because in school they were only taught formulas and rules by rote. Of course it's going to be dry, uninteresting, tedious and intimidating.


Faster, faster, until the thrill of...
[ Parent ]

Maths in your degree... (3.80 / 5) (#19)
by gzunk on Fri Dec 15, 2000 at 10:04:39 AM EST

I studied Software Engineering in the UK, and yes we had to do a lot of maths.

I don't know exactly what your situation is, but basically we had to study the boring stuff first before we got to the maths that was actually relevent to Software Engineering, such as Discrete Maths, Set Theory, Formal Logic etc etc.

The Maths department wouldn't let you take the courses you actually needed until you had a foundation in what they thought you required as well.

So I'd say stick with it, Discrete Maths is significantly different from Calculus. Set Theory and Formal Logic are hard but interesting. Without those two you've got no chance if you want to learn about Formal Specification - which is a brain bender unto itself.

I'm in the same boat! (3.12 / 8) (#20)
by SiLiCoN eYeS on Fri Dec 15, 2000 at 10:07:04 AM EST

Shit dude, can I identify with you?!?!?

This thing has been bugging me for so long, and I'll finally be able to take it off my chest! First, a small intro: I live in India, and the education system here is NOTORIOUS for its firm freakin emphasis on mathematics. I barely managed to scrape through high-school mathematics. Computers were/are the only things I ever wanted to study, and for some reason, I never wanted maths to come into the picture.

So anyway, I manage to pass high-school. Now what?? I figure the best thing for me to do is to get a degree in Bachelor of Information Technology (B.I.T.) from Delhi Univ. Everythings cool... I get through the entrance test (another pain in the ass), and get admitted into a good college. Engineering was never my piece of cake.. that involves WAY too much maths in my opinion, and too many other things I will never care about for the rest of my life.

So I get admitted, and the bloody Univ drops 2(!!!!) maths papers straight in the 1st sem!! One on calculus (still tolerable), and the other on Discreet Mathematics (who the hell cares about this shit anyway?).. Got ERs (essential repeats) in BOTH of them. Cruised through the rest of my papers which were all programming/hardware related. I'm giving my 3rd sem examinations right now, and incidentally, had one of the maths repeat papers today. You don't even wanna know how it went.

Looks like I stretched the intro a bit too far... what the heck....

My point is - maths sux for some. Some of those 'some' are exceptionally good at programming and understanding computers in general. Almost everywhere I've gone, I've beat those lamers who can do integrals like they were born clutching maths books at programming. And programming is what I love. It is all I want to do. But thanx to this ed. system, I've end up with two ERs in 1st sem, which are now likely to be carried forward to the 5th sem, and remain a pain in the ass..

I think I'm rambling. Don't remember what my point was.... aww shit. Guess I'm just frustrated with the education system.

Sig?
Discrete math - booleans... (2.00 / 2) (#57)
by Luke Scharf on Fri Dec 15, 2000 at 02:31:50 PM EST

and the other on Discreet Mathematics (who the hell cares about this shit anyway?)..

[snip]

My point is - maths sux for some. Some of those 'some' are exceptionally good at programming and understanding computers in general.

I hate to be discouraging... But here, the class "Discrete Math" deals primarily with booleans. I'd say that anyone who can't handle boolean algebra isn't going to be much of a programmer.

It's easy to learn and you may already know it - if you can spot an if-statement that will always be true, you've got 1/3rd of the class out of the way.



[ Parent ]
Discrete Math (4.00 / 2) (#63)
by kagaku_ninja on Fri Dec 15, 2000 at 03:43:28 PM EST

Err... no. I learned everything about booleans mainly in the intro CS class, and later honed that in the hardware class.

Discrete Math (at least at my school) was about the mathematical underpinnings of computer science: sets, relations, graphs, trees. Plus generating functions, which I never quite understood the point of (I think they are used for proving things mathematically).

Basically, if you want to be a computer scientist, then I guess you need to know this shit. If you want to be a programmer, you will learn enough about the practical use of sets/graphs/trees in your Data Structures class. The math theory behind it all is not necessary for programming.

[ Parent ]
you've committed a discrete math indiscretion (4.00 / 2) (#132)
by G Neric on Sat Dec 16, 2000 at 10:48:48 AM EST

Er... no. First, you distinguished "boolean" from "sets", but sets are boolean too. True-False logic is a boolean algebra over a set with two values and the operators AND and OR, while set-theory is a boolean algebra over an infinite set with operators UNION and INTERSECTION.

Discrete Math is (or was when I learned it) similar to normal math like calculus, but applied to integers instead of to all numbers on a continuous number line. It is the basis of DSP, digital filtering, etc. in the computer science realm, but you can do without it for all of the things you would use perl and python for.

[ Parent ]

Just do it (3.62 / 8) (#21)
by GreenCrackBaby on Fri Dec 15, 2000 at 10:18:59 AM EST

Ok, I read the earlier comments and they seem divided into three categories:

1. Drop out, you don't need a degree.

2. Switch majors.

3. Stick with it.

To address point 1 -- you need a degree! I work with so many people that couldn't handle the math and either went the self-taught way or the tech. college way. Let me tell you, they are weak programmers and they don't get far. The first two years of my comp. sci. degree were crap as well -- but just wait until you get into those last two years! Graphics processing, AI, etc etc (all the cool shit). It will pay off for you big time!

To address point 2 -- if the math is really bad and you simply can't do it, then maybe switch majors. Engineering won't be any easier on you though. Do get a degree though...you may not want it now but at the time in your life you decide a managerial position is for you that degree will come in handy!

To address point 3 -- yes, stick with it! You lose nothing but a bit of cash if you don't succeed. By the end of my degree I was ready to jump from the nearest window, but I'm so thankful for it now.



Point 1 (2.25 / 4) (#39)
by mandomania on Fri Dec 15, 2000 at 01:34:57 PM EST

I must disagree with your analysis of point 1. I'm still not convinced that a degree is as important as you make it out to be. Granted, I believe that YelM3 should stick it out and finish, but not because he would become a "weak programmer". My own experience dictates otherwise.


The Code is Sound.
[ Parent ]
Everyone thinks they're a good driver (3.50 / 2) (#62)
by GreenCrackBaby on Fri Dec 15, 2000 at 03:39:12 PM EST

90% of people are classified as bad drivers, but if you ask them, 95% of people will testify that they are good drivers.

Same holds true for programmers.

If by "your own experience" you are referring to your own programming skills, then you are no different than those people that think they are a good driver.

Also, if you yourself do not have a degree, then you are not in a position to comment on this. This will probably be the worst analogy I've ever come up with, but if you've never had sex before, you can't go and say something like "masterbation feels the same as sex."

My job would not exist if the company I work for would hire only computing science grads. The simple fact is that they cheap out and go for self-taught or tech grads, and as a result their coding is full of fundamental programming blunders.



[ Parent ]

Disagree (3.00 / 1) (#74)
by kagaku_ninja on Fri Dec 15, 2000 at 04:33:16 PM EST

This has been rehashed to death, but here goes...

Many people with degrees suck as programmers. Getting a degree is easy (once you get past a few hurdles, such as Calculus). It often doesn't require much real programming, and weaklings can get a free ride by working in a group. There are many highly talented programmers that, for whatever reason, have no degree.

For the record, I have a CIS degree. I would say that the useful parts (as in useful for programmers) of that degree could have been concentrated into a one year tutorial.

[ Parent ]
I beg to disagree with you... (1.00 / 1) (#175)
by GreenCrackBaby on Sun Dec 17, 2000 at 07:01:21 PM EST

Many people with degrees suck as programmers.

So this proves your point somehow? You are making some pretty serious logical errors if you believe that since you know a few bad programmers with degrees all programmers with degrees must suck.

a degree is easy (once you get past a few hurdles, such as Calculus). ... For the record, I have a CIS degree.

Hmmm...you have a CIS degree and not a comp. sci. degree, yet you are somehow qualified to make this statement? Simple fact is that it is not easy to get a comp. sci. degree. You have to understand logic and math, and you have to be able to pick up programming languages in your spare time (which really doesn't exist).

It often doesn't require much real programming, and weaklings can get a free ride by working in a group.

So, you admit you don't have a CS degree, yet you seem to enjoy arguing as though you did. Anyone who says there isn't much real programming in a comp. sci. degree hasn't done one (or did one at Luke's Gator Farm and College). For my degree, I wrote a ray tracer, image compressor, virtual compiler, OS, blah blah blah. Based upon what I've heard from other people, this was a pretty standard fare for a CS degree.

I would say that the useful parts (as in useful for programmers) of that degree could have been concentrated into a one year tutorial.

Without the algebra, statistics, and logic, you aren't a useful programmer. Sure, you may be able to write a shopping cart applet, but if that was my main aspiration I wouldn't have a CS degree either.

Everyone can point to one or two self-taught gurus that make excellent programmers, or people with CS degrees that make horrible programmers, but simple statistics will tell you that's always going to be the case.

[ Parent ]

Hello???? (4.00 / 1) (#187)
by kagaku_ninja on Mon Dec 18, 2000 at 08:43:21 PM EST

Why I am responding to this lame attack, I don't know, as no one but you will ever read it...

So this proves your point somehow? You are making some pretty serious logical errors if you believe that since you know a few bad programmers with degrees all programmers with degrees must suck.

I don't know "a few" bad programmers. I have been employed as a programmer professionally for 17 years. I have worked with hundreds of programmers, and interviewed about 20 (those 20 were the ones that made it through the screening phone call; scary). 99% of these people have degrees. By my standards, at least half of these people suck. If you do not understand this, then you haven't been around the industry very long. Likewise, at no point did I claim that all programmers with degrees suck.

Next, you go on to attack my qualifications, as I "only" have a CIS degree. Your "hard-ass" elite CS qualifications do not sound much different from my CIS program. If you want to compare dick sizes, I can list out all the courses I took and programs I wrote.

I will concede that I don't "know" how hard a CS degree from a top school like MIT might truely be. Please get off your condecending hobby horse. Don't marginalize someone you have little knowlege about.

Congrats on writting an entire OS while in college. I am impressed.

[ Parent ]
A thought. (5.00 / 2) (#123)
by kjeldar on Sat Dec 16, 2000 at 05:00:34 AM EST

I'm a fellow student. Math is killer for me. I've been there. Heck, I'm there right now.

I'm guessing that your IQ, like that of most people here, is a couple standard deviations above the norm. I'm also guessing that everything in school has always come easily to you. To quote from Good Will Hunting, "When it came to stuff like that, I could always just play." If my assumptions are correct, you could always just play; do a minimum of studying and put in a minimum of effort, and end up with a grade that's acceptable to you.

Now you're finding that advanced math is different. You can't just play. You're not getting it, on that intuitive gut level. And you're discouraged as all hell. For the first time in your life, you've come up against something that you think you might never understand at that intuitive gut level.

If I'm right, then take this advice.

I would not recommend that you change your major simply because of its mathematics requirements until you have tried this:

  • Go to that math class every day. Every damn day.
  • Take notes in class every time. Every single time.
  • Do every problem that's assigned. Every tedious one.
  • Review your notes for a couple hours every day the week before a test. Even if you think you've got it iced.
  • If you find yourself still struggling, seek help immediately. Talk to the instructor, talk to your classmates. Don't wait until you're totally lost.

If you follow those steps, and still fail the classes, then, and only then, should you change your major because you can't handle the math. Put another way, you're not going to know whether you can handle the math unless you actually follow the steps listed above. I'll even go so far as to say that if you feel the first paragraphs describe you well, and if you follow each of these steps to the letter, I guarantee you will pass every math course you take with flying colors.

If this sounds like more work than you care to do, think about this: You know those kids who aren't all that bright, but still manage to pull four-point-oh's every semester? The ditzy sorority girl or the slow-witted jock who somehow graduates magna cum laude? This is what they had to do for every class.



[ Parent ]
Buck up... everyone else does. (1.00 / 1) (#148)
by ameoba on Sat Dec 16, 2000 at 06:51:58 PM EST

When I was going through math classes, they've always been a breeze for me... I can only think of 2 math classes I've taken over the last 4 years of studying math/CS that I did not get the highest score in the class, and the other 2 were my last term before I dropped out, cuz I was stoned and/or in bed the whole time... (I'm back in school now, thank you very much...)

I constantly saw ppl arround me struggling constantly, and couldn't really understand it... hell, my first term at Uni, I took an 'Accelerated Calc Class' (essentially everyone who'd taken Calc in HS and wanted to continue taking math classes was in here... the Uni wanted to make sure we actually knew our calc) where about 50% of the class were valedictorians, and I was partially responsible for 5-6 of them passing...

All the other subjects have been little different for me...

Four trimesters ago, I transfered schools, and as a result had some additional graduation requirements slapped on me, English classes, specifically.

At the last school I was out, I had my basic English classes waived due to my high SAT scores, so the only English classes I'd had to take were Lit-oriented classes, where the emphasis was more on the message contained in the texts... This new school, however has slapped 3 new requirements on me: A grammar oriented English 101 class, which I managed to squeek by, and two Technical Writing classes (it's an Engineering school).

I've failed tech. writing twice already; both times I was kicked out for non-attendance. I wasn't showing up partially becuase I didn't feel the class was 'neccessary' to me being a CSist, partially 'cuz I didn't like the prof, and partially 'cuz I just didn't wanna do the work.

But, if I want to graduate, I have to pass intro and advanced tech writting... So I just have to buck up and take it.

It's how you handle the challenges and unpleasantries in life that defines you as a person, and shows what you're really made of... If you're a full time student, and don't have to support yourself, there's no real excuse to just sliding by with A's if you can do better. You're spending at least $20k for an American University Education (And that's before you pay for 10-15 years worth of compounded interest 10-15), and it's going to cost you exactly the same if you pass every class with a C or if you get A's, and end up publishing journal aritcles before you graduate.

In the end, your laziness is hurting only you. Stop looking for a way out, and start looking for a way to succeed, and maybe walk out of college a better person, an not just a person with a piece of paper...

[ Parent ]
I made it through CS... you can too. :) (3.57 / 7) (#22)
by craigm on Fri Dec 15, 2000 at 10:43:01 AM EST

I made it through a BS in CS degree with the bare minimum of math (Calculus 2). Unfortunately, it did not come easily, but I scraped through OK. My recommendation is if you really want it, you'll get it. If the math trips you up, see if there is an alternative CS major (my school at the time offered a Bachelor of Science and a Bachelor of Arts. The BA degree required markedly less math). Also, I recommend if you're taking Calculus to also have some Physics classes. I managed to make it through taking Biology classes for my science credits, thinking that Physics was too hard. In actuality, Physics would have helped my Calculus classes, and would have given me an idea of what the heck I was doing figuring out the area under curves and whatnot. The moral? If you want it bad enough, you'll get it. If not, (to quote Caddyshack) "the world needs ditch diggers too".

My anecdote for you.. (4.38 / 13) (#23)
by stormie on Fri Dec 15, 2000 at 11:01:04 AM EST

Hey YelM3,

Let me just start off by saying that I don't actually have any particularly good advice for you, just an anecdote which may be interesting.

Back in the early 90's, I was involved in the Amiga demo scene. I was also doing a Computer Science degree (at Macquarie Uni, in Sydney, Australia), which required me to pass a few maths subjects. It sounds to me like they covered pretty similar ground to what you have to do (calculus and linear algebra, definitely, I did some statistics too but that wasn't compulsory).

Now, as it happens, I found it really easy. I did the highest level of maths at school and did pretty well, and didn't find the maths at uni much harder. That's not the anecdote, though.

Now, one of the other coders in my demo group was a few years younger than me, and finished school just as I finished uni. He enrolled at Macquarie to do the same Computer Science degree as me. Now, I should point out, that he was flat out a better programmer than me. He was better at 68000 assembly (which is what we used, of course), he was faster at teaching himself new stuff, and just generally had a better "computer empathy" than me. However, he was not good at maths. He did a lower level of maths at school, and so (like you, I guess) had to do some extra stuff before getting on to the required maths courses. He struggled through this, but failed some of the required maths after that, repeated it, failed again, and eventually dropped out of uni.

Fast forward 5 years. With my degree, I'm working as a VB programmer. He's working for a games house doing assembly coding and low-level optimisation for Playstation and Dreamcast games. So a Computer Science degree isn't necessarily the only path to an exciting geek career.

Oh, and the punchline? I've never had any use for any of the maths I learned at uni. He's been writing physics code and using it heavily. In an email he sent me the other day, he said "Hah, I finally UNDERSTAND all that shit from 135 (I could only do it by rote when I did the course)". So there you go. :-)



You could always do what I did... (2.00 / 7) (#24)
by Aramanthes on Fri Dec 15, 2000 at 11:02:15 AM EST

Get a dgegree in something that interests you besides Comp Sci.
I started out in the College of Engineering at Ohio State and then Differential Calculus and Fluid Mechanics (all required courses mind you for the BS in Computer Science at OS) hit me upside the head and I fell down...<grin>
So I decided to get a degree that I would enjoy working on...History. Now, if the world ever goes to hell, I can always make my living as a wandering storyteller or teacher...<grin>

Banging one's head (2.00 / 2) (#61)
by Osiris on Fri Dec 15, 2000 at 03:09:42 PM EST

I started out in the College of Engineering at Ohio State and then Differential Calculus and Fluid Mechanics (all required courses mind you for the BS in Computer Science at OS) hit me upside the head and I fell down...

I know what you mean. I'm still there, and I keep banging my head on these damn math classes, I'm getting tired of the squishy sound, too. 254 was the point where I was no longer able to picture the transformations in my head, and was reduced to memorization of formulae. I failed it once, and dropped it once more, before getting out with a B+. And to think, I used to like math.

[ Parent ]

Toxic mold on the walls (2.33 / 9) (#25)
by dylansnow on Fri Dec 15, 2000 at 11:07:22 AM EST

I am a college freshman. I recieved loads and loads of information about what to do before I got to college. However, purchasing "shower shoes" was not one of them.

After about a week of showering, small pimple-like bumps started appearing on the bottom of my feet. They spread all over the sole of my foot. It was not pretty. I was able to hold the fungus at bay with some spray anti-fungal medication, but it wasn't until I got home and was able to get perscriptions strength medication that the fungus left.

ALWAYS WEAR SHOWER SHOES!!!!!!!!!!! Anyways, just my reasoning for voting for the toxic mold...

If this were the Other Site... (3.00 / 2) (#124)
by kjeldar on Sat Dec 16, 2000 at 05:13:53 AM EST

I'd post this as AC, since people tend to rate nasty crap unfavorably. But it's truth, and any male who's headed off to live in the dorms deserves to know it.

People who can't find any other place to get privacy will, ah, beat off in the shower. You probably don't want to start off your day by stepping into a load of someone's spuj. Wear sandals and look before you leap.



[ Parent ]
Okay...another one. (3.14 / 7) (#26)
by Manish on Fri Dec 15, 2000 at 11:17:18 AM EST

Another one to add to my list.
Go get the degree - you will realise the importance of these subjects when you will compare yourself later to the software "professionals" who haven't studied them.
Don't scare yourself of any subject just because its not what you wanted to do.
Manish.
Give it up (3.45 / 24) (#27)
by finial on Fri Dec 15, 2000 at 11:37:49 AM EST

PRIMAL SCREAM!
>You say: For me, getting straight A's just is not worth the time and effort. I would rather get C's and B's and spend my non-school time enjoying life ... Note that this does not mean that I don't value learning. I am very serious about learning the subjects I am interested in...
After reading this, I can tell you you are not the sort of person that would be hired at my company. If you are not willing to make the effort to turn out good product, you should find another career. You don't say that you can't do the math, there are remedies for that, you say that it's just not worth it to you. That is really a a piss poor attitude and is one that will send you packing at any company with fewer than 250 or so employees. Perhaps you should look to work at Microsoft where you can safely turn out average or below average product or maybe hide within the corporate structure at Oracle or IBM and not be noticed. Don't forget that at smaller companies, other people are depending on you to do your job. You turn out crap and it is their job on the line too, not just yours. You can not cherry pick only those things you are interested in. Clue: You will be asked and required to do things you will not want to do: time sheets, meetings, performance evaluations, code reviews, QA/QC, builds, budgets, scheduling, reports, and on and on and on. You might even be asked to make the coffee.
>You say: I fit the profile of your average geek
No, you don't. You fit the profile of a script kiddie. A real geek values what is learned from what he or she does. It's not the thrill of the adventrue (ok, ok, it's also the thrill of the adventure) but it's pride in knowing exactly, in every unflinching detail, how something works.
>You say: Should I buckle-down and make math the center of my existance for the next 3 years for the sake of getting the CS degree? Should I change my major to one of the IT-oriented but less math-intensive majors?
That's a question only you can answer. Is it worth it to you? If you are looking for the easiest way out, one that requires as little effort as possible, then clearly the answer is "no," it's not worth it and you should change majors. Or maybe schools. Perhaps you could get one of those diplomas by mail. In your spare time. At a great uncredited school. It certainly would be easier and that's what you seem to be most interested in.
>You say: Would a change to one of those majors cause me to miss out on the knowledge and understanding gained with CS?
Knowledge and understanding of what? CS? Of course it would! Let's see ... do you need to study psychology to be a psychologist? Hmmm ... mmmmm-mabye. Do you need to study geology to be a geologist? I think so! Chemistry to be a chemist? Yes again! Do you need to study CS to be a computer scientist? I'll let you work that one out.
>You say: Is suffering through the math worth that understanding?
Again, that is something only you can answer. If you want to understand it, you have to learn it. There is no shortcut.
>You say: Is it even possible to be a good programmer without an understanding of the higher maths?
This is a different question. Is it possible to be a good programmer without the math? Yes. But it is not possible to be a good (or any kind of) computer scientist or engineer without the math. What is the difference? A programmer does what he is told by the engineer. A programmer does not design. A programmer does not design. A programmer will always work for someone else. A programmer takes a specification and implements that specification in much the same way that a drafter implements an architect's plans. Sure, there is a certain amount of creativity involved and it might even be satisfying.

So, if you want the easy way out and still be close to computers and impress people with your knowledge and don't care that your knowledge goes no farther than what is in PC Week or Linux Today or maybe even Popular Science, I'd suggest you look for a career at Best Buy. Because as you say,
>You say: I am passionate about and excited by the role of technology in the average person's life today.
What better place to get a firsthand view of the role technology plays in the average person's life today than that?

An eternal golden braid (3.83 / 6) (#30)
by slaytanic killer on Fri Dec 15, 2000 at 12:11:06 PM EST

What company do you work at? I'll be sure to never work there.

But I agree with your post, I think he or she is selling herself short, and can't live life that way. Gotta destroy these fears.. mathematics is only in your mind, and there you don't have to answer to anyone.

I suggest the original poster reads Gödel, Escher, Bach: An Eternal Golden Braid. It is not only mathematics; it is not only computer theory.

[ Parent ]
A tale to tell... (4.66 / 6) (#64)
by Mad Hughagi on Fri Dec 15, 2000 at 03:45:52 PM EST

Selling oneself short... the whole first year experience.

Although I should probably be fearful of admitting my poor academic showing in 1st year mathematics (I'm doing a major in physics) hopefully I can provide some inspiration for the people who have to make a decision like this.

In high school I was a top knotch student, including math. I blazed through the stuff they taught me like a hot knife through butter. I placed in a couple regional math contests, and was fairly well recognized for my abilities. Unfortionately, I had a fairly poor teacher for calculus in grade 13 (pardon my Canadian schooling) and ended up (unknowingly) missing out on a lot of topics that I should have covered before starting university (d/dx of e^x?).

Anyways, being eager from my success in high school I applied to take the advanced math versions of calculus and algebra instead of the normal science math classes. When I got to school in first year they made us do a pre-evalutation test (it was meant to determine our content based knowledge) and I took it the wrong way. Since it scared the living shit out of me (I was used to breezing through things) I stuck my tail between my legs and headed for the hills. I dropped out of the advanced math versions and took the science versions.

Things started off o.k. and I thought I had made the right decision to try a more relaxed pace. Unfortunately however, things didn't get better. I quickly came to the conclusion that math wasn't going to be that interesting to me anymore - I figured it was going to be at most simply a 'tool' to use here and there in my physics classes (which I was doing very well in). Slowly but surely I stopped paying attention and giving a shit. Well, it showed up in my final marks - I went from being very confident of myself coming out of high school to honestly believing that I had failed first term calculus. I was pretty devastated.

Second term came along, and instead of taking my poor showing in my math classes as a warning I took it as a sign to give up hope. I did progressively worse - I managed to fail my calculus mid term. Things weren't looking good.

About a week before the final exam I had a change of heart. I realized that I was seriously throwing away my chance to learn by neglecting my mathematics. I sat down for a week straight and punished myself with 14 hours of calculus a day. I was lucky - in the end I brought my mark up from the midterm by 43 percent and made it on the deans list.

Since then I never looked back. I'm frequently getting the best marks in my mathematics classes and I realize that to fully optimize my ability to understand physics I need to know math - no if, ands, or buts about it! The funny thing is that I actually enjoy learning math again! I even take math electives *gasp*!

So in the end, I feel that for some reason I have to let people know that they shouldn't second doubt themselves and that if you work hard at something and honestly make a serious effort to learn the stuff then you'll come through in the end. Hope this helps some people make a good decision when it comes to giving things up - sometimes it is in your best interests to divert your time elsewhere, but don't simply let go because you feel overwhelmed - that's often the point in life where a hard struggle will make you that much more confident of yourself.

I don't think I've felt as good as that day when I got my exam summary and saw that 79. It wasn't spectacular grade-wise, but the fact that I turned things around and proved to myself that I could do it definately made me appreciate what I was at school for in the first place.


HUGHAGI INDUSTRIES

We don't make the products you like, we make you like the products we make.
[ Parent ]

Gee...and I thought he was asking about school... (2.50 / 8) (#36)
by ChannelX on Fri Dec 15, 2000 at 01:08:48 PM EST

...not work. Why not get a clue and actually try to answer the questions the guy is asking and not go on a rant about 'the real work world'? Hate to break this to you but I had the exact same problems and attitude that the poster has and am working successfully at a very small company. Because the guy doesnt have a passion for math doesnt mean he wouldnt have a passion for programming and excelling at it. Pull your head out.

[ Parent ]
Real World vs. Academia (4.75 / 4) (#59)
by Kinthelt on Fri Dec 15, 2000 at 02:42:12 PM EST

The submitter was wonderring if math was important in Computer Science. It is. The original poster in this thread said that mathematics is not important in the Real World. That is also true. What most people don't understand is that you do not go to university to get a job, you go to get a degree. It infuriates me when I see the value of my piece of paper get flushed down the toilet the more it turns into a training camp for Microsoft or some other large IT company. I came to university for one purpose: To learn computer science. If I had wanted a job in IT, I could have just gone a community college and taken an 8-month course in C++ or Java.

To quote Dijkstra: Computer science is no more about computers than astronomy is about telescopes.

In other words, Computer Science is the science of computation, not of little machines. Trying to do Computer Science without mathematics is like trying to fly by flapping your arms.

[ Parent ]

I agree somewhat (3.50 / 4) (#70)
by ChannelX on Fri Dec 15, 2000 at 04:15:56 PM EST

Computer Science is a large catch-all these days. The comp sci you are talking about IMHO is much more theoretical than what most people who just want to program want to deal with.

Lets also not forget that just because the guy might have the attitude he does now re math that he will always have it. University is not necessarily the best means of judging a person's ability. I sucked at testing. Absolutely, completely, totally sucked at it. I always did great on the homeworks, the labs, etc. When it came to the finals I either did good or bad regardless of how I studied, how much I studied, etc. Unfortunately for me the majority of our grades were based on exams and not the actual work done. That is absolute bullshit in my opinion.

My degree didn't prepare me to be a computer scientist. The only thing that it taught me was how to write stupid programs in shorts amount of time. When actual Comp Sci theory was even mentioned it was never given a good context in to how it would be useful. Some professors basically just read right from the book because they were too wrapped up in their own projects to give a shit about really teaching.

If I were to do it all over again I would have done what another poster did (as did a friend of mine)....get a History degree and enjoy myself while teaching myself what I learned in CS classes.

[ Parent ]

Heh. (3.00 / 1) (#121)
by Zaediex on Sat Dec 16, 2000 at 03:05:58 AM EST

The submitter was wonderring if math was important in Computer Science. It is.

This from someone where, at their school, CS is a math degree.

Biased maybe?

[ Parent ]

Don't let that chip ruin your posture (3.30 / 10) (#37)
by 0xdeadbeef on Fri Dec 15, 2000 at 01:11:50 PM EST

[Regarding the last paragraph]

That's absurd. The bulk of all programming, excuse me, software engineering, requires no more mathematical knowledge than high school algebra. Even basic computer science requires no more math than the intuitive understanding most people have of what is called combinatorics and set theory.

These are the many faces of a good programmer: a coder, an architect, an engineer, a system administrator, a usuability expert, a business analyst, and a writer. You might prefer a more pretentious title, but you only make yourself look like that which you mock when you make an issue about it. It reminds me of "Certified Engineers" getting all pissy about the term software engineering, which I assume is the term you prefer to programming.

[ Parent ]

the P.E.'s who got pissy (3.00 / 3) (#71)
by Kartoffel on Fri Dec 15, 2000 at 04:24:13 PM EST

Engineering is about Getting Stuff Done. Good engineers are able to integrate lots of different concepts and make intuitive, abstract links between different things along the way towards creating something.

I might be a Real Engineer(tm), but as far as I'm concerned programmers and sysadmins count as engineers too! On the other hand, it's just a label.

The "Certified Engineers" who got pissy were Professional Engineers in Texas. A P.E. title carries legal weight and is sort of like being a doctor or lawyer (although not quite as heavy). They were annoyed at the MCSE program. You don't need to be a certified MSCE to install windows. On the other hand, the law in most places *does* require a professional engineer to approve new building plans.

Maybe our culture and infrastructure recognizes "professional" engineers more easily. I think that in the future, there may be such a thing as a legally recognized professional [computer_thing] person. That doesn't mean that professional anything is necessarily a good thing. More regulations and more laws means more waste and government overhead. Oh well, we'll survive.

[ Parent ]

A difference in terminology? (4.25 / 4) (#81)
by sigwinch on Fri Dec 15, 2000 at 05:21:36 PM EST

These are the many faces of a good programmer: a coder ...

I would consider coder and programmer to be interchangeable terms (or at least, they ought to be).  Example usage:  those job shops that turn finished specifications into libraries employ programmers.

... an architect, an engineer, a system administrator, a usuability expert, a business analyst, and a writer ...

To me, that's engineering:  using a variety of arts, especially the technical arts, to make your customers happy.  You didn't mention it, but cleverness, perseverence, and conscientiousness are important personal virtues an engineer must also master.

It reminds me of "Certified Engineers" getting all pissy about the term software engineering, which I assume is the term you prefer to programming.

Those wankers are irrelevant.  If the government came up with "Professional Shit Shovelers", and made you take a test for it, the PSSes would get all pissy too, and they'd bitch about the ditch diggers horning in on their turf.  I'm all for protecting public safety, but I don't see how creating a whiny guild helps. The real proof is in the respect of your peers, and whether your {buildings,circuits,programs} {crush,electrocute,crash} the general public.

Anyway, as far as I am concerned, if you use knowledge and ingenuity to design machines that make people happy, you're an engineer.  Many people can take a Learn Foo In 60 Days course and have basic competence at the grunt work, but engineering is a way of life that requires commitment.  I'd like to see software engineers take pride in what they do, especially seeing as how important software is to modern civilization.  Solidarity against the government engineering guilds is also a good thing:  when they do finally decide to come after software, it won't matter whether you call yourself a programmer, a coder, a software engineer, a console operator, or whatever, they will still make your craft illegal and try to drive you out of public business (to the benefit of the existing guild members and the politicians they support).

--
I don't want the world, I just want your half.
[ Parent ]

Titles (4.66 / 3) (#106)
by finial on Fri Dec 15, 2000 at 10:31:12 PM EST

My point is not to belabour titles. My use of titles was to illustrate that, within an organization, different people do different work. Doctors, nurses, anesthetists, surgeons, internists, clinicians and dental hygenists all practice medicine in one form or the other. That does not mean they are interchangable, no matter how good they might be.

This student is going for a Computer Science degree, not a programming degree. Math is important, even essential, for computer science. My whole objection to the post is the attitude that comes across. (I assume the poster is a "he"). Is he interested in giving it a try or even making an effort? No. He claims that it's "not worth the time and effort," and cares only "about learning the subjects I am interested in."

The primary benefit of a university education is that, by the end of it, you have learned how to learn. My guess is that I've never used more than 90% of the "stuff" I learned at college and I'd be willing to bet that's true for most undergraduates. I've never had any call to use spherical geometry and no one has ever asked me to compare and contrast Nietzche and Decartes. Not even at a party.

That other 10% includes knowing how to do research, how to problem solve, how to present your findings in a way that other people can understand and knowing the difference between their, there and they're.

So the answer remains. No one can tell you whether it's "worth it." If you can't, then you can't. Life can be cruel. But if you won't even try, then you are in for a rude awakening. Can you get a CS degree without the math? No. Can you be a good programmer without a CS degrees. Absolutely. You'll just be doing different work.

Some of the best programmers I've ever worked with have had music degrees. Why? I think because it teaches logical thinking and original approaches to problems. The worst programmer I ever worked with ... ok, there were two. One was a Microsoft consultant who couldn't be bothered to listen to a clients problem and, rather than fixing it, proposed a squillion dollar solution for something a bandaid would fix. Why? Because he couldn't (or wouldn't) come up with any solution other than one that was laid out as a road map for him by others. The other worst one was a MIS professor at UMass/Lowell who had absolutely no ability to solve a problem. Tell him 'I need a utility that does this and this and this and it needs to be extensible in this way and here is some sample data" and he'd come back with a buggy program that worked with the sample data only.

Which do you want to be?

[ Parent ]
I don't agree (3.37 / 8) (#49)
by (void *)0x00000000UL on Fri Dec 15, 2000 at 02:11:37 PM EST

After reading this, I can tell you you are not the sort of person that would be hired at my company. If you are not willing to make the effort to turn out good product, you should find another career. You don't say that you can't do the math, there are remedies for that, you say that it's just not

One day, a teacher showed us what a real world big company (who remained nameless) what they were looking. Tech skills accounted for only 50%. The consensus among companies is that most students going out of canadian engineering programs are all equally competent technically.

The other skills were so-called soft skills, leadership, good communication skills, team work etc... Basically, they don't want socially-inapt Dilbert-type geeks. Don't forget this.

[ Parent ]

Also... (2.40 / 5) (#52)
by (void *)0x00000000UL on Fri Dec 15, 2000 at 02:13:35 PM EST

You may be good at mathematics but what is worth if you can't apply them in real world situations ?

[ Parent ]
Barbie says "Math is Hard" (3.25 / 4) (#67)
by Kartoffel on Fri Dec 15, 2000 at 03:59:42 PM EST

But what is your education worth if you don't know how to apply mathematics to real world situations?

It's not the fault of mathematics that you can't think of any ways to apply it.

The point of Mathematics is not rote memorization, nor is the point of Mathematics to be purely pragmatic, practical application.

To really master any subject, one should know the theory and be able to apply it appropriately and accurately in real life. If you can't do both, you didn't learn it properly.

G.I. Joe says "knowing is half the battle". I guess that means being able to apply your knowledge is the other half.

[ Parent ]

Correct, for as far as it goes... (2.50 / 2) (#115)
by pb on Sat Dec 16, 2000 at 01:18:14 AM EST

I agree, but this happens a lot.

Personally, I think it's a flaw in the system; I understand the concepts, and I could probably figure out how to apply them. I'm not good at rote memorization, though.

If it were actually about applying concepts, don't you think I could use reference material on a test? I can use it in real life!

Basically, if school is supposed to train us for the real world, then the two situations should match up a bit more...
---
"See what the drooling, ravening, flesh-eating hordes^W^W^W^WKuro5hin.org readers have to say."
-- pwhysall
[ Parent ]
get off it.. (none / 0) (#147)
by ameoba on Sat Dec 16, 2000 at 06:23:00 PM EST

If school was to train us for what you now consider 'real world situations' you'd still bitch and whine about being forced into rote memorization. Sure, in the Real World, you can pull out your reference books when you need to use some concept, but when you've spent the last 3 months focusing on that concept you're expected to have it down to the point that several years down the road you'll be able to remember WHICH reference book to pull off the shelf.

That being said, all the math/science courses I've taken since HS (I took Calc in HS) have either had open book or open note tests, for the very reason that the profs don't care if you can blindly memorize facts... If can ace an upper division test with a book, you probably aren't going to do much worse without one..

[ Parent ]
Wow; lucky you. (4.00 / 1) (#159)
by pb on Sun Dec 17, 2000 at 02:32:09 AM EST

No, if I could use the book on a test, I wouldn't bitch (nearly as much :). My problem is simply with the rote memorization, and it wastes a lot of my time where I could be concentrating on, say, the theory.

About half of my upper-level computer science classes allow open-book or open-notes tests, but only one of my math courses did, and that's the only reason I ever managed to pass. Otherwise, I wouldn't be in college still.

So I hope you realize how fortunate you are. Or at least realize that if you don't need it, other people do.

P.S. Yeah, I took Calc I & II in HS too; but I didn't take my AP's, because they didn't mention that I'd need to... So I took them *again* in college, and didn't have real trouble until I hit Calc III...
---
"See what the drooling, ravening, flesh-eating hordes^W^W^W^WKuro5hin.org readers have to say."
-- pwhysall
[ Parent ]
I do practically no math (2.00 / 2) (#77)
by weirdling on Fri Dec 15, 2000 at 05:08:38 PM EST

Turning out a good product isn't the same thing as getting good grades in school. This is probably why I work at dot-coms. The work is more enjoyable and the management is not so anal. I could never work for a company who cared what math grades I got because I almost failed, but my CS scores averaged 3.83, so I guess I wasn't a bad student afterall, although I genuinely didn't care what grades I got...
I'm not doing this again; last time no one believed it.
[ Parent ]
school hoops (3.33 / 6) (#28)
by dexsun on Fri Dec 15, 2000 at 11:48:15 AM EST

i think it may be time to face some facts.

universities are always going to make you jump through hoops to get what you want. Most universities set up a cirriculum that forces you to take either xx course or garner xx course credits in a specific core set of classes. though its not meant to, i feel that it often punishes those of us who know, (for the most part), what profession we'd like to be involved in.
Universities set these 'rules' to give students a broader range of study, since most incoming freshman do not have any clue what they want to be doing when graduation roles around.

when i was in school, my CS cirriculum involved me studying topics that i had been through in HS already, until half-way through my junior year. unfortunately it took me a year of school there, and a lot of money, before i realized that i was wasting more of my time re-learning the same subjects, than focusing on what i did care about. thus i am just another college drop-out who has still managed to get himself into the IT work-force.

still, this is something that i do regret, and i would like to go back and finish school eventually, but i was not ready to sacrafice what i saw as my happiness, to jump through their hoops.

what it boils down to is this... if you can afford another university, then start looking around. check out different CS departments' cirriculums, and see what they want their students to do. check out their math departments too, cause you dont want to be stuck with professors who cant teach the way you feel you need to be taught. if you cant find something more appealing to you, then i say stick with what you got, especially if you really enjoy your CS classes. finding a school where you are comfortable is one of the biggest keys to doing well in class, and a CS degree can get you pretty far now-a-days seeing as how the topic has become so broad. you're best bet, then, is to find another student, who's good at math, but lacks computer skills, and trade off tutoring with that person.

well i feel ive rambled on long enough... i hope this helps you or someone else out.

good luck with your studies.
--dexsun

What worked for me... (4.00 / 6) (#29)
by bethorphil on Fri Dec 15, 2000 at 12:05:32 PM EST

I faced the same problem when I was in college. At first, I studied math for 3 hours every morning before my other classes. I had no social life because of all the studying, and my grades were STILL terrible.

Finally, (the THIRD time I took linear algebra), I decided that I just wasn't good at dealing with abstract math, and what I really needed was something concrete to visualize when I was solving problems.

My solution was to program a 3D graphics engine. Working in parallel with my Linear Algebra class, I related every concept from the textbook to what it could be used for in 3D graphics and animation. By the end of the semester, I not only had an 'A' in my math class, I also had a very cool demo to post on my web site and send to potential employers.

By relating the math to my programming efforts, I not only passed the math class with flying colors... I also became a better programmer for it.

(I only wish I had thought of it earlier, since my Calculus classes would have probably gone much smoother, too!)

Very nice... (3.50 / 2) (#32)
by porkchop_d_clown on Fri Dec 15, 2000 at 12:39:22 PM EST

That never occurred to me at the time, but on reflection I have to admit that my (circa early 1980's) attempts at developing 3d rendering software really helped me understand matrices, vectors and so on.



People who think "clown" is an insult have never met any.
[ Parent ]
...so, uh... (3.00 / 1) (#86)
by goosedaemon on Fri Dec 15, 2000 at 06:01:12 PM EST

what's the URL of this demo?


[ Parent ]
Don't Panic! (3.00 / 4) (#31)
by porkchop_d_clown on Fri Dec 15, 2000 at 12:37:38 PM EST

First, let me admit that beginning with Calc II and continuing through the rest of my college career, I got C's and D's in math. I admit it - I hit my limit. If I can't picture the problem graphically in my head, or if it involves a ton of memorization of nearly identical formulae, I'm toast.

Second, I will be the first to claim that those math classes were extremely important to me as a programmer. Not the particular algorithms and formulae, but the ideas (what are statistics good for) and, most importantly, the ability to think logically and mathematically. (what is the freaking output of this function supposed to be?)

Like it or not, all programming is a kind of math. I know lots of programmers who think it's different. I also know lots of programmers who produce bloated, buggy and inefficient code. I'll leave it to you to decide how much overlap there is between the two groups.

Even if you forget how to partially differentiate the day after the exam, you will always benefit from the discipline of analyzing problems, identifying possible solutions and, in the end, even how to study a book full of strange and obtuse text ("The Art of Computer Programming", anyone?) and figure out how to apply it to those insufferable problem requirements you're working under.



People who think "clown" is an insult have never met any.
Two things to consider (4.42 / 7) (#35)
by amokscience on Fri Dec 15, 2000 at 01:06:12 PM EST

1) You might see if you can take equivalent courses at your local Community College. Sometimes the university will give you credit for the course and I've yet to run into anyone who thought the community college version of a course (physics, english, math, history, etc) wasn't a joke compared to the ful blown university.

2) I don't see you mentioning working with a partner or group. Despite all the threats professors make about "You must work alone" it is to your vast benefit to hook up with a few friends or classmates and group study. Just don't copy homework ;P Besides, in the *real world* no one tells you that you can't work together.

I learned everything on my own through my education until the last semester of high school when our Physics AP teacher decided that we were a hopeless group and essentialy gave up on us doing well on the exams. 10 or so of us buckled down and did reviews on weekends and at night. 4 of us got 5s on both Mech and E&M and everyone who took the test got at least a 3 on Mech. Incredible experience.

Same thing for Differential Equations and Vector Calculus in college. Got together with a group of friends and worked through the problems. Everyone who put in their time and attended the study sessions passed.

Now as for is it worth it? That's quite debatable. However, lacking a degree is a significant blow to your salary and job progression. You'll set yourself back about 4 years in terms of salary and advancement. I have a friend who's a very good programmer and only 20 but he doesn't have a degree and he's been jumping from one company to another in an effort to move up. He doesn't get taken seriously as a programmer either. It closes a lot of doors and your starting salary at a company will always be lower than a graduate. Whether you're a better programmer or not is irrelevant if you can't get in the front door.

My general advice would be to "Gut it out". You're smart enough to make it through. CS departments would love to see you switch majors. They're all overloaded anyways and try to weed out students as often as possible. Only people who really want that degree get it. Everyone else ends up in IT or psychology, or history, or some other 'substandard' (from the CS department's pov) program. Besides, when you're done you can look back on it and laugh when you're at work.

How to get through stupid maths courses (3.11 / 9) (#40)
by lewbowtica on Fri Dec 15, 2000 at 01:37:39 PM EST

I was forced to endure two years of maths as part of my degree in Computer Science. Because we were CS-ers, the Maths Dept. decided that they were only going to give us the most dull, uninspiring, cretinous lecturers with the widest range of interesting speech impediments (saving the good lecturers for their 'own students' - those doing maths as their degress).

Needless to say, I and most of my circle of friends built up a long standing animosity towards the maths department - it was boring as hell, they were arrogant, they didn't give a damn about us.

Luckily, personal experience has shown that the maths is bullshit, and you'll never need to use it unless you're some sort of uptight Uber-geek. You know, the uncool geek... the type *without* the self-deprecating sense of humour. The type who sneer at you if you admit to not knowing XYZ about kernel internals... The type who live in the labs and never go to parties.. and they smell... and they're in league with the EVIL MATHS DEPARTMENT... Sorry, got a bit carried away there. *cough*

Anyway, enough preamble. Here are some helpful rules that I and my friends used to help us get through maths (we made it in the end).

  • Rule 1: Maths is expendible. If the lectures are causing you pain, or are early in the morning, forget about them. Stay in bed. Reward yourself by going out for a bagel, espresso and cake.
  • Rule 2: You can always learn it later. The week before the exam is a good time. Ease your guilty conscience by repeating this mantra to yourself in times of need, "It's all in the book, It's all in the book. What I really want now is a bagel".
  • Rule 3: Cultivate an interesting social life and use it to inflate your ego so that you can look down on those who enjoy maths/are putting in the work. Bagels help.
  • Rule 4: Always do the homework with your friends. That way you'll feel less guilty when you have to write down lame answers that you know are wrong. In fact, there's a sense of comradeship to be had when you're all equally crap at maths - it's nice to know that others can score 14% too. Bring bagels.
  • Rule 5: Avoid maths tutorials. They are a painful and humiliating experience. Go to the minimum number requried (every second week worked for us) and that way you only have to do half the painful and boring homework too. Spend the extra free time eating bagels.
  • Rule 6: Turn up late for the maths exam - this we managed to do on a couple of occasions. You can usually avoid the first 20 minutes of exam-pain like this, but they won't let you in if you're more than about 30 mins late. It helps if you don't know where the exam is, and if you walk slowly and get bagels on the way.
  • Rule 7: Get Ill. This is quite difficult to pull off, and there's a certain amount of luck involved. You can actually miss a whole exam this way, and it'll be postponed until some time in the far far future!
So there you have it, if we can do it, you can do it... don't worry, go have a bagel.

Now I get it! (3.00 / 1) (#69)
by kagaku_ninja on Fri Dec 15, 2000 at 04:15:25 PM EST

I was forced to endure two years of maths as part of my degree in Computer Science. Because we were CS-ers, the Maths Dept. decided that they were only going to give us the most dull, uninspiring, cretinous lecturers with the widest range of interesting speech impediments (saving the good lecturers for their 'own students' - those doing maths as their degress).

The most utterly boring instructor I had in college was for Discrete Math. This totally fits...

The cool part was that my friends and I just skipped class entirely, just showing up each Friday long enough to hand in homework, take the quiz (and then leave). Then for the take home final, we stayed up the night before it was due, and worked everything out as a group.

[ Parent ]
That's the spirit! (2.00 / 2) (#94)
by lewbowtica on Fri Dec 15, 2000 at 07:49:54 PM EST

But did you have time to eat plenty of bagels?

[ Parent ]
Bagels (2.00 / 2) (#102)
by kagaku_ninja on Fri Dec 15, 2000 at 09:31:36 PM EST

Our clique wasn't into bagels. Mainly what ever food could be smuggled out of the dining hall (mostly crackers), free coffee at midnight when the coffee shop closed, as well as the occasional Domino's Pizza.

Ah, youth... Now I eat sushi dinners and get payed big cash, but those were the happiest years of my life (well, except for the no girlfriend part...)

[ Parent ]
Be careful (3.50 / 2) (#96)
by kubalaa on Fri Dec 15, 2000 at 08:30:58 PM EST

People tell me I'm sarcasm-challenged; I honestly can't tell if you're joking or not, but if you're not then I think that's very poor advice.

Skipping all your classes is an excellent way to screw yourself if you're not good at math. All the math books I've ever seen are at least as hard to understand as the professor is, and I've never known anybody who finds math difficult able to teach themselves just from the text. Study groups are great though, as are tutors. I'm fortunate in that the TA I had for Cal 1 was really cool; I found the material easy but he made it interesting and he was also able to help people who were having more trouble. So, if your professor's that bad, then you should just find a tutor or a TA that can help you.

As for this nonsense about showing up late for exams and skipping tutorials... remember the original poster finds math hard. I can't imagine how bagels will help him.

[ Parent ]

The irony... (4.50 / 2) (#105)
by lewbowtica on Fri Dec 15, 2000 at 10:13:19 PM EST

...of this, is that I posted elsewhere in k5 today wondering if someone else was being sarcastic, and proposing that maybe I'd underestimated the American grasp of the concept. I guess this is how I see it:

I wouldn't honestly advise someone to do what we did (and yes, we did all of those things) and I don't think that anyone could possibly take my advice literally.

What I'm trying to convey to the original poster is that he shouldn't worry too much about it, he'll probably get through it (but the fact of the matter is that I don't really know him, so I've no idea if he will).

All that's rather academic, as my primary concern is to contribute to an interesting discussion on the topic of maths in CS courses, or more specifically in my case, a discussion about "How we mighty geeks managed to get through this rite of passage, despite everything, including spectaularly stupid behaviour regarding exams and tutorials".

So, anyone got an old war-stories from their period of forced labour in the mathematics boredom-camp?



[ Parent ]

The key! (none / 0) (#194)
by joe_nobody on Wed Dec 20, 2000 at 01:31:44 PM EST

Your original post betrayed a fundamental misunderstanding of THE key concept in the field of mathematics: partial credit. Partial credit is Gift from god that allows us non-Russian savants to succeed. Just copy several pages of work from a text, change a couple of lines to fit the problem, make up a final answer and presto! Partial credit. My world was shattered however when i took real analysis. I had beautiful 3 page proofs; dense text that had been written with .1mm lead by midget scribes with really good eyesight. A logical mis step developed near the middle of page 3, causing my path to slightly deviate from what was intended. I got 1/50. Presumably the 1 was for getting my name right. I never took any more higher math.

I still endorse the partial credit method in all 'mechanical' math classes, like calculus, where the thinking takes about 5 seconds and rest is algebra. Similar to my particle physics class - the physics could be grasped by a syphylitic kindergartner, but the resulting tensor algebra required several supercomputers to complete correctly. All across town the lights dimmed the night before a problem set was due...





[ Parent ]
C's Get Degrees----calcUSELESS (2.55 / 9) (#42)
by Chizzad on Fri Dec 15, 2000 at 01:48:14 PM EST

The main thing to remember is that C's get degrees. Your GPA is not actually that important as long as you pass. Take it from me. It took me 7 quarters to get through 5 quarters of calc. If I ever see the TA who gave me an F, he's going down, I deserved a C or at least a D. One thing that helped me through was to work with other people for studying Calc.

If you can use it, get a TI92. It does indefinate integration and diferentiation. Just punch it in, get the answer and fill in some crap in between. In Calc 2, we were not able to use calculators until the final exam. I failed everything until the final where I studied my ass off and could use the TI92. The deal with the Prof was anyone who got an A on the final got an A for the course. Again, they screwed me. I aced the final and received a B.

Just remember, college is nothing more than a bunch of shit for a piece of paper that says you can take X amount of shit! Sad but true, that's just the way it is.

Also, a little joke:
Q: What do you call a doctor who graduated in the bottom of his class?
A: A doctor

Sig? sure but it's pretty cold outside.
evaluation (4.20 / 5) (#43)
by xavii on Fri Dec 15, 2000 at 01:52:03 PM EST

when i started college 4 years ago, i was in the minority of having a major set when i entered college. i never waivered. i love my major.

not to be conceited or anything, but i know more about computers than the great majority of the entire cs school.

the funny thing is. i don't major in CS or IS or those other computer degrees. i major in the artsy one called Human Computer Interaction. Most people don't really know what it is, but it's your doorway to getting out of math.

i also sucked at math and found that as long as a passed out of Calculus 1, i wouldn't have to take anymore. For the entire degree i had to take 2 math classes which luckily i passed out of with a placement test.

HCI is a mix of computer science, graphic design and psychology. You choose what you want to focus on. You take the required minimum of each subject and then just add on your preferences. I chose to focus on a mix of CS and design. i learned enough psych, but it didn't interest me all that much.

CS is ever expanding, and a base CS degree may not be what you need. Of all the places i've worked, the majority said the under grad degree didn't matter when getting a job, it's your competence level.

i work right now in a networking department with a 2 biology majors, one theatre tech major, a couple drop outs and one CS major. If you have the skill, you will get a job.
xavii aka bob
Go with Library and Information Science!! (2.75 / 4) (#45)
by dadop on Fri Dec 15, 2000 at 01:56:26 PM EST

I would advise you to stay away from the really hard-core computer science stuff--you sound like I did a year or so ago. Look into some library and information science programs...some of them lean very heavily toward the "techy" side. In fact, I just finished a systems analysis class the other day.

With your skills--already--you would be a desirable employee for many libraries and/or research institutions looking to integrate the web and technology into their services.

Give it a look.


Not in the UK (3.50 / 2) (#51)
by vb.warrior on Fri Dec 15, 2000 at 02:12:08 PM EST

I dont know about the US but in the UK Infomation science and related subjects are heavily watered down versions of computer science.

I was shocked to find that a friend of mine doing an Information Management and Computing degree was not being taught to program in C. In fact they dont touch anything above simple GUI programming in VB until mid way through the second year. This compares to my Software Engineering degree in which were learning C++, VB and Assembly on a 68000 in the first year.

I gag at having to take a single Business module, but most of these types of courses are about 30-40% business. Computer Science degrees may not be as up-to-date but they teach skills that are in suspiscous lacking in more business and information related courses.

Like I said this is just the situtation in the UK but can it be so different in the US?

[ Parent ]
Library Science? (5.00 / 1) (#80)
by Asperity on Fri Dec 15, 2000 at 05:21:12 PM EST

I'm thinking about getting a master's in library science at some point, since it's required to get a job as a librarian almost everywhere in this country. I love working in libraries, and have done so since before they were legally able to hire me. It's a great environment, with lots of interesting people and a near-infinite wealth of stuff to learn. At least, if it's done right. I've worked in at least one really terrible library that didn't deserve the name, but that's another post.

I've dealt with computers on a hobby level for years, and have currently got a job in a Linux shop. It's fun and interesting, but I'm not sure it's exactly where I want to be.

I decided a while back that CS/engineering wasn't for me, in large part because of the math requirements. I enjoyed my university's international studies program long enough to get a subsidized trip to Mexico, then signed up as a classics major. Probably the most non-technological field possible, but it's terrific.

Anyhow. That'll get me a degree, which I figure is worth it no matter what field it's in, but what to do afterward? I figure I'll get some sort of techish job for a year or so at least, and then think about grad school. I think that working as some sort of library sysadmin might be what I want to do. Something that'll let me get some of both, so to speak, and give me time enough outside of work to keep up my Latin skills, plus let me do work I'll enjoy in an environment I already know I'm happy in.

Is there anybody here who's in that sort of work? If so, what's it like, and do they specifically look for folks with a CS background? From what I've seen, library science master's programs are generally a load of nonsense (a friend at one of my old libraries was in one while I knew her) and are pretty much a bunch of inane "theory of information" stuff that doesn't help much. I think most library workers would be better served by a broader education in some field of actual -knowledge- as opposed to jargon that's only useful talking to other librarians. Sort of like the evil way education schools are run. (Don't ever, ever take education classes. They're a Bad Thing, even if you're planning on teaching for a living.) I think I'll stop here; I've forgotten what my point was.

[ Parent ]
i had a *great* time at school (2.83 / 6) (#46)
by johnzo on Fri Dec 15, 2000 at 01:58:58 PM EST

I had somewhat the same situation as the poster -- I hit the wall in my second year at university, failing both differential equations and multivariable calculus, and I didn't fail them because I didn't try; those classes ate up about 90% of my out-of-school study time, which was about 75% of my non-work-non-school time. The annoying part was that I got B+'s in my computer-oriented classes with a very minimal effort, and could have easily had A's if I hadn't been freaking out about calculus. I didn't go back and repeat the math, and I'm glad I didn't. I wound up taking as much pure CS as I could, puzzled out whatever math I needed (like big-O notation) and graduated with a generic bachelor of science degree. And I had an awesome time along the way -- once I figured out the exact level of effort it'd take to get my ass out of school with a degree, I found all kinds of time to party and write SF and play roleplaying games and baseball and football and hockey and sit up all night at coffee shops debating philosophy and have weird al yankovic sing-alongs in steambaths with my buds and put together the odd videogame when I had two weeks of spare time. Those were great days. I'm totally confident that I'm a better person now than my unhappy alternate-universe self who killed himself trying to figure out how to integrate over one of those weird German infinite series. You want my advice? For chrissakes, dude, you're young! You owe it to yourself to have a good time. If not now, when? There are a lot of different paths to success in this biz. Things worked out great for me -- five years after graduated, I'm the lead developer with a small web company, and I find that the people skills I developed during my fun-loving university days help me more in my day-to-day work than anything I ever learned in a university class. What I read in a lot of posts here is people defending the investment in time and sweat they put in at university, and that's perfectly fine -- but don't let them con you into thinking that their way is the only way. zo.

this time with <P>-tags (3.50 / 2) (#50)
by johnzo on Fri Dec 15, 2000 at 02:11:54 PM EST

Ironically, in a post decrying the need for careful, hard work in school, I neglected to include paragraph tags.

Instructive, no?

If anyone cares, here's my post, properly paragraphed.

I had somewhat the same situation as the poster -- I hit the wall in my second year at university, failing both differential equations and multivariable calculus, and I didn't fail them because I didn't try; those classes ate up about 90% of my out-of-school study time, which was about 75% of my non-work-non-school time.

The annoying part was that I got B+'s in my computer-oriented classes with a very minimal effort, and could have easily had A's if I hadn't been freaking out about calculus. I didn't go back and repeat the math, and I'm glad I didn't. I wound up taking as much pure CS as I could, puzzled out whatever math I needed (like big-O notation) and graduated with a generic bachelor of science degree. And I had an awesome time along the way -- once I figured out the exact level of effort it'd take to get my ass out of school with a degree, I found all kinds of time to party and write SF and play roleplaying games and baseball and football and hockey and sit up all night at coffee shops debating philosophy and have weird al yankovic sing-alongs in steambaths with my buds and put together the odd videogame when I had two weeks of spare time.

Those were great days. I'm totally confident that I'm a better person now than my unhappy alternate-universe self who killed himself trying to figure out how to integrate over one of those weird German infinite series. You want my advice? For chrissakes, dude, you're young! You owe it to yourself to have a good time. If not now, when? There are a lot of different paths to success in this biz.

Things worked out great for me, BTW -- five years after graduated, I'm the lead developer with a small web company, and I find that the people skills I developed during my fun-loving university days help me more in my day-to-day work than anything I ever learned at university.

What I read in a lot of posts here is people defending the investment in time and sweat they put in at university, and that's perfectly fine -- but don't let them con you into thinking that their way is the only way.

zo.

[ Parent ]

Computer Science != Programming (3.83 / 6) (#48)
by dead_penguin on Fri Dec 15, 2000 at 02:07:12 PM EST

I think a common misconception is that people believe a computer science degree is the best way to learn how to program or even become a sysadmin. Many universities and especially colleges have caved in to this and are offering courses as part of a CS degree that are little more than glorified VB/Java/Whatever-Language-Is-Trendy programming courses. Computer Science is (and should be) far from simple programming. There is so much more that is an essential part of it, and most of it does depend on the math. Whether you're learning about algorithms, hardware, languages (from a formal perspective), or even complex data structures, everything draws heavily on mathematics. Any CS degree that doesn't include this is essentially incomplete; an analogy from the arts side of it would be an English degree that only taught you how to write good essays, but never asked you to read a book. If you simply want to be a coder, go to some technical institute and take their two year program or whatever they're offering, but if you want a deeper understanding of computers from a theoretical perspective (which *will* help you code much better in *any* language you come across), get a CS degree. I hope this doesn't come across as elitist in any way, but I'm just so sick of people going into CS with no appreciation for what it really is, and just wanting to learn how to code so they can make lots of money.

Computer Science == Language & Set Theory (none / 0) (#167)
by TigerBaer on Sun Dec 17, 2000 at 02:34:33 PM EST

I i agree the CompSci is far from programming. I am a third year student at RIT, and luckily my school is very aware of this. I know several languages (from Imperative to Functional) and have taken a slew of math courses.
I did bad in my calculus courses, as the orignal writer of the article did, but when i began Discrete mathematics I found that I picked it up much quicker. After finishing both Discrete I and II I am finding Calculus makes alot more sense.
I also took a CompSci Theory course, which revolved around languages, more specifically grammars (context free.. regular .. etc) and expressions, and how to build syntax and semantics. THIS is the key to computer science. It can only be learned with a solid foundation in Discrete Math. Calculus is accessory knowledge, that can mostly be understood easier by CS students once Discrete Math and Linguistics have been explored.

Anyway, I reccommend looking into taking Discrete math, and Language theory (grammars, CNF.. etc). This will simplify alot of calculus, and make you a much quicker learner. It greatly enhances your understanding of programming languages too.

[ Parent ]
Education != Job Preparation (4.00 / 6) (#56)
by mpeever on Fri Dec 15, 2000 at 02:28:41 PM EST

The problem I see in so many of these stories, and in most American students, is that the only perceived value of education is job preparation.

Calculus is the most significant advancement in Western thought. It is Calculus and Newton's Laws that have distinguished our society from all others. The one makes infinity a practical idea, the other reduces the universe to a mechanical object. No other society has ever developed these two concepts as finely as that of Western Europe. This does not imply that Western society is superior to others in any other way... :)

My point is that Calculus is not about solving programming/Physics/Chemistry problems, it is about being able to intelligently grasp the concepts of inifinity. It also teaches the ability to solve a problem through a completely counter-intuitive methodology. The brachistochrone (did I spell that correctly? it's been a few years) problem is one of the greatest examples of genius bending all logical rules to produce a result that I have ever encountered.

If your motivation for being in school is to get a better job, then you will at best minimally profit from your experience at the university.

Re-evaluate your goals: are you interested in developing your mind, or your skill set, or both? Education might only debatably improve your programming skill set, but it will greatly improve your mind, if you put in the appropriate level of effort. Practical experience in programming might well help your skill set much more dramatically than school, but then you could end up being a highly-skilled programmer who is really insignificant unless s/he is around code.

There's nothing wrong with not wanting education-- I used to teach and the attitude is extremely common-- but there is something very stupid about spending all that time and money for something you really don't want.

Just my [rather biased] viewpoint...
"Assertion is not proof" -Erasmus

Education == Job preparation (3.00 / 2) (#110)
by julian on Fri Dec 15, 2000 at 11:17:47 PM EST

I think the major problem in the US is that if you want a decent job, you need a college degree. It's as simple as that. It's my situation. I love to learn, but I really don't want to have to go through 4 years of college before going on with life. Unfortunately, if I want a job in the computer market, I'm fairly certain I'll need a college degree. Maybe not when I'm younger, but I'm constantly told that it's going to seriously hurt me later in life. So I've decided I'll try to make the best of the situation and take the 4 years to learn (instead of prepare for a job) - as much as I'd rather be spending all of my time working, learning from real-world experience, helping with Open Source projects, etc.
-- Julian (x-virge)
[ Parent ]
Education is learning how to learn (4.33 / 3) (#114)
by flieghund on Sat Dec 16, 2000 at 01:10:57 AM EST

I want to start off by applauding your decision to stick with college. It is a tough thing to do (the people who say college is easy are either making it up or can't remember what they went through themselves). It may not be the most difficult thing you have ever done, but it certainly is a lot of hard work.

Having said that, I love money. But I really don't want to have to go through 30 years of jobs before retiring as a multibillionaire. Unfortunately, unless I get really lucky playing the lottery, I'm fairly certain I'm going to have to work for at least most of those 30 years. So, I have decided to buckle down and get a job.

College is about 4/5 theory. It teaches you how to think abstractly about subjects that are often very technical. It teaches you how to develop a solution to a given problem within a framework of requirements and restrictions. And by doing that, it prepares you for the working world much better than a series of specific, individual real-world projects could.

The other 1/5 of college is just that kind of specific, practical experience. Theoretical knowledge is meaningless without the understanding of how to put it to use in a real-world situation.

It really harks back to the old saying, "Give a man a fish, and you feed him for a day; teach a man to fish, and you feed him for life." A lot of CS majors I knew in college were always clamoring for more "real-life" exercises. These seemed to be same people who complained when they were required to code a program in Visual Basic. I never understood why they should be complaining; VB is used extensively in the real-world, and the subject of the program (which escapes me) seemed like it would be a practical, worthwhile program.

Well, I hate to break it to folks, but you can't have it both ways. If you want an education that is very technically and "real-world" oriented, go to a technical college like ITT Tech. That school system in particular is extremely good at producing qualified individuals in every degree course it offers. I am absolutely serious -- the ITT grads I have met are phenomenal at what they do. Unfortunately, the theoretical knowledge that these individuals lack cripples (most of) them whenever something "out of the ordinary" enters their world. The company they work for decides to switch from MS VB to Borland C++ (not even sure if this makes sense, but bear with me). From the people I have met from both sides of the issue, the VB-trained ITT Tech guy would start touching up his resume, while the CS-major gal would piss'n'moan, and then get back to her programming under the new language.

Why the differnce? On the one hand, the CS-major spent 80% of her time learning theory in a traditional college setting. Only a short time was spent on each language (with one or two occupying the vast majority of practical programming time), with the theory behind programming taking precedence. The ITT Tech guy, on the other hand, took a year or two becoming the best damn VB programmer the world has ever seen. Unfortunately, that didn't leave a lot of time to learn about other languages, or even the theory behind programming itself.

So, really, it comes down to what you're expecting to get. Too many people believe that college is there to prepare you with technical, real-world skills. It isn't. It is there to prepare you for a real-world job, but on a higher level of the theory behind whatever it is you're doing. College teaches you how to adapt to changes in the world around you.

In closing, a bit about myself: I was an architecture major -- five years of pure torture that made the hells of CS look enticing enough to switch for at least two close friends. The reason I bring this up is because, as strange as it may sound, architecture classes did not teach me how to construct a building. The structures classes did not teach me how to exactly calculate the stresses in a wooden beam. The history classes did not require me to memorize exact facts about structures built several millennia ago. Instead, my classes taught me how to think about their particular subjects, how to approach a problem logically, and work methodically towards a solution. I know how to design a building so that it will be easier for someone else to construct; I can intelligently guestimate about a structural member to determine if I need to make it bigger, or if it can be reduced to save money; I roughly understand the progression of architectural styles, the rationale behind important buildings of certain times, and what was good and bad about each, so that I don't make the same mistakes again. Specialists in each of these areas will always know more than I do. But that is not what I wanted. I didn't want to be a contractor, or a historian, or a structural engineer; I wanted to be the guy who brings all of these people together because I see the big picture. That's why I went to college.


Using a Macintosh is like picking your nose: everyone likes to do it, but no one will admit to it.
[ Parent ]
check out non CS degrees (3.75 / 4) (#58)
by gulthek on Fri Dec 15, 2000 at 02:34:13 PM EST

I transfered into this University as a junior from a small community college. Having a passion for computers I declared my transfer major as computer science, which doesn't actually exist. The major is mathematical sciences with a computer science option, this was the first hint that this might not be for me.

Only having a couple non-calculus math courses in a math major, I was...a little behind. Starting calculus that semester in what was supposed to be my junior year I knew I was in for trouble. I easily passed the intro programming course with a high A, the other courses that I took were A's and B's, and calculus earned me a depressing C. This trend continued into the spring semester, and then to the beginning of this semester. A couple months in I realized that I was going to be in for some serious trouble with the math ahead.

So I stepped back, talked to my friends, talked to an advisor, and decided that in truth a compSci major just wasn't for me. I still enjoy programming, but I realized that I enjoyed learning about other subjects even more. I also realized that it would probably be more beneficial in the long run to treat college as a wonderful learning experience, and not job training.

So, with the help of a Dean, I trimmed down to two classes this semeseter and next semester I will begin taking classes in my new major: History. As another poster said, at least I'll be able to make my living as a wandering storyteller. :-)

Before you decide anything, grab a course book and read about the other majors that might interest you. Take a look at the major worksheets for any that catch your eye and work out what it would take to graduate. I'll be graduating late, but no later than I would've if I had stayed on track in the compSci major.



Encouragement on this path (4.66 / 3) (#65)
by slaytanic killer on Fri Dec 15, 2000 at 03:47:31 PM EST

If the original poster wants encouragement on this path... I have known quite a few people who've taken on other majors, and worked in the corporate world. It is not clear that's your intent; you never talked about the corporate world. But if that's your aim, all you have to do is prove yourself, write some apps on your own time that prove you know what you're doing. It does not sound like money is too tight in your situation.

Most importantly, unless you really have an anal college, you could always take CS courses without taking any heavy math prereqs, no matter your major. If the college is anal, then you can speak with the prof, which is probably the best possible thing. That means you'll know a lot about software development (good/bad bullshit like UML, design patterns, etc) without doing things that in the end analysis don't interest you. You can meet the people you want to meet. Again, if you want the corporate world for some reason, no one will be anal about you not having a CS degree. You can work. You will have a competence that is very high, since the standards in the corporate world are nothing like some people suggest here. And there is a reason for contract-to-hire agreements, so you & your prospective employer can check each other out before committing deeply.

Or take some time to get into math, with a good teacher in book or human form. Find the teacher and don't roll the nice. You're already more of a mathematician than you know. The best book to learn math may not even be a math book. Mathematics is the focused study of things which pop up elsewhere.

The options you have are bewildering. It is not a binary, on-off get the CS or not choice.

[ Parent ]
College/University vs. Technical Training (4.00 / 4) (#72)
by adx on Fri Dec 15, 2000 at 04:26:43 PM EST

I'm a junior in a true Comp Sci department at small (< 1500 students) liberal arts college and I see a lot of this everyday. When I first came in I wasn't too thrilled with having to take math classes. I wanted to learn how to be a better programmer.

In my 2 and half (well half after I finish this paper that's due at 5 :) years I've taken a wide range of comp sci, math, history and politics classes. I've only had two true programming classes in the >60 credits I've completed. The first was Comp Sci II which was an algorithms and data structures classes and I'm currently in a Software Models class which uses Java and VB to do a lot of different software development work (db, real-time, user interface, event-driven, etc). Of all these classes the ones I've enjoyed the most are my upper-level comp sci classes on programming language theory, compiler theory and operating systems theory. Between these classes I wrote one program, a Pascal compiler. I enjoyed the programming, but enjoyed the theory a little more.

Anyway now for the point of all this. Now that I look back what I was looking for over three years ago while still in high school was actually a technical program better offered by a true technical school and not a college or university. I'm happy about the decision I made though. I wouldn't have enjoyed the pure technical aspect, I like the theory. The problem is over 75% of the people in the computer science program here want the technical side and they aren't going to get it here or even up at Penn State (which is 40 minutes away) in a true Computer Science program. These are like the people (maybe even you) who's comments I've read and seem like college/university really isn't what they want(ed).

In the meantime I've decided to take all the math classes I need (and then some) to go to graduate school to persue my degree futher. Hey what can I say I like this stuff and I don't want to be infront of my monitor programming 24/7. I still enjoy programming and contribute to projects all the time and someday maybe I'll be the one to create the next big thing (language maybe, that inrests me the most right now). I could use the money. Now back to that paper for operating systems so I can finish this semester.

PS - some of you would hate this place. EVERYONE has to take a stats class. You can be an art major and they still make you take a social stats class before you leave.

I'm in the same situation, kind of. (4.00 / 2) (#73)
by paulerdos on Fri Dec 15, 2000 at 04:30:36 PM EST

I love computers. I am passionate about and excited by the role of technology in the average person's life today. I know that I want to do something with computers for my career, and that I want to learn as much about them and the science behind them as possible while I am in school.

Note that it is not necessary to get a CS degree to "do something with computers" for your career. It really depends on what you want to do with them, from working at Best Buy computer upgrade center to tech support at a local ISP to a sysadmin at some company to a developer at some software company to working as a CS researcher at Bell Labs.

Now, which of these things (or something not listed) do you want to do? And does that thing require (or would greatly benefit from) a CS degree? From what I've seen, it doesn't. The only requirement is that you know your shit, and you want to do it.

Having said that, I'm not suggesting that you not take any CS classes at all. One possible alternative is that you major in something else that doesn't require years and years of math, and still take enough CS classes that you know the stuff. I have many friends who have taken enough classes in a subject to get a degree in it, simply because they are interested in it, but did not get a degree in it for various other reasons.

On the other hand, would math benefit you in [whatever you want to do] ? For instance if you want to go into theoretical CS research then my guess is that further math courses would be beneficial/necessary. If not, i.e. the only benefit of the math courses would be for the degree requirement, then take the option above.

Now for my personal opinion: I think that you do have something to benefit from taking at least single and multivariable calculus. I value having taken those classes not for the material itself, but because it changes the way you look at things. Problem X might not require the use of calculus, but having taken the class, I might be able to solve it much more easily because I look at the problem differently. etc. I mean, after all, that's what education is for. And that's why I'm getting a degree in CS, even though some of the requirements are "annoying."



Math and Comp Sci (4.33 / 3) (#75)
by kevbeezing on Fri Dec 15, 2000 at 04:43:18 PM EST

Warning: Rambling Comment Begins Here

I hated math. I couldn't stand the subject. I sounded remarkably like you at one time. I left the university I was at and went to a different one which had a much better math department. My grades and my understanding of the higher level Computer Science courses greatly improved.

If the university treats nonmajors as inferior, change universities. Unfortunately this is the case in many places. I found that a smaller university was more focused on teaching all of the students, not just the pure majors (your mileage may vary). If you stay at a large university, start asking students which professors are worth taking.

Go to the prof, ask for help. Hire a tutor. Eventually you will get to a level were things will start "clicking". Always do the homework with a group. Group members will teach other members what they know.

I suffered through and finally found that math really is interesting when I hit a good prof at a high level (Differential Equations (essentially Calc 4)). I was in this profs office every other day, Me and a friend of mine were always doing the homework together. It can be done. It does take work.

High level comp sci is very mathematical. I strongly believe that I understand my major to a better degree because of the math I suffered through. I even like the stuff now *blush*

Kev

Stick with the Math! (3.60 / 5) (#76)
by granto on Fri Dec 15, 2000 at 04:58:54 PM EST

I have to admit that I'm a horrible mathematician. But I
am currently finishing my fourth year as a CS major
and I can honestly say that I've taken every math course
offered except the core degree (4th year) courses (since I have to take
my own major degree courses) and a single 3rd year course (complex analysis - I
didn't like the prof). That actually means that I've got as many (if not more) math courses than CS courses
and it's helped me lots! Sure, my average in those courses sucks (like between 50 and 75%
depending on the course's focus), but when it comes to implementing major code functionality
or evaluating the effectiveness of an algorithm or even
learning a new programming language, I'm light years ahead of my peers who did not focus on their mathematical skills.
Even if it kills you, stay in it, because when it comes down to it, algorithms and computers
are mathematical objects.

Perhaps... (4.25 / 4) (#78)
by ellF on Fri Dec 15, 2000 at 05:11:10 PM EST

i am not in a position entirely dissimilar to yourself, and i've been struggling with whether to stay with CS or move on to something else for the past on so. i've come to the conclusion that while i enjoy working with computers, and i like programming, it is not for me. i *could* stuggle through, but the reward isn't there for me - i already work for a major CS company, and while a CS degree would be helpful, it doesn't fit with who i am.

in my case, i realized that my other main love is philosophy - has been for years, and i'm probably going to end up a professor at some point. to most of the CS community, i'm admitting defeat. that doesn't bother me - a degree is just a piece of paper. one of my good friends pointed out recently that there's *nothing* wrong with being a hobbiest. i'm a far happier person when i'm engrossed in descartes, sarte, or kant than when i'm forcing myself through knuth, kernighan, or stroustroup.

why the anectdote? because i think it illustrates a vital point: you are unique, and to attempt to mold youself into what a pre-established notion of what a majority of people who share your interests are does you and injustice. weigh what matters to you over the next few weeks/months/lifetime, yelM3, and pay attention to what you find. a rich and miserable computer scientist is not "better" than a poor and brilliantly happy musician, or artist, or (as someone else said) "ditch-digger". when you die, how would you like to look back on your life? as someone who forced themself into an occupation and lifestyle that wasn't right for them, or someone who always questioned who they were, and tried like hell to be true to themself?

introspect. if the math is just hard - but you essentially think its worth doing - then go for the CS degree. if you find that you can't justify the unhappiness by merit of some later, greater (and non-monetary!) reward, then look around, take some varied courses, and don't feel ashamed that CS wasn't right for you. you'll lose no respect for doing so.

~ellF~

wow! (4.00 / 3) (#93)
by kubalaa on Fri Dec 15, 2000 at 07:23:35 PM EST

I'm a freshman EE major, and your post struck a chord with me. I'm feeling exactly the same thing, but perhaps with less certainty; I'm great at physics, math, and engineering, but the more I think about spending the rest of my life working with circuits or even programming (which I'd be more likely to do) just sounds so unfulfilling compared to studying one of the "softer" sciences like philosophy or anthropology or biology.

Thanks for the inspiration.

[ Parent ]

My $0.02 (2.33 / 3) (#79)
by weirdling on Fri Dec 15, 2000 at 05:17:23 PM EST

I graduated with a BS in CS. I got a C in Calc-II, a C in Calc-I, and a B in PreCalc. I really hate math myself. I'm excellent at arithmetic, but not at math. In the time since I graduated, I have yet to use a single higher-math optimization in any of my code. What I use a lot is core CS things, such as data structures and binary algebra. While I could have gotten a job without knowing all of this, I definately find it easier to get a job in programming with a BS.
Now, for the sympath part: I failed Calc-II twice before finally passing it. I have a D in second semester Physics. If I wanted to go on to graduate-level work, I'd have to explain why I have a GPA of 2.75 with a 3.83 in my major area. I just didn't like memorizing dead guy speak and wasn't any good at math...
The school has since began to consider dropping the calc-II requirement, as a *lot* of CS majors are failing it. If I need to know how to do that, my sister has a doctorate in mathematics.

I'm not doing this again; last time no one believed it.
Math is way over-emphasized in CS (3.28 / 7) (#82)
by John_Booty on Fri Dec 15, 2000 at 05:29:30 PM EST

As someone who went through four years of CompSci in college and has been programming professionally for about four years now, I can definitely say that advanced math is WAY over-emphasized in all the CompSci curriculums I've ever seen.

The average programmer never ever needs advanced math. The majority of software just doesn't require it. Period. Oh, sure... some software might need it... like of you're programming some sort of physical simulation, or something like that... but that's the exception rather than the rule and probably has no bearing on the lives of most programmers.

I'm NOT saying math isn't important. It IS very important! I'm also NOY saying that they shouldn't make you study subjects you won't need in the "real world" in your career. Even though I was a comp sci major I thought my required social sciences classes interesting and important. Well-rounded college graduates are a good thing. :)

But the amount (and difficulty) of the advanced math classes CS majors are required to take is waaaaay out of proportion with the number of classes CS majors must take on other "nice to know, but not strictly necessary" subjects like art, history, etc.

It seems like all the time they spend ramming CalcIII and Linear Algebra down CS major's throats could be better spent covering essential CS topics that almost NEVER get covered in school, such as UI design, working with teams to develop software, web programming, etc.

I think this happens because CS departments usually fall under the mantle of the math and science departments at most schools... therefore they ram the same amount of math down our throats as the other math majors. And they don't cover CS topics such as those I named in the above paragraph, because a) those fields are so new and b) most people with some competancy in those areas are out in the "real world" making tons of money elsewhere.


_______________________________________________________________
Anime, game, and music reviews at www.bootyproject.org... by fans, for fans.
Clarification... (3.00 / 4) (#84)
by John_Booty on Fri Dec 15, 2000 at 05:32:14 PM EST

Ahem. I kind of started ranting and got off-topic with that last post, but the point I was trying to make was:

Yeah, when you're a CS major they shove a lot of unecessary math down your throat, but don't worry, the real world isn't like that (the math aspect). If you can get through a few more years of tough math, you'll make it. :)


_______________________________________________________________
Anime, game, and music reviews at www.bootyproject.org... by fans, for fans.
[ Parent ]
"Computer Science" != "Programming& (4.80 / 5) (#89)
by Dougan on Fri Dec 15, 2000 at 07:01:38 PM EST

The average programmer never ever needs advanced math. The majority of software just doesn't require it. Period. Oh, sure... some software might need it... like of you're programming some sort of physical simulation, or something like that... but that's the exception rather than the rule and probably has no bearing on the lives of most programmers.
You're suffering from a really common misunderstanding here: that a computer science degree is simply a vehicle for obtaining a programming job in industry. Topics that the software industry cares about (project management, CASE tools, etc) fall under software engineering proper.
It seems like all the time they spend ramming CalcIII and Linear Algebra down CS major's throats could be better spent covering essential CS topics that almost NEVER get covered in school, such as UI design, working with teams to develop software, web programming, etc.
The things you mentioned (e.g. UI design, especially web programming) are by no means essential computer science topics: they are (again) software engineering concepts.

If you want to learn how to build a bridge, you don't do a physics degree, you take engineering. Likewise, if you want to learn to code in industry, you don't take computer science, you do software engineering...

Cheers,
Greg

[ Parent ]

Nice theory, but... (4.00 / 1) (#108)
by John_Booty on Fri Dec 15, 2000 at 11:07:48 PM EST

Myself and every other CS major I've ever talked to have had mostly programming courses. It's almost as if...they were teaching us to program or something.

Sarcasm aside, your semantics are correct...but... most comp sci majors are taught how to program. Very few schools offer "software engineering" degrees- they just offer "computer science" degrees mainly centered around programming. Exerpts from my school's handbook summarizing the CS program there:

"The program is oriented toward software- the languages and methods used to program the computer... ..computer architecture, software engineering, fuzzy logic, neural networks, and programming languages"

Dunno. Sounds like it's mostly about programming to me. You might disagree with the semantics of naming a major devoted to programming as "Computer Science", and I might even agree with you, but that's what it is at most (if not all) schools. Programming.

Doesn't change my original point- why teach the advanced and largely unecessary math classes when more relevant computer-related courses could be taught?


_______________________________________________________________
Anime, game, and music reviews at www.bootyproject.org... by fans, for fans.
[ Parent ]
What exactly *is* computer science? (5.00 / 2) (#118)
by Dougan on Sat Dec 16, 2000 at 02:02:21 AM EST

Myself and every other CS major I've ever talked to have had mostly programming courses. It's almost as if...they were teaching us to program or something.
;-)
Well, it's hard to have this discussion without debating what exactly we should be teaching computer science majors. To me, computer science is fundamentally concerned with one and only one question: what is the nature of computation? What can we use computers to accomplish? What is within and without the bounds of computability? Topics such as software architecture and UI design, and I think I can pretty easily persuade you of this, are primarily social or organizational concerns.

That said, it's nice if others can use and maintain your programs, which is why we teach undergrads the basics of writing solid programs. Programming, however, is more or less applied computer science, much in the same way that theoretical physics is more or less applied math, or medicine is essentially applied human biology.

So we should be teaching programming in computer science degrees; but when you focus on coding as the be-all and end-all of your degree (to the detriment of the theoretical foundation of the subject) then I would contend that you are receiving a software engineering degree, not a computer science degree.

Doesn't change my original point- why teach the advanced and largely unecessary math classes when more relevant computer-related courses could be taught?
Well, I guess it depends on which courses they're forcing you guys to do down there; advanced calculus or complex analysis is not really very applicable to computer science. However, a solid (very solid) foundation in discrete mathematics (set theory, graph theory, etc.) and mathematical logic (first-order and predicate logic, partial logic) is, in my mind, pretty much essential computer science material. You'd be good to sneak some number theory and linear/abstract algebra in there too.

We make people do (some of) these courses here, and it is sad to see people scrape through them year after year, while they do quite well in the more applied material. Every year we graduate people who can't even do simple induction proofs. I think the real problem is in the schism between what people are expecting computer science to be and what it actually is (to all the geeks who are teaching it... <g>)

Whew, that was a long post....

Cheers,
Greg

[ Parent ]

that curriculum isn't about programming (5.00 / 1) (#125)
by kei on Sat Dec 16, 2000 at 05:39:30 AM EST

Since I'm not sure I attend the same university you do, I can't say whether it actually is a lot of programming and not much else, but the excerpt you chose was most certainly not about learning how to program!
computer architecture,
... is computer architecture. Not a whole lot of programming, much more hardware-centric. Sure there's some "how to optimize code for the processor" programming-type subjects, but they really just stem from studying the hardware.
software engineering,
... which isn't really about programming as much as it is about how to Do The Right Thing when confronted with a project. This is not "neat little things you can do with inline assembly code to speed up programs," which is what I "programming" implies.
fuzzy logic, neural networks,
... are very math/science-focused topics. I don't think you can go very far without math with these. :^)
and programming languages
... which isn't "C evaluates from right-to-left," but about all those fun language/compiler/parsing kind of stuff.

You see these classes as "mostly programming classes," where they teach you how to program. I disagree. Maybe that's what your school ends up doing, but I know for a fact most of my professors abhor the notion of teaching us programming. We're learning the "why," not the "how," and I think that's what Computer Science is about.
--
"[An] infinite number of monkeys typing into GNU emacs would never make a good program."
- /usr/src/linux/Documentation/CodingStyle
[ Parent ]

More semantics ;-) (none / 0) (#138)
by John_Booty on Sat Dec 16, 2000 at 12:34:29 PM EST

This is not "neat little things you can do with inline assembly code to speed up programs," which is what I "programming" implies.

I'd define programming as "the act of creating computer software". I think there's a lot more to programming than writing inline assembly code. Using that definition... computer architecture, software engineering, and programming languages are all things you'd need to study in order to be a Good Programmer.

Maybe it's because I don't get the difference between "theoretical" programming and applied programming. It seems as though a lot of people here are saying that "Computer Science" is the broad study of the topic, while "Programming" is actually getting in the trenches and writing code.

To me, unless you can understand the process of writing code ("Programming"), there's absolutely no way you could ever really understand the broad topic of "Computer Science". So, to me, they're one and the same.

What would be the point of studying "Computer Science" if you can't program and don't intend to?

After I typed that last sentence, a counter-analogy sprang to my mind. "Well then what was the point of Einstein coming up with all those wacky theories he couldn't possibly test?".... "Well then why do they have thoeretical physics AND applied physics"... heheh. I could just picture someone saying something along those lines. However, I don't think that's a good analogy... as programmers and other computer engineers (let's not forget the guys who create the hardware :P) we're actually shaping the computer landscape. Meanwhile physics is a field in which we can really only study it, not shape it. So in fields like that studying it in an "applied" way makes sense. I'm not sure it does for comptuers, tho.

I like this discussion. You guys are making some good points. ;)


_______________________________________________________________
Anime, game, and music reviews at www.bootyproject.org... by fans, for fans.
[ Parent ]
Re: More semantics ;-) (none / 0) (#142)
by kei on Sat Dec 16, 2000 at 03:06:04 PM EST

To me, unless you can understand the process of writing code ("Programming"), there's absolutely no way you could ever really understand the broad topic of "Computer Science". So, to me, they're one and the same.
I think there's a lot of topics in CS that doesn't rely on programming so much as utilize it. You can come up with algorithms without the slightest notion of how to put it into real code -- anyone can do that, but not just anyone can come up with the pseudo-code (and thus was born discrete math).

If you think about it, pioneers like Turing and Von Neumann were certainly studying/inventing aspects of Computer Science, yet they weren't examining how to write code at all.
--
"[An] infinite number of monkeys typing into GNU emacs would never make a good program."
- /usr/src/linux/Documentation/CodingStyle
[ Parent ]

Call me an old FORTRAN geek but.... (3.28 / 7) (#83)
by Hillgiant on Fri Dec 15, 2000 at 05:31:48 PM EST

Programing is Math!
The rest is just abstraction.

<anecdote>
I scaped through Differential (Difficult) Equations. You think calc is bad? This is calc's worst nightmare on a PCP and LSD cocktail. I thought to myself (at the time) "I will never use this for the rest of my life".

I was wrong. Three semesters later, I was straining to remember (relearn) DiffEQ in my Dynamic Systems class. (the dreaded ME344 for you UT types) DiffEQ was an instumental tool in studying complex dynamic systems (the only interesting ones IMHO)</anecdote>

The lesson: it would not be on the course requiments if your University did not think it was important. You need to (a) buckle down and learn it or (b) change majors to something you can handle. If it helps any, treat math as a programing language. It has specific syntax and each argument has a specific meaning (operation).

-----
"It is impossible to say what I mean." -johnny

Ha! But what do you do NOW or in your past career? (2.00 / 1) (#95)
by cryon on Fri Dec 15, 2000 at 08:26:24 PM EST

You wrote FORTRAN programs? Did you get paid to do it? You say you used the math...in school! But have you used it while getting PAID to do so? And for how much of your career have you doen such work? Besides the course you used for DiffEqtns is and ENGINEERING course, not a typical CS course.
HTGS75OBEY21IRTYG54564ACCEPT64AUTHORITY41V KKJWQKHD23CONSUME78GJHGYTMNQYRTY74SLEEP38H TYTR32CONFORM12GNIYIPWG64VOTER4APATHY42JLQ TYFGB64MONEY3IS4YOUR7GOD62MGTSB21CONFORM34 SDF53MARRY6AND2REPRODUCE534TYWHJZKJ34OBEY6

[ Parent ]
Darn Kids (none / 0) (#188)
by Hillgiant on Tue Dec 19, 2000 at 10:11:04 AM EST

Actually the FORTRAN was for class. (The last semester it was required for MechEng, in fact) And no, I have never been paid to use my useless knowledge. In fact I recall very little of what I learned. And who says engineers don't program? I taught myself AutoLISP so I could script out all the silly repetative CAD stuff I am doing. =]

-----
"It is impossible to say what I mean." -johnny
[ Parent ]

Regarding the general problem... (4.25 / 8) (#85)
by _cbj on Fri Dec 15, 2000 at 05:39:09 PM EST

Just about every Ask Kuro5hin like this, and there have been many, features some kid who confused Computer Science with Software Engineering. The latter suffers from a grave lack of degree courses, which seems to prompt the confusion ("It's only a real subject if you can study it at university" kind of syndrome). To illustrate the point (or counterpoint), I myself mistakenly enrolled on a misnamed Software Engineering course.

Yes, that's what's needed: more Software Engineering programmes (especially in USA, where I find Computer Science covers all too broad a spectrum) and more awareness of the distinction. Then there would be less CS graduates complaining "I don't know what a CASE tool is!" and less hackers whining "Why in God's name are they teaching us with Scheme? Where's the money there?"

Funny, I agree but in opposition. (3.00 / 1) (#135)
by CosmicSource on Sat Dec 16, 2000 at 11:12:25 AM EST

Its true, there does need to be a greater distinction between Computer Science and Software Engineering. At UVA, Computer Science is a misnomer, it is actually a Software Engineering program. The problem is, I don't want to be a software engineer. Yes, SE is important to industry, and it should be regarded as a separate discipline; but imagine my dismay, when in my second year I found that I would never be studying computer science with any real depth and that the focus of my education would be treated as an engineering discipline on building and managing large software projects, misnamed Computer Science. Bah!

[ Parent ]
Funnier, I agree not in opposition. (3.00 / 1) (#136)
by _cbj on Sat Dec 16, 2000 at 12:02:12 PM EST

When I say misnamed Software Engineering degree I meant just what you've described (I knew I wasn't clear there): SE subjects under the title CS. Especially annoying was that they also had a Software Engineering degree, with all the same classes, and that they obviously just advertised both to sucker in more students and fee money. My course was partially renamed in 2nd year (from BSc to BEng) after enough people pointed out the obvious, by which time I had long since lost interest and dropped out...

[ Parent ]
flunked HS algebra twice: BSCS degree in May! (2.40 / 5) (#88)
by cryon on Fri Dec 15, 2000 at 06:57:25 PM EST

That is if I can pass Differential Equations this spring...
But let's face it: The VAST VAST majority of computer programmers, software engineers, analysts, whatever you wanna call it, DO NOT use all the math they learned--not even close. Espescially the calculus!
Discrete math, yes, logic, yes. Linear alg, no way.
Yeah, yeah, you have game programmers, many of whom (but NOT all by any means) use most of the CS math (and some use much much more than the standard BSCS curriculum). ANd you got your number crunching types with Numerical Analysis, etc. This is a small minority, though!
But most of the programming that goes on out there has nothing to do, MATHWISE, with anything other than a bit of discrete math (common sense really!) that can help you avoid writing algorithms that run in exponential time, or algos that might NEVER finish. And really, it's just nothing more than common sense. Algo anlysis just formalizes that brand of common sense.
The whole college trip is just a ripoff basically, and the only reason it works is that the "victims" are young people, who are therefore stupid. All young people are stupid; that's why Madison Ave loves them so--they are, in carnie jargon, the perfect "mark"!
As far as learning math goes, it just takes a minimum of practice, that's basically it. To the original poster, after reading your writing, my analysis is that it evidences that you possess far more than the needed raw intelligence to pass your math courses. My advice: get back to your CS curriculum. To quote that eternal fount of human wisdom, John Travolta's Uncle Bob from the movie Urban Cowboy: "Sometimes a man has just gotta swallow his his pride, and there aint a night goes by that I don't thank the Man Upstairs for giving me a big enough throat."
Not that I believe in a god, but it makes a nice quote...
HTGS75OBEY21IRTYG54564ACCEPT64AUTHORITY41V KKJWQKHD23CONSUME78GJHGYTMNQYRTY74SLEEP38H TYTR32CONFORM12GNIYIPWG64VOTER4APATHY42JLQ TYFGB64MONEY3IS4YOUR7GOD62MGTSB21CONFORM34 SDF53MARRY6AND2REPRODUCE534TYWHJZKJ34OBEY6

Calculus... (3.25 / 8) (#90)
by gzunk on Fri Dec 15, 2000 at 07:02:01 PM EST

OK people, I'm really confused now...

I'm not American, I'm British, so exactly how old are you if you're a 2nd year computer science student?

I started studying calculus when I was 16-17, to get my Scottish Higher exams - still at "school" but not at University yet. We studied basic differentiation + integration (Newton's weird notation) blah blah blah. I passed.

Then I decided to study English A levels (5 one year highers will get you into a degree course in the UK, 3 two year A levels will do the same). There (Age 18,19) I studied Pure + Applied Mathematics which involved Calculus (this time Leibnitz much nicer notation) + partial derivatives / integration (to find the area under a 3d graph, find the normal vector to a 3d surface). Once again I passed.

Then I studied a 3 year Software Engineering degree. The maths in the first year was 1 course that you had to do - no calculus, but lots of proofs by induction that 1+1=2. I hated that course. But I studied and passed. The other course - Discrete maths - I loved it. Sets, Logic, wonderful.

I am having a hard time understanding why the American contingent appear to be able to study a degree such as CS or Software Engineering without having a firm grounding in maths, and then complain about the maths being hard.

If you can't think logically / mathematically then you're going to be a coder all your life. You might think that you're a great programmer, but you're never going to be a great software architect.

Well, on this side of the pond... (3.00 / 2) (#99)
by bwh on Fri Dec 15, 2000 at 09:05:11 PM EST

Here in NA, (I'm Canadian, can't speak for the Yanks) as a general rule, there are 12 Grades (not counting Kindergarten). You start school around age 5 so you should graduate around age 17-18 depending on when you were born. When you enter grade 9 or 10 (i think) they start getting into Algebra fairly seriously, BUT Calculus is an ELECTIVE usually only in grade 12 IF your school has sufficient teachers, funds, class time, and/or student interest. Furthermore, failure is NOT a bar to graduation, because they (teachers, admins, parents and other associated apparatchiks) believe that holding a student back repeatedly is bad for little Johnny or Janes self-esteem, and could be a barrier in their adult life to becoming a doctor or something. So, short answer, Calculus is not taught (often) over here because it's generally not offered. Long answer, most kids here still haven't learned that the Sciences are where the money is in life (assuming your not mel gibson, britney spears, or Wayne Gretzky) and most teachers are too lazy to (and/or the unions won't let them) offer it as a "club" activity. wow, that just sorta got going and didn't stop.

[ Parent ]
Err, what he said (2.50 / 2) (#101)
by kagaku_ninja on Fri Dec 15, 2000 at 09:25:03 PM EST

That is pretty close to the US educational system, value judgements aside... I guess I should mention that most math classes in my high school were electives. There were minimium years needed in each subject (math, english, etc) to graduate. Likewise, most colleges would require more than the minimium to gain admittance.

One should also point out that not all schools are created equal. I was fortunate to attend a very good public high school.

[ Parent ]
maybe in Ontario or wherever you are (3.25 / 4) (#109)
by crazycanuck on Fri Dec 15, 2000 at 11:14:04 PM EST

I'm in quebec and the system is much different.
there are 6 years of primary, 5 years of secondary and 2 of "college" (called CEGEP) before university.
In CEGEP you choose a program (like sciences, commerce, arts etc) and if you choose science (like I did) you must pass a certain number of courses to get a diploma and go to university. These include Calculus 1 (derivatives) and calculus 2 (integrals) and linear algebra.
You have a choice of also taking calculus 3 (partial derivatives and multiple integrals) or differential equations, which I did.
You don't have to pass these but you must pass linear, cal 1 and cal 2.
Also some physics courses (Mechanics, optics and electricity & magnetism).
Now I'm in university and in Quebec the universities don't do cal 1 and 2 anymore like in ontario. I started with differential equations and multiple integrals. (I'm in computer engineering)

[ Parent ]
A more civil answer... (2.50 / 2) (#100)
by kagaku_ninja on Fri Dec 15, 2000 at 09:11:17 PM EST

Many American high schools do teach calculus. Usually in AP courses (Advanced Placement, meaning that you can later take a test to get college credit for AP classes). AP coursework is generally for honors students. In my case, I took the next level down from AP. It was equivalent to about 1 quarter of Calculus. Many Americans such as myself have adequate backgrounds in math, thank you.

The issue is whether this math is required to become a programmer, and the answer is clearly "no". While I haven't made it to elite "architect" status, I can assure you that the ones I have worked with generally were not math wizards.

[ Parent ]
I disagree. (1.75 / 4) (#104)
by Zer0 on Fri Dec 15, 2000 at 10:08:58 PM EST

Programming is much simpler than most mathematic problems. If you dont see it as being simple, then maybe you shouldnt be a programmer. Sure you need to know basic algebra, buts thats as far as it goes. Unless your programming to solve a mathematical problem.. advanced maths is hardly needed.

[ Parent ]
Programming is difficult mathematically! (4.00 / 1) (#134)
by Luke Scharf on Sat Dec 16, 2000 at 11:07:42 AM EST

Programming is much simpler than most mathematic problems. If you dont see it as being simple, then maybe you shouldnt be a programmer.

Um, programming is very hard mathematically. Write me a program to determine if another program halts in all cases, then we can talk.

Programming is applied math. Writing code is about as difficult as putting any problem into mathematical terms, whether C, calculus or both will provide the most useful solution.

Of course, I'm a little biased by my CS background and my newfound interest in signal processing... But I'm still right. :-)



[ Parent ]
re: Programming is difficult mathematically! (3.00 / 1) (#150)
by Zer0 on Sat Dec 16, 2000 at 08:05:58 PM EST

Write me a program to determine if another program halts in all cases, then we can talk.

Uh what do you mean halts in all cases?

Programming is a very simple practice.. complex problems are easily broken down. I dont see how math really fits in. Especially in Applications programming.



[ Parent ]
He's asking a trick question (3.00 / 1) (#154)
by goonie on Sat Dec 16, 2000 at 10:36:35 PM EST

Go and find a reference on the halting problem, originally described by Alan Turing way back in 1936. Once you've got your mind around that, go away and read some stuff on computational complexity and NP-completeness. My textbook for this stuff was Languages and Machines, by Thomas A. Sudkamp, but it's pretty heavy going unless you've done a little bit of university-level maths. Others might be able to suggest a more accessible book.

If you make it through that far, you can at least comment from a position of a reasonably broad knowledge on the relationship between mathematics and programming.

[ Parent ]

I asked you a trick question. (4.00 / 1) (#165)
by Luke Scharf on Sun Dec 17, 2000 at 11:50:47 AM EST

Uh what do you mean halts in all cases?

I asked you a trick question. The Halting Problem is a contrived example to show that some jobs are impossible to compute.

The question: is it possible to write a program that will determine if another program will halt in all cases.

To say it another way - suppose you write program A such that it will take program B as input. Can program A determine in finite time whether program B will go into an infinite loop?

If a decent programmer has written the code, you or a program written by you can probably determine this with a little boolean algebra. This is all well and good because the question asks that program B be and example of all-possible-programs instead of all-possible-programs-by-a-sane-human.

It has been been mathematically proven that is is impossible to solve this problem. If you all are interested, I'll post an understandable version of the proof. Alternately, you can do a google search for "halting problem".

Programming is a very simple practice.. complex problems are easily broken down. I dont see how math really fits in. Especially in Applications programming.

This is definetly true for some programming, and making all programming this easy is a goal for everyone who tries to write good software.

Still, I've implimented some things that gave me trouble mathematically and have been very difficult to debug. The combination of the two makes for some memorable sleepless nights. Here are some memorable examples:

  • Newton N-body simulation in parallel. I did some wacky physics. My visualizations looked right, but the effect of gravity took a half a timestep to arrive. Oh yeah - and diagnosing deadlock conditions in a parallel or multithreaded program is a real pain.
  • K-D Tree. A lot of data structures have some neat math behind them. A binary search tree is really just a binary search done in space rather than in time. (search google for more information.) A K-D tree is sort of a binary search tree where the key changes on every level. Anyway, I never figured out how to properly delete internal nodes from the tree.
  • FIR Filter. In this case, the implimentation went smoothly - I had/have a teacher who explained intuitivly how it worked, and what I should do to make it work. I now have a little program that determines the location of a sound source in a noisy echo-prone lab. I'm just starting to understand WHY my little program worked, and the implications of the things that make it work.
  • My point is that programming isn't always as easy as it seems. It's a tool to solve problems, and the difficulty of the code is proportional to the difficulty you face in solving the problem.



    [ Parent ]
    Welcome to the club. (2.33 / 3) (#91)
    by NullStream on Fri Dec 15, 2000 at 07:10:21 PM EST

    Pretty much everyone I know in University that is competant at what they do has the same problem. The problem is that the requirements are pure math courses and do not have any direct correlation to what intrests us. Pure math is absolutely boring to me and I don't care about derrivatives or eigenvectors in so much as I have no direct use for them. The math I like is the math I use when I'm coding when I solve a problem and then later figure out there was a better mathmatical solution then I care as I see the point. But maybe because I'm one tracked and ignorant of math itself. The regular excuse is that lots of math is taught in computer science to give students the tools to solve problems. I think that's a bunch of bull. If anything, there should be 2 years worth of logic courses as learning to approach a problem and evaluating statements/solutions/problems logically is far more valuable. I'm not debating the value of math as it's just higher order logic but just ramming theorems and axioms down students throats doesn't give them the understanding needed to utilize them properly. Well there's my 2.123412341234323523523 cents.

    You think it's useless... (3.00 / 2) (#103)
    by SIGFPE on Fri Dec 15, 2000 at 09:46:11 PM EST

    ...simply because you cannot think of a use for it. Think eigenvectors are useless? Find out how Google works and why it's so much better than any other search engine. Think derivatives are useless? Try coding a rigid body dynamics simulator, or rendering curved surfaces. If you don't understand these things it's not surprising you can't find a use for them.
    SIGFPE
    [ Parent ]
    um... wrong. (3.00 / 2) (#116)
    by NullStream on Sat Dec 16, 2000 at 01:18:49 AM EST

    I did not say math was useless. What I did say that teaching pure math is useless. It's the whole man fish thing. Give a man a theorem and he'll solve a particular problem all day but teach a man how to make theorems and he will solve any problem. My point is context makes the difference. A hammer is useless unless you know what a hammer can do.

    [ Parent ]
    i think the point was... (3.00 / 1) (#169)
    by rebelcool on Sun Dec 17, 2000 at 04:58:59 PM EST

    that until an application for such math is realized, it's difficult for those of us who have a distaste for the subject to understand and remember it. I would much rather learn various maths as I go about coding different things.. give it a use in my life, and I will understand and remember it. Teach it to me without showing what value and use it has, and I wont. Give me an application to build which requires vectoring. Then I will learn vectors because I have something to do with them.

    COG. Build your own community. Free, easy, powerful. Demo site
    [ Parent ]

    Good point (none / 0) (#183)
    by SIGFPE on Mon Dec 18, 2000 at 12:40:33 PM EST

    I don't really know how CS gets taught. I guess you just get dumped in a generic mathematics courses that make no reference to CS. Is that the case? If someone made an effort to construct a 'mathematics for CS' course it'd be easy to make stuff like linear algebra and calculus seem more relevant - simply because it is relevant.
    SIGFPE
    [ Parent ]
    listen dumbass (2.12 / 16) (#97)
    by philipm on Fri Dec 15, 2000 at 08:39:08 PM EST

    It takes higher mathematical training to run gdb. To see if a variable was assigned incorrectly you need higher algebra. To reboot linux it takes high level spatial skills to find the off button. It takes the stubborn ignorance of reality, that can only be developed after 4 years of smelling badly in a tiny dorm room, to argue with an MBA from Harvard about why you need a keyboard to type and that bugs can't be gotten rid of by Raid. To deal with 60 year old CEOS that think of computers as typwriters you need the view of reality that only mathematics can develop. To make sure you are not commiting the sin of free speech, you need to take more math classes. Ignore the reality, focus on the abstract. Oh yeah, and don't forget that you need to take mathematics so math professors and university administrators can send their kids to college! So hunker down and get rid of the deodorant baby!

    Oh well... (2.00 / 2) (#117)
    by pb on Sat Dec 16, 2000 at 01:28:44 AM EST

    I thought that was hilarious.

    Of course, the tone was a little harsh, but...

    geez, don't you people recognize sarcasm?
    ---
    "See what the drooling, ravening, flesh-eating hordes^W^W^W^WKuro5hin.org readers have to say."
    -- pwhysall
    [ Parent ]
    whine whine whine (1.66 / 9) (#112)
    by crazycanuck on Sat Dec 16, 2000 at 12:19:03 AM EST

    bitch bitch bitch

    Oh my fucking god!
    You mean they actually expect you to learn stuff in there??? You mean you won't be just mindless drones coding away?
    Who would have thought...

    I was never really fond of school. In the last 2 years I skipped almost all classes but managed to have 80% over all grades (or just pass, as I did in my last semester).

    Now I'm in university in Computer Engineering. I like my field, I chose it, and I want to learn. I've never done this good in school before. I think I might end up with an A average. All it takes is a little dedication.

    General thoughts on learning tough subjucts (3.66 / 6) (#113)
    by yuri on Sat Dec 16, 2000 at 12:42:07 AM EST

    Law #1: If you find something interesting, it's easy to remember all the details. If your interest is piqued, your subconscious (sic?) turns on your long term memory flags and you wil always remember those details. (the converse is naturally implied by the above...not interested....wont remember).

    Law #2: If you are convinced that you can't do it, your prophecy will come true. See law #1

    The only solution is to truly convince yourself that math is interesting.

    Law #3: If you think a thought enough you will come to believe it (the basis of the success of advertising an blitz)

    Solution: Convince yourself that math is interesting....make it your hobby...you will become great at it.

    The above applies to all subjects.

    Cheers,

    Y

    Math is the killer app. (4.20 / 5) (#119)
    by andyschm on Sat Dec 16, 2000 at 02:57:13 AM EST

    I fit the typical geek profile also... and I do a lot of programming, but when I came to college (UC Berkeley) I took some CS and some Math... now I am in the third year as a math major.

    Math, especially proofs in pure math is VERY similar to programming. In fact there are branches of pure logic which are basically the study of program correctness. Also I learned that computers are actually very -very- bad at math, especially floating point calculations and unless you know very well what you are doing you can screw up a such calculations very easily. The other nice thing about math is that you don't need a computer -- in fact you can do a lot more than a computer will ever be able to do. In fact, most math can be done without any tools at all - no pencil, no computer, just your mind and a basis of concepts.

    The only catch is that you gotta work you ass off to get through it. I plan 10-20 hours per week for each math class that I take. Most students only spend about 6 hours per week on the basic calculus series. In all, this is not much compared how much you would work if you had a real job.

    There is a big misconception that you will fall behind the times if you spend all your time on math and not on programming. Computer technology is always changing and in my view it is actually a good thing to let it develop without you because it will only be better when you get back into it.

    The other thing to think about is that when you are in school you are supposed to take classes in subjects which you cannot easily teach yourself. In my experience, with some basic knowledge of programming concepts such as pointers, OO and some abstraction there is pretty much nothing in the programming world which is really that much of a challenge. Math is often much more difficult and it really helps to have a nice academic setting to kick your ass into learning.


    we are with you (3.00 / 3) (#120)
    by tlv87 on Sat Dec 16, 2000 at 03:04:46 AM EST

    Many people are in a similar situation. I am in a similar situation. The schooling system isn't easy on us who don't sacrifice our life to him. But you are definitely better to take one whole year to pass your math courses than finish one year ealier because 1) these are really useful and will develop your brain's muscle. I saw this very well on me : never putted too much effort into math class until I had no choice. Then I saw myself becoming alot better in CS *overall* because it develops your concentration, analysis skills etc.. (Well, not all math but most). And 2) Like many says, it will pay in money, freedom and respect. Miss Society want it.

    Maths do suck (but they are a nescessary evil) (3.33 / 6) (#122)
    by philippe_carlo on Sat Dec 16, 2000 at 03:32:28 AM EST

    Hi, I'm Philippe and I am a 3rd year CS student, the rest of my profile more or less matches yours and I fully understand you. Let me get this straight first: I suck at maths, do not really enjoy them BUT I also think: - maths is something a true Computer Scientist can't do without - maths show up in every little piece, every little corner of CS - if you are a math ignorant, you also ignore the skills of a computer scientist - Computer Science is a "science" and no science is indepentant from mathematics, since maths are the mother of all sciences Ok, so far so good. I would have laughed at you if you told me this half a decade ago. But it is true. Let me show you: Last year, we had a course telecom. It would have been a book of Chinese to me if I hadn't learned Fourrier analysis and statistics. The year before that, we had an assignment on writing a 3d engine. Ever tried to do that without linear algebra? Another course considered Computer Arithmetics (which you probably know, are far from trivial). Same story here: maths all over. Many examples could go here, but I guess you'll have gotten the picture by now ... But the more general idea of the whole math struggle is the encourragement of ABSTRACT THINKING, which according to me is at least as important as all the things mentionned earlier. Abstarct thinking is the center of the whole programming paradigm, called OO-programming. Need more arguments to byte through it? To be honest, I wasn't that good of a math student either. But they are worth the struggle, and when you look back in a few years (when you take a closer look at the zero's on yor pay-check, maybe? ;-) ), you 'll see it was all worth it. My tip : GO FOR IT, like I did. The fun thing is that after my first two years (which where dominated by maths), the math-aspect has been downed to nearly zero this year. Good news, right? Bye, Philippe

    Math is essential. Love it or leave it. (2.12 / 8) (#126)
    by blaaf on Sat Dec 16, 2000 at 06:55:11 AM EST

    Let me say I am quite appalled at all the people out there saying that math sucks and they hate math. This is excusable in a communications major; this is not excusable in a computer science major. It is far worse to loath math than to struggle with math.

    Without turning this into a rant, let me just leave it at this. If you truly hate math for whatever reason, but want a computer career, then you'll have to deal with it, whether it is through a different major or a different school. But math is not only beautiful, it is essential. If you think calculus is useless, as one eloquent poster punned, then you don't understand calculus. Let me say this; if you don't grok calculus, you don't grok math--really and truly. If you have studied calculus, you understand that. Calculus is just as fundamental to mathematics as arithmetic. You can't study any self-respecting course with Science in its name without KNOWING calculus. Calculus is not only intrinsic to virtually all other fields of math (be it geometry, statistics, or algebra), it is absolutely essential in physics, biology, engineering, and yes, computer science. If you don't know calculus, there is a VAST ARRAY of problems and algorithms you SIMPLY DON'T KNOW HOW TO SOLVE, or at least, you don't know how to solve well. Even from a practical perspective, you will always be crippled if you don't know calculus.

    One thing I like about MIT (a school I am applying to) is that they make EVERYONE pass the same difficult calculus course to get a degree--even the liberal arts majors (yes, there are liberal arts majors at MIT). I think this is a good standard for most reputable schools.

    My emphasis on calculus here is not to denigrate other essential areas of math. Calculus just happens to get the bum rap from whining high-schoolers and college students who aren't going to get anywhere in life if they don't change their ways.

    Again, I stress that if you have difficulty with math, are untalented in math, or even hate math courses, I'm not saying you're less of a person. You may be less of a scientist, but not less of a person. But if you whine about it and denigrate the place of mathematics, you are showing immaturity at every level, and you cannot call yourself a scholar of any kind.

    No it isn't, you twit. (3.50 / 6) (#141)
    by drix on Sat Dec 16, 2000 at 03:02:33 PM EST

    I find your post very humorous. You make a lot of foreboding, overblown statements about math and its relation to scholarship, yet ostensibly you are a high school senior. Put another way, you just have no earthly idea what you are talking about. Put another way, you are an arrogant prick of a senior who thinks, erroneously, that he has the world figured out. Don't feel bad. There are lots of you! Invariably, college turns out to be a very, erm, "enlightening" experience for your type.
    Allow me to give you some real world experience - "from the trenches", in K5 parliance - about math and CS. For starters, a good portion of the math that most colleges forces you to learn does not usually come up in the field of computer science. Specifically, computer scientists will almost never need to use linear algebra, differential equations, or multivariable calculus.
    Discrete/applied math, in contrast, will be employed extensively in certain very technical computer science fields. Good examples of this would be database programming (well, good database programming, anyways), cryptography, and a lot of murky borderline CS/EE fields like compression formats.
    Math virtually never comes into play for basic application programming, however. It is sort of an accepted fact amongst many upper division CS students at the (large, well respected) school that I went to that a freshmen in college having completed one introductory computer science course and a second course in data structures was well-equipped enough to go out into the world get a job programming applications. All the higher level math comes into play when you start writing compilers, OS kernels, and the like - but look at how many people are doing that today vs. how many are writing applications. It's got to be a 10:1 ratio, at least.
    With that in mind, I hope you can take a second look at what you just wrote ("Calculus just happens to get the bum rap from whining high-schoolers and college students who aren't going to get anywhere in life if they don't change their ways") and see how wrong you really are. I know quite a few CS majors who were horrible at math but are currently employed writing software, and seem to do a pretty fair job (If you think a 24 year old making $70k hasn't "gotten anywhere in life," well that's your problem). I know a lot, lot more people who couldn't have cared less about calculus in college or high-school and seemed to turn out just fine. They're called humanities majors.
    So in the future, let's try to be a little more open minded. If math comes easy to you, great. Go get a masters in applied math or computer science. Oracle, Inc. will make you a rich man. Also, assuming you do get into MIT, you may find that you are not as good at math as you once thought you were.
    And finally, "If you think calculus is useless, then you don't understand calculus," isn't a pun. Nor was it particularly eloquent. www.m-w.com, my friend.

    [ Parent ]
    Um, No, It Is, You Idiot. (4.00 / 2) (#158)
    by Crutcher on Sun Dec 17, 2000 at 01:25:41 AM EST

    "Specifically, computer scientists will almost never need to use linear algebra, differential equations, or multivariable calculus." - Some random idiot.

    Riiighht. Have you ever heard of optimization? Network analysis? Queing theory? What do you think these things work on? Guesswork?

    I think you are confusing /Computer Science/ with /writing some dinky script or IRC client/. The kid's correct, if you don't /learn/ math, you will /never/ be good, period.

    Any monkey with a 'puter can write an 'application', that doesn't mean it is well archetected, efficeint, stable, useful, etc.

    Yes, you make good money cranking out 'apps', but so do plumbers, and they don't call themselves 'Civil Engineers'.

    crap, so many clubies trying to justify the fact that they are too damn lazy to do it right, so the very idea that there /is/ a 'right' offends them.
    Crutcher - "Elegant, Documented, On Time. Pick Two"
    [ Parent ]
    Re: Um, No, It Is, You Idiot. (3.66 / 3) (#162)
    by use strict on Sun Dec 17, 2000 at 06:00:51 AM EST

    I find it hard that such an intelligent man, as you so presume, is so arrogant and conceited as you.

    The people that I consider that have the 'real brains' do go around taunting it with taglines like yours and don't hold the fact that someone takes a different choice in life against them.

    The 'intelligent ones', spend more time thinking about problems than coming up with answers for them. This is what makes them 'intelligent'. Do you languages like perl or C would have been so popular if they had stuck with the 'trends' for their times (which, if you do some reading, were so far from normal it's not funny) and stuck to the straight and narrow? Do you think this discussion would have even been about had it not for GNU software and BSD contributions doing a good deal of work (metaphorically) in providing a free base for internet sites?

    Wall, Kernighan, Ritchie, Knuth, Stallman, Carmack -- these are GENIUSES, and have been recognized rightfully so. There are other names that I have left out, simply because they don't have the fanfare these do and 'general popularity'. Part of the reason? Because each one of these men have humbled themselves, and instead of hovering over the heads of the 'lesser geeks' touting their skills, they share their information in perhaps the hopes of everyone benefitting from them.

    HOWEVER, I would not go to say that any of these men (except perhaps for carmack, who was a physics major, but keep in mind that he created commander keen long before wolfenstein, which was far from a 'math-based' game) required such knowledge to be 'greats'. It was the sheer philosophy behind their work that created who they were, and the sharing of that work being a major point of it.

    Learning is a very subjective task. Everyone learns in different ways just as we handle certain things differently.

    Keep in mind that one of the most famous mathematicians, Albert Einstein, failed (and hated) math throughout school and only in his later years in college and in the field did he truly embrace it. He was also the coiner of the very accurate phrase: "Science is 90% perspiration and 10% inspiration".

    So by the logic in the previous paragraph contrasted to yours, would you consider Mr. (yes, MISTER, not DOCTOR) Einstein lazy or 'not good' or perhaps just a 'Nuclear Engineering shop boy' as opposed to one of the most intelligent men in the last millenium?

    Take your argument to a professor. I have had *many* professors tell a whole audience of classes that college only means something if you're goign to use what you know. What if college doesn't (or can't) teach you that? It happens more often than not.

    Just to correct you as well, 'Optimization', 'Network Analysis', and 'Queueing Theory' are all horribly general terms and only speak of your credibility in general. The fact is, I can do all of this with bourne shell if I so please, depending on the context in which you speak.

    I honestly think that a lot of this 'do it the right way' backlash is more jealously of those of us who had much smaller student loan bills (if any) than anything. :)



    [ Parent ]
    Read what I wrote. (3.00 / 3) (#164)
    by Crutcher on Sun Dec 17, 2000 at 10:46:42 AM EST

    No where in my post did I claim to be a "Higher Geek". No where did I spont off about my superior intellect, education, or moral standing.

    For the record, my education sucked, and only in the past year have I come to understand how badly. I /am/ learning the math now, because I /need/ it to get any real work done.

    I also don't care about recognition. No one in their right mind would pursue Computer Science for recognition, it eats up to much of you're life, and if you don't love it, you are better off doing something else.

    What my post /did/ talk about is the fact that there is a 'right' way to do these things, and that just because you get paid well for doing it wrong, doesn't mean you are not doing it wrong.

    The recognition that there is a right way is also not a claim that I, personaly, can do it that way. There are many things that I do the hard way, simply because I have not mastered the correct way yet, and many more which I cannot do (such as adaptive prefetch) until I learn more math, because they /cannot/ be faked.

    And lastly, I dont care if you feel insulted. You are wrong, math is the foundation for all higher thought, and people like Carmack could not do the hardcore things they do without it. It isn't about grades, It isn't about degrees, It isn't about 'real' vs 'soft' languages. Its about math, and if you've never programmed anything that required some deep mathematical wierdness to work, but are still working as a programmer, congratulations, you are a glorified technician.
    Crutcher - "Elegant, Documented, On Time. Pick Two"
    [ Parent ]
    just a note on carmack.. (2.50 / 2) (#168)
    by rebelcool on Sun Dec 17, 2000 at 04:53:03 PM EST

    he never attended college or took a course in CS :) take a look at his bio on idsoftware.com... "Education: Self-taught".

    The best one's always are self-taught.. and its the ones who spend thousands on college classes who hate them.

    COG. Build your own community. Free, easy, powerful. Demo site
    [ Parent ]

    Not arguing the fact. (3.00 / 2) (#172)
    by Crutcher on Sun Dec 17, 2000 at 05:38:13 PM EST

    Has nothing to do with how you learned the math, or where you learned the math. If you want to be decent, you /have/ to learn the math. If you want to be good, you have to /grok/ the math.

    Who cares if you payed for it? Not I.
    Crutcher - "Elegant, Documented, On Time. Pick Two"
    [ Parent ]
    Not all math is equal (3.33 / 3) (#151)
    by flander on Sat Dec 16, 2000 at 09:07:37 PM EST

    Whether you truly are, as a previous poster assumed, a presumptuous high-school senior, I find it hard to stomache your rather inflamitory post.

    The point you try to make here seems to be that integral calculus (and I assume that is the particular variety that is under discussion) is absolutely essential for an education. It is impossible for me to argue whether this is true or not, as it is entirely subjective. However, I feel it is necessary to point out that there are /many/ other types of math out there, with integral calculus being only one.

    You argue that calculus is intrinsic and essential for virtually all other fields of math. As someone who received a sub-standard education in my elementry calculus courses, I can say that this has in no way hampered my learning of other fields of mathematics, such as linear algebra and combinatorics. It would take great effort to convince me (or anyone else with familiarity with the subjects) that calculus is "intrinsic" or "essential" to the study of combinatorics or graph theory. Indeed, there is enough material in the field of mathematics for many lifetimes of study, with only cursory examinations of integral calculus. Yet you make this claim, which causes me to wonder what broad range of experience and study you have do draw upon?

    You make the point that without a good working knowledge of calculus, there is "a vast array of problems you do not know how to solve". That could be just as easily said of people who have not extensively studied graph theory, or Linear Programming.... or Animal Husbandry, for that matter. It is not feasibly to be an expert in all areas... or even have some small amount of knowledge in them. One must decide what areas are important to them, and learn as much as they need. No more. You can no more say that integral calculus is the most important part of mathematics than you can say that language design and lambda calculus are the most important parts of computer science.

    Or you can say that, but you reveal yourself as ignorant of what you speak. It is hard to imagine what you intended to say with this post, if indeed you meant to do anything but inflame and belittle the submitter. You have made baseless claims regarding the importance of integral calculus, while at the same time not presenting any real or helpful answers to the initial question. The entire post is decidely combative, snapping out against the "belittlement" and "denigration" of mathematics-- a theme I find conspicuously absent from the submitted topic. You speak of immaturity, yet show the lack of such in yourself in your inability to answer the original question in a scientific and unjudgmental manner:

    Poster: Integral calculus is not all of math. There are many other varieties, many of which are more applicable to pure computer science. Look around: there's bound to be something you like.

    [ Parent ]
    CS courses teach the wrong math (4.00 / 8) (#127)
    by darial on Sat Dec 16, 2000 at 08:41:19 AM EST

    The dirty little secret that they don't tell CS majors is that while math is impotant to CS, the math the school wants to teach you is the wrong math. Calculus doesn't really apply all that much, because the major interesting operations in calculus (solving indefinite integrals, solving diferential equations, and proving assorted crap) are all intuitive. A computer can't do them by any other means than guess and check. Games and such, given by many above as examples of why calculus matters for CS, don't even do the calc at run time. It's all done ahead of time, before the program's even written.

    Now, make no doubt, CS is based on math: iteritive math, algebra, vector math,combinitorics, graph theory, etc.

    So, here's my advice: for math classes like calc*/dif-eq that have little to do with CS, take the class at a comunity college. If you do the homework and attend the tests, you will pass (it's the CC moto!). Then, promise yourself that you'll learn the important math, either through real (not CC) math classes, algorithms classes, or self teaching form a good book.

    This has lots of benifits: you send a message to the man that you know calc isn't relevent to CS. You save $$$ by taking some credits at a less expensive CC. You get your degree. You have an easy time of calc. You meet fast and easy CC babes! (just kidding)

    Score (2.66 / 6) (#130)
    by darial on Sat Dec 16, 2000 at 10:22:03 AM EST

    I just got a score of 1 from someone too chicken to reply. I smell a school administrator trying to protect their calc 1/2 cash cow.

    Think about it - a several hundred person class probably taught by a grad student. That's a profit on the order of 50 to 200 grand, deending on the local tuition.

    If you're going to score that low, REPLY!

    [ Parent ]
    Ignore the score (2.50 / 4) (#137)
    by slaytanic killer on Sat Dec 16, 2000 at 12:14:13 PM EST

    Most people don't know about using community colleges this way, and I was personally remiss for not metioning it.

    I once helped a friend tutor math at a community college, and univ profs have spoken with me about how people really should take basic classes at community college, instead of wasting their costly credit hours by taking them at the university. Don't forget to make sure the credits will transfer; try to get that in writing if possible.

    And though the original poster mentioned having a girlfriend, anyone else should realize that darial's advice on getting guys/gals at CC's is probably good.

    [ Parent ]
    Yet another life Bio... (3.60 / 5) (#128)
    by seb on Sat Dec 16, 2000 at 09:37:35 AM EST

    OK, I'm reading all these posts about the 'definition' of being a geek, about how you 'have' to do Maths to do programming, and I just have to disagree with all of them :) I'm afraid this is yet another autobiography, but I think it's worth reading because my experience seems to be dramatically different from most. It's not directly relevant to your current dilemma but you may find it useful.

    I work with computers every day. I'm no whizz, but I make a decent living and write above average web software using python and java. I know SQL, perl, a bit of C. I'm just teaching myself a bit about writing device drivers. I compile my own kernels, hack shell scripts for system administration, do a bit of UML here and a lot of UI design there. I love computers, I'm into tech politics, I use GPG. I've worked in the industry for 3 years. I was a Technical Architect in an international agency for the last year. I just started my own company. I'm writing a content management system in python. You get the picture. I don't overrate my abilities but I am perfectly compentent at what I do and I get paid for it.

    I did English Literature, French, and Ancient Greek at high school before I went to University. I studied Archaeology at uni but I switched to Social and Political Science. My first job afer uni was a junior sysadmin in a small company. I have never, ever been taught anything about computers or programming. I used to know a bit of calculus but I've forgotten it now. I've never done anything with matrices and I don't even know what discrete mathematics is.

    SO... you can be successful in the so-called 'geek' world and come from any background you want. I have friends who studied CS at Cambridge, who know all about systems theory and processor architecture but couldn't write code any better than I can. Some people might look down on me because I don't understand complex numbers, but I don't care. I might get time to grok them some day, and I'm sure I'd find it very interesting. What's important is, I'm doing what I love and I'm doing it well. My advice: don't sweat it. If you're truly into what you are doing, you'll be fine. Have fun, keep your eyes and ears open, make your own luck.

    Right on... (3.50 / 2) (#160)
    by byoon on Sun Dec 17, 2000 at 04:25:08 AM EST

    My best friend has a Masters Degree in Latin and what is he doing? Network Administration. I have a BA in Economics and Philosophy with a heavy emphasis in linguistics and am doing PHP/Java stuff. It's all about what you're really passionate about.

    Every now and then I'll go back and look over some of the old math that I had to take as an Econ major and find that I still understand it, though calc for Econ majors was nothing like the stuff that math/engineering people had to take. The math is not that big of a deal and I've found that if I really want to know it, I can usually learn it on my own and much quicker than a semester long class.
    "I'm a going to break you down into the little cubes." -Picasso
    [ Parent ]
    Community College (3.75 / 4) (#131)
    by CosmicSource on Sat Dec 16, 2000 at 10:30:13 AM EST

    Find out which math classes transfer from the community college of your choice, and take them during the summer. This especially applies to Calc I, II, & III. Diff Eqns is usually not offered at a CC. DO NOT take any Discrete Math or Symbolic Logic courses at the Comm College. These courses should be considered core, so take them at your University, it will be harder, but you'll get more out of it. Summer courses are a pain, you kind of hate to 'waste' the summer that way, but I took physics and Calc I & II at a CC, and it paid off. I got the fundamentals of what I needed, and kept myself to a four year program at my University.

    Study a lot... really! (3.00 / 2) (#133)
    by yobtah on Sat Dec 16, 2000 at 10:56:19 AM EST

    You sound a lot like me. The only difference is I'm one semester away from graduating with a CIS degree. I basically couldn't stand the math either. Assuming you _are_ a bit like me, you probably hate studying. It sounds like you've also decided you _can't_ do the math very well. Those two factors combined are really bad. Try to study as much as you can... even swallow your ego and ask professors for help! It's a really good thing to do. Many dumb people pass the math courses you named... I doubt you're as dumb as most of them. If you force yourself to study and convince yorself you will eventually understand the stuff, you'll be fine.

    math is good (3.33 / 3) (#139)
    by Pink Daisy on Sat Dec 16, 2000 at 01:00:31 PM EST

    I'm in computer engineering, which has probably even more math than CS does. I had nine math courses, ranging from calc I to complex analysis to signal processing. Surprisingly, none of them covered the good CS math, so I'm taking a single course on that as an elective.

    Anyway, I completely sucked at most of them. But I consider them some of my most valuable courses. Haha, I'd probably say that about most all of my courses except for analog electronics. But I really thought they were interesting. Further, later, I actually used what I learned there. Particularly linear algebra and differential equations. Something else that surprised me is how high my retention was for courses where I struggled through them and almost failed. When it comes time to use it, I can pick up stuff that I got a 58 on much faster than stuff I didn't take at all.

    As other posters have said, if you're interested mainly in IT, or even some programming, math isn't much use. On the other hand, if you want to do significant design or coding that isn't pretty much cookie-cutter, then math can be very helpful. In any case, the discipline that it imposes on your mind will contribute to your abilities in many areas.

    There are others.. (4.00 / 3) (#140)
    by driph on Sat Dec 16, 2000 at 02:06:47 PM EST

    A question...

    What is it in particular about computers that you enjoy? Your article more or less blanketed CS, while highlighting the math. Does what you want to do involve knowing math skills? Buckle down and learn em. If not, focus on what you DO want to learn. You don't have to be a CS major to work with computers.

    Personally, I tend to think very abstractly. Linear and I just don't get along. I have almost no sense of time. It's no use trying to memorize numbers, equations, or dates. However, I tend to be good at pulling together seemingly random bits, and do well with obscure visual detail. So what did I do? I studied Fine Arts. Although I focused more on figure work than graphic design while in college, everything I learned has helped me in my current field. Color theory, composition, layout, and so on. Studying art in college pushed me closer to what I want to do much more than a generic CS degree ever could have(not to mention I would have probably dropped out much earlier than I did had I studied CS..:]...)

    Anyway, what I'm trying to get at is that you need to sit back and think about what it is in the computer industry you'd really love to see yourself doing, and decide the best way to go about doing that. Don't limit yourself to Computer Science.

    --
    Vegas isn't a liberal stronghold. It's the place where the rich and powerful gamble away their company's pension fund and strangle call girls in their hotel rooms. - Psycho Dave
    Affirmation: There are others (3.50 / 2) (#143)
    by G_Man on Sat Dec 16, 2000 at 03:29:28 PM EST

    If you do not care to be a computer scientist you should try another major. Is your main goal to become the best programmer you can be? If so, then I would suggest staying with all the math. If you like other computer aspects such as networking or administration (not management) you should not limit yourself to that single college.

    I found myself down the same road as you and decided not only to switch majors but to switch universities. I am now pursuing a degree in Information Technology which can be read about at http://www.cps.cmich.edu/degree/intech.html .

    You may like what you find.

    [ Parent ]

    find something you love in that which you hate (4.25 / 4) (#145)
    by mysteron on Sat Dec 16, 2000 at 05:21:35 PM EST

    I was in a similar situation, and recently graduated. I basically suck(ed) at math in general, but had an A in CS. I've found that math is not strictly essential in my particular job, but that varies *greatly* with the job. I found that by relating the subject I had to study to something I liked or found interesting, I was able to excel at it. For instance, linear algebra seemed quite abstract and useless, until I realized all that theory directly applied to 3D graphics (cross-products, etc). By relating it to something I loved, namely computers and programming, I was able to drastically improve my scores. hope this helps...

    Do Your Homework (4.00 / 4) (#146)
    by snatmandu on Sat Dec 16, 2000 at 06:17:12 PM EST

    I graduated with a CS degree almost exactly a year ago. I took Calc II twice. Calculus drives people away from the subject of math in droves. It's really more of a skill than it is knowledge. I had taken AP Calculus in high school, where we had about twice as long to learn as I did in college. The thing about mathmatics is that the concepts, while abstract, are generally pretty simple. The way they get you is by providing tricky problems with non-intuitive solutions. The answer, do you ALL your homework, no matter how much is does or doesn't directly affect your marks. It's been my experience that most exam questions are very similar to problems you've already seen in assignments. If you did your homework carefully, you're all set. I always avoided homework, because I liked to party and play music, etc. Only when I really put my nose to the grind, and made myself a compulsive math-homework-doer, did I get my head above the water. My calc II teacher taught me this when I was frantically cramming for a final, and was at his office asking for some help. He said something like, "You're smart, and you understand all this stuff, you just need to practice doing the problems". He was right.

    Get past calc, and you'll probably find that courses in discrete, set theory, and linear algebra will be easier to study hard because they're far more interesting than the stale rote of Calc. Of course, YMMV.

    Get Funky

    My take (4.25 / 4) (#149)
    by antizeus on Sat Dec 16, 2000 at 08:04:58 PM EST

    First let me say that I find it a bit hard to relate, as I love mathematics, and it was my major. However, there were a couple times where I ran into difficulty: The basic calculus sequence during my undergraduate studies, and the real analysis sequence during my first year of grad school. In the first case, I just didn't care, didn't apply myself very well, didn't learn very well, and didn't get very good grades. In the second case, I found the material to be genuinely challenging. In both cases, the solution was the same: put the nose to the grindstone and become fanatical about it. In the first case, when I got to the ODE (ordinary differential equations) course, I spent a _lot_ of time on it, did well, actually enjoyed the subject, and got my first A in a college math class. In the second case, I managed to keep myself from getting kicked out of grad school.

    The remainder of my comment is in response to all the comments which say that math (especially pure math) is useless. During the course of my mathematical education, I saw a number of subjects. Here's a list (I may be forgetting some): Calculus, ODE's, Linear Algebra, Linear Programming, Real Analysis, Complex Analysis, Game Theory, Graph Theory, Combinatorics, Group Theory, Ring and Module Theory, Field (esp. Galois) Theory, Algebraic Geometry, Differential Geometry, Lie Algebras, Functional Analysis, Hilbert Spaces and C*-algbras, General Topology, Differential Topology, Algebraic Topology, Homological Algebra, Quadratic Forms, Set Theory, Category Theory, Universal Algebra.

    What am I doing now? I'm a programmer. I write algorithms in electronic design automation. How many of those subjects are directly useful in that field? Very few of them. How many of them helped me? All of them. I may not be using the large number of definitions and theorems that I was exposed to, but being exposed to them, and being made to solve problems in those subjects made me one HELL of a problem solver.

    With a mathematical education, it's not really the destination that counts. What counts is the journey you take towards that destination. It may not be easy, but nothing worth doing ever is (sorry about the cliche but it's true).
    -- $SIGNATURE

    Re: My take (4.00 / 2) (#161)
    by use strict on Sun Dec 17, 2000 at 04:25:44 AM EST

    This is ironic to me, because I took the exact opposite course... Like you, in HS I was really good at math, but, I failed every course out boredom (I would get 3 or 4 high grades at the beginning of terms, and then later I would just fail out of lack of interest and therefore studying and paying attention and so forth). I failed geometry (GEOMETRY! simple shit!) *three* times in four years maintaining this pattern. I had no problem with the material, it was more a lack of retaining it for tests and doing homework and so forth.

    When I went to college, I quickly found out the same thing. Trig and Calculus were not providing me with anything that I could *use*. I hope to return to fill out these classes eventually, however.

    Now though, I spend a lot of time doing forward research for projects at work. I find, that it's much easier to learn math in a situation where I can apply it directly. For instance, I'm working on a TripleDES implementation at work.. Some of you may not find that hard, but I have, and in turn, I have learned a lot in the process about math and encryption in general.

    It should be noted that you don't nessicarily *need* these skills to work in an environment, you just need to be able to adapt quickly enough to encapsulate them into your project. This, for me, is the best way to learn things. (generally though reading code, which could be said for a lot more than math)



    [ Parent ]
    Practice makes perfect (3.33 / 3) (#152)
    by arsenick on Sat Dec 16, 2000 at 09:31:42 PM EST

    I know this is not exactly an answer to what you asked, but I hope this is useful anyway. I just finished Caculus 1, and although I haven't got my final grade yet, I probably did well enough to get an A. But at first it wasn't that easy. I used to be really good at math (finished high school with a 99 average, 100 on the final) without having to actually work. So, during the first weeks of Calculus in college, I did about just what I used to do: the least possible. But it didn't work like it did in high school: I got my worst grades in math, ever. And I don't think it was because I'm not good at math. It is just because I didn't work enough. Sure I only completed Calculus 1, but I don't think you have to "be good at math" at all to pass. You just need to practice, and practice again. People that do well aren't good, they just keep practicing. This is life. Moreover, Calculus is not so time consuming. One hour everyday and a bit of preparation before the tests isn't so painful, but it will surely make you pass pretty easily.

    What do you want to do with your degree? (3.00 / 3) (#153)
    by aturner on Sat Dec 16, 2000 at 10:16:02 PM EST

    Well, you sound like you're right where I was a few years ago. Math was killing me, and even worse, I kept telling myself "I'm never going to need to know how to do this in the real world". I've been working in the computer industry for 7 years now (mostly IT positions) and the only college level math I've ever used was statistics- even then that was for a side project that I decided to do on my own.

    Basically, you need to figure out what a college degree will do for you and why you need it. The reality is that not everyone needs a college degree anymore- especially in the computer field.

    There are some things that college does a horrible job of preparing you for once you've gotten through the traditional material. If you want to code for a living, I'm sure a CS degree will prepare you very well for that. But there are a lot of computer related jobs that college just sucks.

    Personally, I quit to work full time. It's been over a year now, and honestly, it was the best decision I made. I'm a happier person, successful in my career, and never once have I regretted quitting. I recently changed jobs, and never once did any potential employeer even raise their eyebrow over me not finishing college. Honestly though, I've got a pretty kickass resume and excellent references, so that opens a lot of doors that would of been closed otherwise.

    --
    They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety. -- Benjamin Franklin

    Math is the key (3.60 / 5) (#155)
    by fluxrad on Sat Dec 16, 2000 at 11:37:20 PM EST

    I was (sort of) in your situation a while ago. This was, of course, prior to my flunking out of school. but i think i can give you a little advice...yes, this is one of those "i told you so" deals.

    the main thing you'll need to remember is that computer science is, when you boil it all down, math. No, coding doesn't really require much math (at least, not for a little while) and if you're interested in the software side of things, you don't really need to know the logic behind microprocessor architecture and chip design. But - some day, you will WANT to know about this stuff. And you will realize you missed out.

    I was a pretty decent math student. I got a pretty high score on my SAT's (800 verbal ;-) and i went to a pretty decent school. My only problem was that i didn't have the math i needed to do well. One of my second semester comp-sci classes had an assignment to code the area of a given portion of a wave (calculus, of course). My problem? I never took calculus (the highest i ever got in math was Algebra 2 and Trig). So i felt like i had hit a wall. I failed the assignment and felt like an idiot because i didn't have the knowledge that i needed (yes, there were alot of other issues involved...but math was an underlying one).

    Bear in mind, this was only at the beginning. The fundamental thing to keep in mind is that the farther down you dig in comp-sci...the more math oriented you're going to have to get. Hell, i find myself lost on some of the articles on /. because i didn't have a decent math base to pull from so i never got any farther. and, at that point, i realized - there was a reason those damned public schools made math a core subject.

    My advice - if you're really into comp sci - stick with the math. even if you can't appreciate math as something interesting in and of itself - you'll soon learn that it's a fundamental base for a whole hell of a lot of different subjects. Without it, you'll always be playing catch up. And in the end, just like i did, you'll wish you had stayed with it.

    --
    "It is seldom liberty of any kind that is lost all at once."
    -David Hume
    Some things you could do. (3.25 / 4) (#157)
    by Kalidor on Sun Dec 17, 2000 at 01:05:37 AM EST

    I know how you feel. Prior to attending college I entered a middle managment job at a major company, to pay for my schooling bills and whatnot. Origianlly I wanted to enter an IT field but everyone told me to do CS, because CS is easily retrainable to IT and the status of CS looks better. This I have to admit is true, especialy after I started hiring college graduates and seen the quality of their work. Sometimes the company assigns personal to my team and I always dread it is a retired armed forces person who recieved IT training. I almost always spend the first 9 months teaching him/her windows .. then try to move on to more advanced topics like unix and vms. Anyhow when I finally went to get my degree, I had the choice of three Schools, RIT, WPI and JHU. After visitng all three, I decided I didn't like WPI focus, or the fact that they loose a lot of class time to snow days. RIT I liked a lot but the but the layout of the campus seemed counterproductive to study. So I ended up choosing JHU. In doing this I also closed off the IT degree as JHU does not offer one.

    Any how I got here and heard all the math I had to do and nearly fainted. It didn't scare me too much but just the workload looked insane. So I started taking the classes, and realized that I was in more trouble then I had bargained for. Namely between the size of the classes and the quality of the teachers, there was no way I could pass the courses. I mean the worst I must admit was the head of the math department, who never spokes .. he just used a laptop and projector and tapped thru a powerpoint presentation. Even the TA's, many computer science majors, didn't care much about teaching the material. In fact they said many times that in programming all you really need is the look up equations in a reference text and put the test away until you need in a few months later. Needless to say, I wasn't going to be getting thru this easily seeing as I needed 14 credits of math.

    Incidently I found out that 14 credits was also the maximum amount of credits you could transfer. After talking with the Math Department Chair, I discovered that a college near where my home is, is an acceptable transfer credit. He even added that the Math department there was viewed as much stricter then the one at JHU, so they will easily accept the credit.

    So this summer I tried this .. taking the night course so I could work during the day. The teacher actually cared, and the class size was much better proportioned. In this "much stricter" version of the course I failed freshmen year here, I got an A in there. My advice to you would be .. look at your options. For me I believe it was the teacher ... and the fact that I only had to concentrate on one subject that semester. But it could be the class size too. For you, you may wish to look for a specialty class that has a better size so the teacher can give you more attention. Or check out transfer credit options. Don't let them force you into a corner. While it is true that math won't be needed after you get those classes done you need to get them done. If I were you I'd look around ... $170 dollars for a 1 term math course elsewhere was little enough for me to pay to finish my degree here.
    Code softly but carry a big manget!

    Here's my advice... (2.50 / 2) (#163)
    by gren on Sun Dec 17, 2000 at 06:42:12 AM EST

    First off, decide what major is right for you. I used to be comp. engineering but I changed to CS. Good move for me because I suck at math as well and it's way less math.

    But it sounds like CS is your fit and it's a shame to steer away from it because of a few lousy math classes. As others have suggested... take as many as you possibly can at a community college. I'd also suggest taking any upper division math classes that have to be taken at the university to be taken during summer session. Not only can you just concentrate on math but it's easier. Trust me.

    Ask your classmates which classes are easy. Some classes are easier than others... take those. If you are a strong programmer you might looking into someting w/ a lab using MATLAB. If you like linear algebra then take classes that whose titles start with "linear", you get the point.















    I think here's what it all boils down to... (3.50 / 2) (#170)
    by rebelcool on Sun Dec 17, 2000 at 05:13:14 PM EST

    Some of us are excellent at computing and programming, but arent so hot at math (myself included). Back in the yesteryear, math *was* necessary because you needed to be as much a computer architect and engineer as well as program. You need the math for the signal processing, electrical fields and all that physics stuff.

    Today's world. "Computer Science" is about as obsolete as a college simply having "earth science" and bundling everything from geology to anthropology to biology in it. Computers are much more specialized now and for many (most) fields.. you don't need heavy math experience. At least not like in the old days where you were a jack-of-all-trades. In some aspects, such as modeling, statistics etc..yes you will need math. But those are the exception as someone pointed out.

    At 15 I wrote an internet chat server software that's still in use. At 17 I wrote a webserver frontend for a database that helps people build community websites. At 18, I began exploring connection pooling and more advanced database aspects and my community software started to gain popularity.

    Now i'm 19, just finished Calc 408C (that's calc1 for most) at the univ. of texas at austin, and frankly, i dont know if i passed. I tried hard, but math has never been my strong subject as I have zero interest in it. Half thinking about quitting to puruse one of the many fascinating job offers ive gotten that deal with what I love to do - networking and server software design.

    COG. Build your own community. Free, easy, powerful. Demo site

    It's all about logic Puzzles. (3.33 / 3) (#171)
    by AndyL on Sun Dec 17, 2000 at 05:25:06 PM EST

    Perhaps you havn't been taught math very well, But the key to math is logical reasoning, and the ability to look at what numbers you have and determaning what operations you can go through to get the numbers you want.

    At the moment I'm only somewhere between my sophmore years and my junior year in college, but from my experiance the thought processes needed for coding are the same ones I need for math. There is some memorization involved, especially in the higher maths. (That's usualy where I fall down.) But aside from that it's just a bunch of logic puzzles. I think most coding is either just drugery or logic puzzles. So the maths are realy a good practice for more complex computer science problems as far as I can see. Which I suppose is why they want us to take them.

    Of course it's easy for me to say; I'm good at Math. ...And logic puzzles.

    -Andy



    Math (3.50 / 4) (#173)
    by end0parasite on Sun Dec 17, 2000 at 05:39:31 PM EST

    I can't help you that much because I love math and seem to be good at it. You probably just think you hate it because you're not challenged enough.

    You said that you only got B's and C's before because you preferred enjoying life to working on school. Then you said you aren't very good at math now because of lack of good instruction at an earlier age. I think it's because you only worked hard enough for B's and C's.

    I did that too, before. I only got B's and C's in everything, but I know it's because I didn't try hard enough to get A's. Everyone else in my Algebra class got near-perfect scores because they actually did their assignments.

    I'm not trying to say that you're lying to yourself, becauses neither of us can prove it anyway. I'm saying that you seem to contradict yourself.

    But that's just my opinion, I could be wrong.

    Take the math classes there's not that much (3.00 / 1) (#174)
    by phr on Sun Dec 17, 2000 at 05:50:59 PM EST

    It sounds like they want you to take 2 semesters of calculus, 1 semester of probability/statistics, maybe a class in discrete math. There will probably also be a couple of CS theory classes which for all intents and purposes are math classes. So that's about 6 classes where most people take about 4 classes/semester. You can probably take the stat class and the discrete math class at the same time, after finishing the 2 semesters of calculus. And calculus really isn't that hard a subject--it's about like learning the basics of programming (derivatives, integrals etc. instead of loops, recursion, and similar concepts but not really complicated stuff like compiler design). Anyway, just deal with it.

    Think of it as language... (3.33 / 3) (#176)
    by phoobar on Sun Dec 17, 2000 at 10:27:44 PM EST

    As with art and music, programming is the expression of Platonic ideal that is, ultimately, interpreted by something or someone. Unlike art and music, the interpreter is a computer. In the case of people, it is somewhat easy to get a point across because you, also, are a person. People essentially think the same; otherwise, literature (which is basically expression of thought) would be impossible. People and computers, while one is built by the other (but which?), are different creatures. One is (arguably) sentient, and the other is not; a human may override a "core" parameter (depending on definitions), and a machine may not. In any case, to truly understand computers it is necessary to understand that around which they are built - mathematics. Computers were born as an offshoot of cryptography, which is a hugely complicated subject that is intimately related with numbers. The first computer (not ENIAC), Colossus, was invented by the British during WWII to help break the Enigma. Note that the branch of study you're talking about is Computer Science, not computer programming or computer engineering. Because computer science is essentially a branch of mathematics (take a look and Scheme vs. Lambda Calculus), it is necessary to have a firm grasp on mathematics to have a firm grasp on compsci. I am a high school junior in the U.S. (skipped a grade, only fifteen), and right now all I'm taking is Trig/Precalc, so I doubt I can sympathize with you very much. I've messed around with some calculus (mostly derivatives), and it doesn't really look all that hard, just really in-depth and requiring deep thought (though for some [and I name no names] this may be difficult). Stick with the math; it'll probably be good for you in the long run, as taking difficult courses and learning not to do well (and, yes, even fail) are things you should learn (though I doubt I should be one dispensing lessons). In any case, if you refuse to do the math, bail out. Take something that you enjoy and then get work with computers. I've already taken what's supposed to be the equivalent to a semester of second- or third-year college computer science in a summer course, and the math involved, while abstract and very new to me, wasn't really all that difficult. From this it is possible to assume, then, that higher-level math is really a requirement of computer science, and I believe such from the nature of the subject anyway. As such, do your best with the math (who knows, you might end up liking it...) and keep on pushing ahead in the rest of your subjects in the meanwhile.
    Thank you for reading my post. If for any reason you are unsatisfied with what you have read, please return it for a refund based upon the unused portion.
    I feel you pain (3.66 / 3) (#177)
    by cpfeifer on Sun Dec 17, 2000 at 11:44:12 PM EST

    I finished my BS in computer science in 1997, and I understand your pain. I loved programming, I loved all of my CS classes, I loved learning the concepts of the classes. I even read research papers & did 3 semesters of my own research.

    But I too, sucked at math (to be honest, I still kind of do). I too had to re-take pre-Calc before they would let me start on the path of calculus (we had to take 4 semesters: calc I, calc II, multivariate calculus, and one semester of combined differential equations + linear algebra). I did graduate, but not before taking calc I & calc II twice.

    I didn't like it, and I didn't understand it then, but I was able to make my way through the requirement with the help of study groups and summer classes. Since I've graduated, not a single employer has asked me to perform a Laplace Transform, find the volume of an irregular 3D solid or find the molarity of a mixture when it flows through two tanks. But that's not the point. Math is brain food. It teaches you to think critically & how to solve problems. That's what computer science is all about.

    In the IT industry there's two types of folks: one that learn the latest language & have to constantly upgrade their skills & be retrained as new languages come out, and another that is able to think about the solution to the problem more abstractly, free of the constraints of languages / packages. These people are able to architect and design solutions that can be implemented in any language (although, they have to have enough experience to know what is the best tool for the job). These are the people whose skills never go out of date.


    --- "What's the point of waking up in the morning if you don't try to match the enourmousness of the known forces in the world with something powerful in your own life?" - Don Delillo, "Underworld"

    Stop whining, take the class, learn a new skill (3.00 / 2) (#178)
    by NoNeckJoe on Mon Dec 18, 2000 at 09:54:24 AM EST

    Sometimes life is challenging. Working through those challenges builds character. You say that you don't see any point to taking calculus, but that is because you don't see the big picture. I have three degrees: one in engineering, one in computer science, and one in mathematics. I can say without a doubt that the math degree is the most valuable one that I obtained. It taught me to think critically and logically about hard problems. Right now I am a programmer, but I would be a total failure in my current job without my math background.

    View Calaulus, Discrete Math, Logic, and other math courses as tools that help you to get a job done, just like C++, Perl, Assembley, and other languages are tools to get a job done. While you're learning the math it may seem pointless. This is due to a major failure in the university system: you are taught courses that are extremely important without being told why they are important. Calculus is important because it teaches you to think in a new way, it allows you to optimize a variety of equations (and code is nothing more than equations), and it gives you the tools to transform hard problems to easy problems. I've been there, I've seen it, and I'm glad that I chose to take my masters in mathematics rather than computer science.

    I've worked at a major national lab, am the lead programmer in a research and development group, and hold visiting scientist status at another national laboratory. I owe all of this to my math background.

    Suck it up, learn the material, and add more tools to your chest of tools. It will only help you in the long run.

    No Neck Joe!

    Good at math = Good at programming ? (3.00 / 4) (#179)
    by Pantheon on Mon Dec 18, 2000 at 11:07:01 AM EST

    I am a programmer, and I've always hated math.

    Looking back at my univ. years, I can't understand how I managed to get through those math courses. I'm simply no good at it! I don't have the mind for it.

    Actually, I'm good with languages. How on earth did I make it into a programmer?

    Well, let me explain: Database modelling, data structures, design patterns, that is what I am good at. For me, that has little to do with math. My co-workers can flash their math degrees all they want, their code is still dumb. :)

    The ability to break down problems and patterns down into good data structures, and to think creatively, is in my opinion much more important than math skills.

    What a shame that people are brought up to think that they will never be programmers because they don't excel at math. On the contrary, technologies like OOP requires a completely different mindset.


    Good at math = Good at programming ? (4.33 / 3) (#180)
    by Pantheon on Mon Dec 18, 2000 at 11:42:28 AM EST

    I am a programmer, and I've always hated math.

    Looking back at my univ. years, I can't understand how I managed to get through those math courses. I'm simply no good at it! I don't have the mind for it.

    Actually, I'm good with languages. How on earth did I make it into a programmer?

    Well, let me explain: Database modelling, data structures, design patterns, that is what I am good at. For me, that has little to do with math. My co-workers can flash their math degrees all they want, their code is still dumb. :)

    The ability to break down problems and patterns down into good data structures, and to think creatively, is in my opinion much more important than math skills.

    What a shame that people are brought up to think that they will never be programmers because they don't excel at math. On the contrary, technologies like OOP requires a completely different mindset.


    A Couple of Options (4.00 / 4) (#181)
    by SpaceManBob on Mon Dec 18, 2000 at 11:43:44 AM EST

    I just graduated from Georgia Tech with a B.S. in Computer Science, so I feel particularly qualified to answer this question. Math classes were initially some of the most difficult for me. To compond that, at most of the major schools, the early calculus classes are viewed by some professors as weed-out classes. Beyond the initial calculus, usually the class sizes get smaller and the professors more interested in your success.

    I would like to suggest the following strategies that I have used at some point for math classes in my undergraduate career:

    1. Consider taking the first calculus classes at a smaller school and transfer the credit back to yours. You'll find that the smaller school will cover the same material. But the professors are more interested in your success and working with you and the class sizes are much smaller. The downside of this is, although you'll get credit for taking the class at the larger school, the grade will not count towards your GPA at the larger school.
    2. Do the homework! Do it, even if it's optional. Success in math comes from seeing and working alot of problems. The more homework you do, the better chance for success.
    3. Go to the professor's office hours! Make a point of doing this regularly after the semester or quarter gets rolling. This is very important. When the professor gets to know you, you may even find that he/she will give you extra hints about the kinds of problems that are going to be on the test.
    4. Go to class every day! Inevitably, the class you miss will be the class that had the information you needed to complete the most important question on the test. There is another benefit to this, when the professor goes to calculate grades at the end of the term, you'll find you are more likely to get a bump up because the professor knew you were there every day.
    5. Form a study group. In every one of my classes I excelled in, I formed a study group. The requirement was to complete the homework before getting in the group and review the homework together. The benefit of explaining the solution of a problem to someone else is imeasurable. Often, we would have the group before the professor's office hours so we could go after the review.

    When I started at Tech, as an Aerospace Engineering major no less, I really stuggled with the math classes especially. So much so that I left school and went to work for two years. When I woke-up and decided to go back to school, the improvment was remarkable. I got A's in all my math classes, with the excpetion of differential equations, where I got a B. The turn around in my performance can be attributed almost completely to following these strategies.

    Yes there were people who could not show up to class, and not do the homework and make striaght A's. I was not gifted like that, so I had to work for it.

    Good luck to you.

    Programming has (nearly) nothing to do with math. (3.00 / 1) (#182)
    by Mr.Surly on Mon Dec 18, 2000 at 12:26:52 PM EST

    I've been programming for several years now. Unlike the author, I don't have any prolems with math (which does not mean I sit around doing math problems all day -- I find math rather boring most of the time).

    The thing is that of all the programming that I've done, it's never required anything but very simple algebra (i.e. screen coordinates to memory location: cursor_y * 80 + cursor_x;). Exception: when the specific task to be performed involves the math. At one point, I was doing a lot of my own 3d graphics (wireframe rendering). As a result, I needed to do a lot of trigonometry. Actually, the trig was 99% on paper and in my head; wireframe rendering is also a very simple algabraic equation.

    The idea that your school is requiring you to complete calculus in order to earn an IT degree seems rather silly. I did well in calculus, but I've never needed to use calculus. Ever.

    Unless you're going to be creating mathematically oriented programs, you're not going to need that much math. Simple as that. Of course, try to tell that to the person who makes these classes "required" for a degree.

    No Escape from Math (4.00 / 2) (#184)
    by dagoski on Mon Dec 18, 2000 at 01:31:40 PM EST

    Unforunately, there is no escape from Math as you venture further into comp sci. Calc is a killer the first time around. I did okay, but I didn't understand what the heck was going on til I took diferential equations. Anyway, what I reccomend is that you avail yourself of whatever tutoring resources are available through your university. Especially, any friends you may have that took the class before you. Calculus is kind of essential to doing a wide variety of technical work, because it is a mathematical formalism for dealing with change in all its forms. With the tools start to develop calculus, you can simulate motion or any other dynamical system. And, this is a large part of the computer software industry after all. I was in much the same boat as you; taking remdial classes to make up for lack of mathematical prep. Except I majored in physics. Using tutors and and people who went through it once before is what helped me through. The hardest part with calculus and the other math classes is picturing how it all fits together, and trying to make it matter. Calc didn't click as a concept until I had class section on chemical reaction rates. As I worked through this, I was finally able to see just what a derivative meant. From there on out, it was all okay. As an exercise, I would suggest trying to find something in another class which you can model using calculus.

    Looking ahead to other classes you're likely to take: discrete math is an extension of algebra and everyone I know like this class--I didn't actually take it. Then you're quite likely to have class on linear algebra. This will hammer your brain. Its a fantastically useful are of math, but it hurts. Linear algebra is the math undlying arrays, and to some extent, even objects. If, as a programmer, you want to get into any kind of graphics, game programming, or simulations, then you must take diferntial equations. Even though this subject gets very advanced very quickly, its much, much easier than the calculus which its based on. If you're unlucky, you may also have to take a course in numerical methods which is a collection of techniques to approximate solutions to various problems. Since computers don't do so well at solving things analytically, this is the set of tools you'll use to fit curves and solve diferential and integral equations.



    Higher math (none / 0) (#186)
    by spyffe on Mon Dec 18, 2000 at 08:25:38 PM EST

    I think fighting through the Calculus sequence is necessary, if only to get to the higher math. Once you get into linear algebra (theoretical, not just matrix manipulation) and topology, you'll find the work becomes even more difficult but the rewards are enormous. And that's what grad schools are looking for too!
    Sigmentation fault - core dumped.
    [ Parent ]
    Whine, whine, whine, it's not my fault (1.75 / 4) (#185)
    by the nameless avenger on Mon Dec 18, 2000 at 03:46:57 PM EST

    I have never exactly been what you would call an outstanding student...not worth the time and effort. I would rather get C's and B's...without too much extra effort...

    OK, so we've learnt that you're a jerkoff who won't go that extra mile to actually nail something down and understand it. Where do we go from here?

    in my mathematics classes...I can work my ass off and still squeak by with a C-.

    Yeah, that's what happens to jerkoffs: they find that eventually it catches up to them. Happens in maths first 'cos maths builds on the previous bits you should have learnt more than other subjects.

    (due, I think, to poor instruction in the subject throughout my childhood, as opposed to a lack of intelligence,)

    ...and here's the whiny bit. Whine, whine, moan, moan, I'm a jerkoff and I can't pass classes, must be everyone else's fault. Well, it ain't, you made this bed so lie in it.



    From a math person's point of view. (4.66 / 3) (#189)
    by cfish on Tue Dec 19, 2000 at 11:45:46 AM EST

    I am a pure math person turned computer science/Math. I have a 3.9 GPA in one of the tough top schools. When applying for graduate studies, professors stress on math performance when they look at your grades.

    Why?

    I was a math major for three years. I did that only because my father, a EE professor, forced me to do so. My father told me that "math is the best major in undergrad because you'd be good at everything." Well I hated it so I decided to become a art major.

    Then the most intrigueing thing happened. When I moved out of the university, I moved to my uncle's house. My uncle is a Physics Ph.D. from Northwestern. When I started to deal with him, and all the non-math people around us, I started to realize how much math has changed me. I realized that math has turned me into a logical thinking person. Non-math people started to sound like a broken machine; they talk with lots of "logic holes."

    I had, after three years of brutal rigorous proof training, became a math person. This feeling is impossible to describe; just like surfers find it impossible to tell you exactly how surfing feels like. You must have it to understand.

    It's all about whether you want to be a programmer-programmer, or something more. If you want to write Perl scripts or user interface for the rest of your life, you don't need math.

    My Mathematical Analysis professor, a topologist, told me that she went for job hunting after her Ph.D. She went to a programming house and applied for head programmer's job. She had not wrote a single line before and she was in the final four. Well, she didn't get rejected but she got a teaching job at a university so she didn't persue this programming job.

    If indeed she got the job, she would be telling other programmers what to do- programmers that are probably not very good in Math.

    When I discuss math with my math friends, one thing becomes clear: math is power. this is not just a punch line. "If you are good in math, most things in the world seem easy." (this is what my first math prof told me and I didn't believe it til 5 years later.) You will sail through most courses painlessly. You can pick up new things faster than other people. Again, I can't tell you exactly where the power comes from. But if you spend more time on math, you will spend much less time studying on other subjects. I guarantee you.


    I suggest you to talk to your math professors. Sure, most of them probably disregard you as a dumb little kid, but they will sure be very happy to sit down and tell you why you should be good in math, and how you can get A's.

    It's simple to get A's in math. practice everyday. like everything else in life. You will find that the hardest part is to get started. once you do a few homework problems, the rest are pretty much the same.


    maths (none / 0) (#197)
    by fantastic-cat on Fri Dec 22, 2000 at 06:31:03 AM EST

    I know what you mean, I've had similar experiences, you only ever realise how much you've benefitted from it afterward when it all seems to fit in nicely and is,, in retrospect, easy. Whilst your learning it it can be a real pig though and some people don't want to put themselves through that, I think it's dangerous to assume that with skill at maths you are somehaw a better person a lot of excelent mathematicians are terrible rhetoricians for example and it has little or no bearing on your ability to draw dogs. t.

    [ Parent ]
    "Math is Hard" (1.00 / 2) (#190)
    by phecda on Tue Dec 19, 2000 at 02:37:07 PM EST

    To quote Barbie, "Math is hard."

    In the sciences, there is Math, there is Physics, and then there is Stamp Collecting. Being a code monkey isn't one of the choices. It's a craft, like wood-working or knitting. So, the question you should be asking yourself is why do you need a degree? Programming is learned by doing, and the level of coding you're doing doesn't require a degree. You could be working a fulltime position somewhere now and starting a reasonable career.

    On the other hand, it's not too late to switch to the business school.

    That being said, you may want to try your local community college for less high powered classes that you can transfer back in to you main program. Also aim for the less high powered classes like "Math Modeling" (a fun class nonetheless) and discrete math.

    And if you do decide to stay in the program, aim for A level work. You owe it to yourself. Anything less and you're just wasting your time.

    "Math is Hard" (4.00 / 1) (#191)
    by phecda on Tue Dec 19, 2000 at 02:38:05 PM EST

    To quote Barbie, "Math is hard."

    In the sciences, there is Math, there is Physics, and then there is Stamp Collecting. Being a code monkey isn't one of the choices. It's a craft, like wood-working or knitting. So, the question you should be asking yourself is why do you need a degree? Programming is learned by doing, and the level of coding you're doing doesn't require a degree. You could be working a fulltime position somewhere now and starting a reasonable career.

    On the other hand, it's not too late to switch to the business school.

    That being said, you may want to try your local community college for less high powered classes that you can transfer back in to you main program. Also aim for the less high powered classes like "Math Modeling" (a fun class nonetheless) and discrete math.

    And if you do decide to stay in the program, aim for A level work. You owe it to yourself. Anything less and you're just wasting your time.

    Now here's my plan... (4.00 / 2) (#192)
    by talmage on Tue Dec 19, 2000 at 04:18:39 PM EST

    When I was a lad in Computer Science school, I took Calculus and did poorly. I failed Calc II because I tried to remmber everything. When I retook Calc II, I had an epiphany. I learned to derive all of the formulae I might need for the tests. As soon as the TAs handed out the tests, I'd read the questions quickly and make notes about the formulae I'd need to solve them and then I'd spend five minutes deriving everything on the back of one of the pages. Then I'd go about answering the questions using the stuff I'd just derived. That semester, I did all of the homework, too, and that helped. Homework is a lubricant for your brain.

    Later, I took Set Theory and Logic. It's the must useful course a would-be programmer can take. Linear Algebra is nearly as useful, but I've used the concepts from ST&L more often.

    So! Do the homework. Learn to derive everything. That's my advice to you, youngster.



    3rd year ME student (4.00 / 1) (#193)
    by mechris on Tue Dec 19, 2000 at 06:02:46 PM EST

    I'm a 3rd year Mech. Engineering student that had the same problem as you in Cal I. Go read some non-technical math books. If you have appreciation, learning will follow. Try
    A Tour of the Calculus (ISBN: 0679747885),
    The Man Who Loved Only Numbers (ISBN: 0786884061), or
    Fermat's Enigma (ISBN: 0385493622). Email me at spamforchris@yahoo.com and I'll mail you any of these books.

    You are missing the point (4.00 / 1) (#195)
    by glothar on Thu Dec 21, 2000 at 07:55:17 PM EST

    Not to isult others posting here, but you seem to miss the point of Calculus/Math.

    Very few people actually use Calculus on the job.

    The question is: How many people use the logic developed in such classes?

    To be a truly good programmer you must have a firm grasp on logic. No matter how much you feel that you understand logic, few people have the understanding that is imparted by the higher theoretical math. In my school (which I am nearly done with) we spend 3 semesters going over very rigourous CS theory/logic/set theory. As a result most of the seniors are able to pick up new languages in days.

    Everyone says "I have never used Calculus." Of course you haven't. But you have used the logic. If all you thought Calc was about was finding the area under strange functions, then you probably missed the point.

    So my advice to the writer is: Take the classes. They will make you a better programmer. If you get bad grades, then maybe you should retake the class until you actually understand the content. The fact that you feel that they are useless is very disturbing to me. Calc is about logic. Truly understanding computers and the things they do requires logic.

    A CS degree requires a lot. Part of that is rigorous logic. If that isn't what you want, then perhaps a degree change is in order.

    Either way, good luck.

    Computer Science for the Math-Intimidated? | 197 comments (197 topical, 0 editorial, 1 hidden)
    Display: Sort:

    kuro5hin.org

    [XML]
    All trademarks and copyrights on this page are owned by their respective companies. The Rest © 2000 - Present Kuro5hin.org Inc.
    See our legalese page for copyright policies. Please also read our Privacy Policy.
    Kuro5hin.org is powered by Free Software, including Apache, Perl, and Linux, The Scoop Engine that runs this site is freely available, under the terms of the GPL.
    Need some help? Email help@kuro5hin.org.
    My heart's the long stairs.

    Powered by Scoop create account | help/FAQ | mission | links | search | IRC | YOU choose the stories!