Sign in to follow this  
Xest

Choosing math courses

Recommended Posts

I'm currently planning out my studies for my degree and whilst I've found it easy to decide which computing modules I wish to do I'm a little unsure which math modules will be most beneficial primarily for game programming, but also for programming in general. I'd be grateful if anyone could provide an insight as to where any of the areas of maths would be particularly useful in the following courses. Initially I have a choice of either pure mathematics (http://www3.open.ac.uk/courses/bin/p12.dll?C01M208) or mathematical methods and models (http://www3.open.ac.uk/courses/bin/p12.dll?C01MST209). Pure maths seems to have more useful stuff however mathematical modelling sounds like it would help me in improving my ability to translate a problem into a way in which it can be modelled with maths and hence then put into code. Does anyone have any advice regarding this? For my final year I have a much larger choice, and whilst my understanding of what would be useful may become more clear as I move through my current studies I do like to plan ahead, so again any pointers would be greatly appreciated. I have to choose between two of the following and these are the modules where I'm a little more unsure of their relevance: - Topology (http://www3.open.ac.uk/courses/bin/p12.dll?C01M338) - Applications of probability (http://www3.open.ac.uk/courses/bin/p12.dll?C01M343) - Complex Analysis (http://www3.open.ac.uk/courses/bin/p12.dll?C01M337) - Computer Algebra, Chaos and Simulations (http://www3.open.ac.uk/courses/bin/p12.dll?C01MS325) - Graphs, Networks and Design (http://www3.open.ac.uk/courses/bin/p12.dll?C01MT365) - Groups and Geometry (http://www3.open.ac.uk/courses/bin/p12.dll?C01M336) - Linear Statistical Modelling (http://www3.open.ac.uk/courses/bin/p12.dll?C01M346) - Mathematical Methods and Fluid Mechanics (http://www3.open.ac.uk/courses/bin/p12.dll?C01MST322) - Number Theory and Mathematical Logic (http://www3.open.ac.uk/courses/bin/p12.dll?C01M381) - Optimization (http://www3.open.ac.uk/courses/bin/p12.dll?C01M373) I'm almost certainly going to do the Computer Algebra, Chaos and Simulations course however as for the other one I'm not terribly sure yet! I've certainly no problems deciding my computing modules, it's just the maths ones I'm not terribly sure about yet so any help in pointing out their relevance to aid my decision would be greatly appreciated! :) Thanks.

Share this post


Link to post
Share on other sites
This sounds very useful from the 2nd course for gaming.

Quote:
And the methods you will learn include vector algebra; differential equations; calculus (including several variables and vector calculus); matrices; methods for three-dimensional problems; and numerical methods.

Share this post


Link to post
Share on other sites
Where in the UK are you from?

In terms of games programming pure maths is of very much less relevance than mathematical methods. In pure maths you will learn analysis, vector spaces, group theory, proof writing and all that abstract stuff. Mathematical methods teaches you more applicable mathematics such as deeper investigations into matrix theory, vector calculus, fourier analysis, numerical methods and differential equations, all things that are more useful to a typical games programmer than proving if two functions are isomorphic or some series converges or something is a subgroup blah blah.

Although in the Pure maths module vector spaces (linear combination, subspaces, linear (in)dependence etc) provide some relevance to game programming, most of it is of a theoretical nature and a basis for why the stuff you are using in mathematical methods works.

I suggest you take Mathematical Methods if you wish to be a programmer and Pure mathematics if you are more interested in becoming a mathematician or computer scientist.

In order of relevance?

- Mathematical Methods and Fluid Mechanics (http://www3.open.ac.uk/courses/bin/p12.dll?C01MST322)

- Graphs, Networks and Design (http://www3.open.ac.uk/courses/bin/p12.dll?C01MT365)

- Applications of probability (http://www3.open.ac.uk/courses/bin/p12.dll?C01M343)

- Groups and Geometry (http://www3.open.ac.uk/courses/bin/p12.dll?C01M336)

- Computer Algebra, Chaos and Simulations (http://www3.open.ac.uk/courses/bin/p12.dll?C01MS325)

- Topology (http://www3.open.ac.uk/courses/bin/p12.dll?C01M338)

[Edited by - Daerax on March 16, 2007 12:02:17 PM]

Share this post


Link to post
Share on other sites
Quote:
Original post by XestPure maths seems to have more useful stuff however mathematical modelling sounds like it would help me in improving my ability to translate a problem into a way in which it can be modelled with maths and hence then put into code. Does anyone have any advice regarding this?

You should learn yourself, how to algoritmize a problem in multiple ways and test them.

- Topology (http://www3.open.ac.uk/courses/bin/p12.dll?C01M338)

If you'd need it you'd learn it easily yourself in few weeks.

- Applications of probability (http://www3.open.ac.uk/courses/bin/p12.dll?C01M343)

It's quite important (if you'd be at the right position), however games are often using discrete probability (dices and stuff) and they might go into unnecessary details. Then again it's university courses so I doubt they would go into too gory details.

Quote:
but we do not always give formal proofs

You should love them for that.

- Complex Analysis (http://www3.open.ac.uk/courses/bin/p12.dll?C01M337)

Math. Dunno how much of that would you use. Some of it is used for testing integrators, if you invented some, or if you need to guess some property. On the other hand creation of a small test program, or observation of behavior of modified prototype, and then comparing it with real one is also possible, and probably in many times easier than complex analysis.

- Computer Algebra, Chaos and Simulations
(http://www3.open.ac.uk/courses/bin/p12.dll?C01MS325)

You might enjoy this.

Actually there is a little catch. They are using Maple. It might be much better if they would force you to create a small Java programs, as you'd learn more. Especially in last block. (Then again quite a lot of uni students would be quite incopetent with writing a simple program quickly, and with rapid prototiping without CVS, so they are probably using Maple to avoid problems called "how would I setup a compiler".)

- Graphs, Networks and Design (http://www3.open.ac.uk/courses/bin/p12.dll?C01MT365)

Honestly if you need to learn math about graphs, you should do it yourself. In fact if I'd compare looking at whole problem then using brain and intuition. With derivation of algorithm from a graph theory. The first would win. It takes only 2/3 time.

By looking at the description, they will not actually force you into actually connect wires into functional network, and test the real data flow, and bandage your cut fingers. They will teach only math. While it will be convenient, they will not teach you much about real networks. For example they will not show you example of a packet storm.

However they will talk about thing like A* (or it's precursor).
So this course might be actually important.

- Groups and Geometry (http://www3.open.ac.uk/courses/bin/p12.dll?C01M336)

I was able to finish all tasks I was supposed to without knowing what abelan group is. So only if you like math.

- Linear Statistical Modelling (http://www3.open.ac.uk/courses/bin/p12.dll?C01M346)

Problem with this course is, they will not show you a data from enough complicated model. The other problem is they will not show you this on a complex enough game. (I'm unsure if you'd get into an entry position where this will be of any value. Note a statistical modeling isn't enough for games. Artistic feeling and common sense is more important.)

- Mathematical Methods and Fluid Mechanics (http://www3.open.ac.uk/courses/bin/p12.dll?C01MST322)

Some of these are interesting. Especially differential equations. (I hope they would show you unsolvable differential equations.)


- Number Theory and Mathematical Logic (http://www3.open.ac.uk/courses/bin/p12.dll?C01M381)

Proofs, proofs, and more proofs.

- Optimization (http://www3.open.ac.uk/courses/bin/p12.dll?C01M373)

I have strong feeling that optimization that is used in game development, and real video codec works, which requires a direct interaction with CPU and the optimized program is something entirely different than they would teach you.

I might probably go with.

Applications of probability
and
Mathematical Methods and Fluid Mechanics

By looking at all these courses, Graphs, Networks and Design might be interesting as well, thought probably math heavy.

Share this post


Link to post
Share on other sites
Raghar, you'd do well to make a clearer distinction between fact and opinion. Some of this 'advice' will get you sent straight to hell.

Quote:
Topology ... If you'd need it you'd learn it easily yourself in few weeks.
A few weeks? Topology isn't the easiest subject to get your head around. Qualitatively, you could cover the course in a few weeks, maybe, but grokking the topological-proof mentality takes quite some doing.

Quote:
Applications of Probability ... Then again it's university courses so I doubt they would go into too gory details.
Can you provide a form of formal education that goes into any gorier detail? I could show you some university material that would bring your lunch back.

Quote:
Quote: but we do not always give formal proofs
You should love them for that.
A theorem is nothing without its proof. And even if you're looking at things from the perspective of a slacker, more time spent learning non-examinable proofs means less material to learn.

Quote:
Complex Analysis ... Math. Dunno how much of that would you use. Some of it is used for testing integrators, if you invented some, or if you need to guess some property.
Do you know what complex analysis is? It's certainly of no use in 'guessing properties'.
But you're right in suggesting that it's not appropriate for the original poster. Complex analysis makes such heavy use of holomorphicity, a property that is meaningless in the discrete world, that it has virtually no computational uses. It's still a beautiful topic, though, from a mathematical perspective.

Quote:
Computer Algebra, Chaos and Simulations ... They are using Maple. It might be much better if they would force you to create a small Java programs, as you'd learn more.
You'd learn more Java, but that's about all. If you were to reinvent all the pertinent functionality of Maple in Java, then the course would be finished by the time you got a chance to use it.

Quote:
Graphs, Networks and Design ... Honestly if you need to learn math about graphs, you should do it yourself. In fact if I'd compare looking at whole problem then using brain and intuition. With derivation of algorithm from a graph theory. The first would win. It takes only 2/3 time.
I can envisage no circumstances where one would be better off learning by himself, graph theory included. And you are in a world of your own if you believe your thought experiments are anywhere near rigorous enough to compete with a graph-theoretically-backed-up algorithm in an application of any importance. I shudder at the thought of anybody responsible for a rail network thinking like this.

Quote:
Groups and Geometry ... I was able to finish all tasks I was supposed to without knowing what abelan group is. So only if you like math.
The difference between knowing the definition of 'abelian' and having an implicit understanding of which transformations commute is purely semantical. I can guarantee you that you are using some results from group theory without knowing it.

Quote:
Mathematical Methods and Fluid Mechanics ... I hope they would show you unsolvable differential equations.
Why? I could list a zillion of them and more. They're about an uninteresting as analytic mathematics gets.

Admiral

Share this post


Link to post
Share on other sites
Quote:
Original post by TheAdmiral
Raghar, you'd do well to make a clearer distinction between fact and opinion. Some of this 'advice' will get you sent straight to hell.

Quote:
Topology ... If you'd need it you'd learn it easily yourself in few weeks.
A few weeks? Topology isn't the easiest subject to get your head around. Qualitatively, you could cover the course in a few weeks, maybe, but grokking the topological-proof mentality takes quite some doing.


Hehe yea.. qualitatively, but that is like giving a tour of Europe but only stopping at L'arc de triumph and Big Ben for 5 minutes each. One of the Clay million dollar Problems was a topology one.

Quote:
Quote:
Mathematical Methods and Fluid Mechanics ... I hope they would show you unsolvable differential equations.
Why? I could list a zillion of them and more. They're about an uninteresting as analytic mathematics gets.

Admiral


Admittedly though, no maths student should be without the Counterexamples in topology/analysis books. Though I know of none for functional analysis though.

Anyways thanks for your post, I was really hoping someone would make it. The graph theory comment made me smile.:).

Share this post


Link to post
Share on other sites
Thanks for the responses all. Daerax, I'm from Leeds.

I think for this next year I'll certainly take the Mathematical Methods and Models course over the Pure maths one, this is what I was leaning towards and the comments here solidify that decision for me.

The final year courses are still a fairly tough decision though!

I'll admit that alongside games programming, I do have a fairly heavy interest in learning more about cryptography, an area which right now, my experience is very weak! I'm merely guessing but I'd imagine that cryptography requires rather different branches of maths to games programming?

Share this post


Link to post
Share on other sites
Quote:
Original post by Xest
The final year courses are still a fairly tough decision though!

Hey, you've still a couple of years to decide :), dont you?

Quote:

I'll admit that alongside games programming, I do have a fairly heavy interest in learning more about cryptography, an area which right now, my experience is very weak! I'm merely guessing but I'd imagine that cryptography requires rather different branches of maths to games programming?

Sounds very interesting. Cryptography may share stuff with compression.... maybe, but i dont know. So maybe its still even related :) Theres loads of stuff related to games you wouldn't first think of. I did a pure maths course at uni called 'series and sequences', and i was amazed i've used knoweledge from that professionally.

Share this post


Link to post
Share on other sites
Quote:
Original post by Xest
I'll admit that alongside games programming, I do have a fairly heavy interest in learning more about cryptography, an area which right now, my experience is very weak! I'm merely guessing but I'd imagine that cryptography requires rather different branches of maths to games programming?


Well, the algebra behind it really applies to coding theory in general, which would be useful to know as a network programmer. On the other hand, you could probably get away with not knowing much about it.

Share this post


Link to post
Share on other sites
Quote:
Original post by Xest
Thanks for the responses all. Daerax, I'm from Leeds.

I think for this next year I'll certainly take the Mathematical Methods and Models course over the Pure maths one, this is what I was leaning towards and the comments here solidify that decision for me.

The final year courses are still a fairly tough decision though!

I'll admit that alongside games programming, I do have a fairly heavy interest in learning more about cryptography, an area which right now, my experience is very weak! I'm merely guessing but I'd imagine that cryptography requires rather different branches of maths to games programming?


Hmm, that is a ways off from me.

Cryptography? Well, the mathematics behind it will not be of any direct use to you I am guessing. However it should, like all of mathematics, equip you with tools that will be useful to you in general - perhaps in coding more efficient algorithims by say taking advantage of some property of numbers. Indeed, cryptography requires a fair level of comfortability with Number Theory.

Share this post


Link to post
Share on other sites
Quote:
Original post by Daerax
Indeed, cryptography requires a fair level of comfortability with Number Theory.

Quite right. Number theory's only redeeming quality is that it is keeping my money in my bank account. Or at least that's my experience.

When I took a number theory course (two years ago) I figured it would be interesting and useful with regards to my passing interest in cryptography. Instead, all it brought me was toil and headaches. Don't let me put you off, but I suggest you take a good look at the material you'll be covering and make sure you are very comfortable with abstract algebra before you put your head in that guillotine.

Admiral

Share this post


Link to post
Share on other sites
Quote:
Original post by TheAdmiral
Raghar, you'd do well to make a clearer distinction between fact and opinion. Some of this 'advice' will get you sent straight to hell.

I talked about applicability for game development. Actually I didn't add the standard: If you will not do more that they will teach you on a university, and will not look and talk with potential companies during university course. You will be in a big problem, when you will leave the university with a juicy paper. For some it might actually mean gas station/Chinese restaurant big problem. Thought I know some university teachers that worked at a gas station because they were paid more.
Quote:
A few weeks? Topology isn't the easiest subject to get your head around. Qualitatively, you could cover the course in a few weeks, maybe, but grokking the topological-proof mentality takes quite some doing.

For some, it's only few weeks...
Quote:
Quote:
Applications of Probability ... Then again it's university courses so I doubt they would go into too gory details.
Can you provide a form of formal education that goes into any gorier detail? I could show you some university material that would bring your lunch back.
So do it. Some gorier details are encountered in real live. Note it's not duty of university course to show you the most gory example, and teach you how to solve it. Education should be applicable to real live, so some of unnecessary drastic examples are simply avoided as majority of students will not have any use for them.
Quote:
Quote:
Quote: but we do not always give formal proofs
You should love them for that.
A theorem is nothing without its proof. And even if you're looking at things from the perspective of a slacker, more time spent learning non-examinable proofs means less material to learn.

More time spend on proofs, less time spend on enjoyable, interesting parts of the course. Also, more time spend on proofs, less time spend on applicability. A lot of courses like this was killed by bothering with unnecessary proofs.
Quote:
Quote:
Computer Algebra, Chaos and Simulations ... They are using Maple. It might be much better if they would force you to create a small Java programs, as you'd learn more.
You'd learn more Java, but that's about all. If you were to reinvent all the pertinent functionality of Maple in Java, then the course would be finished by the time you got a chance to use it.
I should say, use Java, C#, and ASM Intel syntax, and every hour decide by roll of dice what they would use. Programming languages are tools that should be used to solve problems, pretending they would be worse than Maple is very strange. Of course nothing prevents the teacher, that would be responsible for this course, to create series of programs that would complement his teaching, and permit students to use them for theirs experiments.
Quote:
I can envisage no circumstances where one would be better off learning by himself, graph theory included. And you are in a world of your own if you believe your thought experiments are anywhere near rigorous enough to compete with a graph-theoretically-backed-up algorithm in an application of any importance. I shudder at the thought of anybody responsible for a rail network thinking like this.
I talked about test driven design, not a thought experiment.
And as for rail networks, they are often designed on preferred lines. If you'd design such rail network, you can't just use a computer, you must also use knowledge of a map and a ground composition. Actually people that never had an university course on graph theory are perfectly capable to do this job.
Quote:
Quote:
Mathematical Methods and Fluid Mechanics ... I hope they would show you unsolvable differential equations.
Why? I could list a zillion of them and more. They're about an uninteresting as analytic mathematics gets.
I recall a person that claimed. "There is no unsolvable differential equation, because they solved all differential equations they showed, on the university."

[Edited by - Raghar on March 19, 2007 11:32:29 AM]

Share this post


Link to post
Share on other sites
Quote:
Original post by Xest
I'll admit that alongside games programming, I do have a fairly heavy interest in learning more about cryptography, an area which right now, my experience is very weak! I'm merely guessing but I'd imagine that cryptography requires rather different branches of maths to games programming?


Cryptography is very math heavy, it also requires to have fairly high knowledge in cryptoanalysis. Only 1/10 of it might be hypothetically useful in game development, thus it's pretty much untransferable. (Mutilitation of some mathematical problem to crate an algorithm. S-boxes, and stuff like this. It's one of few fields where math heavy education is actually useful.)

BTW There is at least one free to download book available on the Internet, and a nice HTML site with a quite readable text.

Share this post


Link to post
Share on other sites
Cryptology is applied Number Theory, the one branch of maths people thought had no applicability in the real world. It's hard though, precursors being abstract algebra (rings/factorisation) and field theory I think. I skived all my field theory lectures though, so I will never know for sure.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this