Advertisement

Math of Computer Science?

Started by July 26, 2000 08:52 PM
23 comments, last by NeRo 24 years, 4 months ago
Hey,

I''m doing my BMath in CS right now (That''s right, a batchelor''s in Mathematics), so I think I can respond to this (though I just finished a processor design assignment for one of my courses.... don''t know how coherent I''ll be)

Computer Science is math. Don''t ever forget it. That makes every field of mathematics in existence relevant to computers. Now obviously you can''t study everything, so you have to narrow it down to feasible stuff. For game dev, I would say algebra for sure. Learn algebra, and more algebra. Everything from fields to vectors to matricies to whatever.

But even more important than that (for all types of coding) is the CS type of math. "Yo guy! Are you insane? What is this crazy ''CS Math'' of which you speak?", you might ask. And I would respond, things like: algorithms and their run-times, proving code correct, theory of languages, concurrency, theory of computing, the list goes on forever. These are the most important things you can learn. If you''re able to master these things, then you''ll succeed, no matter what other math you learn (you can always look other math stuff up in a book).

IMHO, math is the coolest shit around. Well, that and jelly bellies... and maybe Diablo II... but I''m biased.

Good luck in your studies. If you have any other questions about anything I just mentionned, feel free to e-mail me (it''s in me profile).
==============="Or a pointed stick!"
The 3D math sounds like what I want to do, but I just got out of Algebra II (High School). I am definatly going to try and move ahead of the class in pre-cal, so will I have the required background for that math?
I will also study algorithms and comp-sci in my CompSci II class.


Edited by - NeRo on July 27, 2000 9:57:57 AM
|============================|| Things Smell VERY different|| to a midget in an elevator||============================|
Advertisement
Discrete Math was probably the best math course I took in college. Because of that course I have a great understanding of how and why sorting and searching algorithms work. I know why linked lists are possible and why trees present the properties they do. That course will teach you the theory behind it all. I can''t even begin to tell you how many times I have used set theory in my database development tasks. SQL becomes something that a child can do with the knowledge gained from that class. Remember sitting in algebra class wondering when you were ever going to use this stuff. I know I said the same thing in calculus and differential equations. Well now that I have written some physics stuff for a game, and have tried to do statistical analysis of game data, I can say that I have used almost all of the math that I learned in college and HS.

Hope this tells you how important math really is to a computer programmer, let alone a game programmer.
Kressilac
Derek Licciardi (Kressilac)Elysian Productions Inc.
I''m taking CS in University right now and can see the point of most of my Math classes,like discrete math and algebra, but what about Statistical Analysis. It was impossible! Just about everybody was crying at the end of the Stats II exam! I even ran into my grade 9 math teacher and even he said that stats was hard. For some reason our faculty has decided we need to take Stats I and II. Out of all the postings, nobody has mentioned Stats.
I''d just like to know if any of you guys in the field have used any complex stats, or even easy stats for that matter

I would echo with everyone else here that there is a wide variety of mathematical branches that applies to computer science. However, if you''re looking specifically to do 3d graphics programming, I would first attack linear algebra. That will contain the most pertinent information.


---- --- -- -
Blue programmer needs food badly. Blue programmer is about to die!
Math may help some of programming. But you too need some artistic knownedge. Even if you want to made a game or not.
And if you use the imagination, may skip many part of math procedure.
And the more important is the imagination!!. You may not need to use math, but imagination is always need!.

You may skip all in mathematica and learn only the need :
-vector
-matrix 4x4 and 1x4(you dont need another).

and operation into this (rotation, translation, ...)

The problem with the programmer is there are not time to learn and to program all we need!. You must select to learn only you need to use.

For example :Now, i need a anathomy course!, but i don''t need to learn medical-anathomy!


In the university, i be a worst mathematical student, but in computation i am the best (very modest :-), (even over the teachers, this not a liar! :-]


By this, you may be a worst mathematical student, but you may have the chance to be a good programmer.

-----------------------------------------------"Cuando se es peon, la unica salida es la revolución"
Advertisement
quote: Original post by egerlach

Hey,

I''m doing my BMath in CS right now (That''s right, a batchelor''s in Mathematics), so I think I can respond to this (though I just finished a processor design assignment for one of my courses.... don''t know how coherent I''ll be)

Computer Science is math. Don''t ever forget it. That makes every field of mathematics in existence relevant to computers. Now obviously you can''t study everything, so you have to narrow it down to feasible stuff. For game dev, I would say algebra for sure . Learn algebra, and more algebra. Everything from fields to vectors to matricies to whatever.

But even more important than that (for all types of coding) is the CS type of math. "Yo guy! Are you insane? What is this crazy ''CS Math'' of which you speak?", you might ask. And I would respond, things like: algorithms and their run-times, proving code correct, theory of languages, concurrency, theory of computing, the list goes on forever. These are the most important things you can learn. If you''re able to master these things, then you''ll succeed, no matter what other math you learn (you can always look other math stuff up in a book).

IMHO, math is the coolest shit around. Well, that and jelly bellies... and maybe Diablo II... but I''m biased.

Good luck in your studies. If you have any other questions about anything I just mentionned, feel free to e-mail me (it''s in me profile).


Hello,
Right now I am pursuing a major in Computer Science with minors in math and physics. In 3D game programming, I would say that vector math and calculus are the two most important math topics to get familiar with.
And yes, Computer Science does have very close ties with math, but when you are talking about the actual design and implementation of a real-world system, you are talking about Computer Alchemy. Intuition and experience are what really counts in this field. Knowing your theory is certainly important, but what is going to help you in the "real world" is experience, a love for computer programming, and more experience. This summer, I''ve been helping with the development of a database engine, at least a half million lines of code being worked on simultaneously by a dozen different people. And let me tell you, school doesn''t teach you everything you need to know; there is no substitute for experience.
So my advice is this: write code and write lots of it!




- Democritus

* Truth is universal *

- Democritus * Truth is universal *
quote: Original post by Democritus

And let me tell you, school doesn't teach you everything you need to know; there is no substitute for experience.
So my advice is this: write code and write lots of it!



I'm gonna be nitpicky, cuz... I'm a nitpicky kindof guy. It all depends on what the CS program you're taking is like. There are a few courses in my future (Operating Systems, Real-Time Programming) where all of the assignments are group assignments, and every group member has 10,000+ lines of code to do... per assignment.

I've even heard rumours that the Compilers course here has an assignment that is typically 30,000 lines of code. (However, I've also heard the story about a guy who wrote it in Scheme in only 10,000 lines... hmmmmmm....)

Now if that isn't writing a lot of code... I don't know what is.

However, Democritus rings very, very true. Writing code is the glue that pulls all your theory together. But you can only go so far with pure experience. That's what I found. I wrote a lot of code a number of years ago in the hopes that I'd become a great coder, but I didn't have the theoretical background to do it well. What I did was write a lot of crappy code. I came back to some of it last year, and with a little optimization and application of theory, the code was significantly better. But if I hadn't written a lot of that code, I wouldn't be nearly as good at CS as I am. *sigh* Always a tradeoff, ne?

quote: Original post by NeRo

The 3D math sounds like what I want to do, but I just got out of Algebra II (High School) . I am definatly going to try and move ahead of the class in pre-cal, so will I have the required background for that math?
I will also study algorithms and comp-sci in my CompSci II class.



Unless you try to do advanced physics using DEs, you should be okay. Did you deal with vectors and matricies in Algebra II? Those are really the fundamentals of a lot of "game math". Pre-cal will also be useful, and not that hard (I would think).

In regards to CompSci II, will you be doing analysis of algorithms? That IMHO, is really important to making eficient code. The other thing I just thought of is learning how to make a good object-oriented design. One should never underestimate that. You'll love yourself later if you're able to have good OOD.

Sounds like you have a really good high-school program... or maybe it's just that education here in ON sucks. (No thanks to Mike) I'm jealous ^_^

Edited by - egerlach on July 27, 2000 4:03:16 PM
==============="Or a pointed stick!"
Hi,

i agree with all the stuff that has been said before, but i think the most important thing to learn at university is "learn how to learn". When i started with hardcore math i hardly could read a single page of our LA script, there were proofs and proofs and ...
But i did not surrender, and so about after 6 month later i felt comfortable with this way of thinking and i understood why those "math crazies" often use these cryptic expression. Learning to apply something you have learned directly in a piece of code is a good experience but if you really understand why something works is almost a spiritual experience. The advantage of really go through this "hell" is that what you have learned that way is nothing that wont''t be important by tomorrow and it is much easier to read all those really interesting books and articles without the feeling "I will never understand that.".

cu

Peter

HPH
Did anyone here mention binary arithmetic and floating point representation?

No class I ever took explained how the x87 FPU (floating point unit) works or the IEEE standards for representing single or double or long double floating point values. I learned it from a document I found on a Sun SPARC/Solaris system called "What every computer scientist should know about floating point arithmetic"

This topic is closed to new replies.

Advertisement