1. Not finding help here? Sign up for a free 30min tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Unsure of what to major in

  1. Oct 30, 2011 #1
    Hello physicsforums,
    I am a freshman in college and i am actually kind of confused about what i should be majoring in. I am currently in the CS department at USC and i really like it, but i feel like i might be taking the wrong path to where i want to go. I want to study graphics, securities, or combinatorics (which seems to be closely tied with securities) for graduate studies, but when i look at the progress that has been made in these fields, it seems to be driven my mathematicians and not necessarily computer scientists (i might be wrong in this assumption). I am wondering whether or not i should switch my major to to mathematics, go for a hybrid computational and applied mathematics degree, or stay in the CS department. its not too late to switch my major now since the math degree and cs degree sort of start out the same (they both require foreign language, same gen eds, same initial math classes, and same science class options). Thanx in advance and i hope you guys can help me out a bit.
     
  2. jcsd
  3. Oct 30, 2011 #2

    chiro

    User Avatar
    Science Advisor

    Hey ironman1478 and welcome to the forums.

    My background was as a programmer and I also did video game programming just so you know where I am coming from. Also at the moment I am doing a double major in mathematics and should if all things go as planned graduate next year.

    I can't talk about securities or combinatorics but I can talk about graphics.

    In terms of graphics, yes it is highly mathematical. There are different areas of computer graphics depending on the paradigm. In terms of current hardware rendering methods it is slowly adopting parametric objects like NURBS but it is still conventionally triangle based. Let me explain:

    The current way things are rendered nowadays are through triangles. Basically the reason is that triangles are the simplest object and the minimum to define a flat object (plane). If you do it right, you can do a lot of stuff in parallel. With the triangle model you have two pipelines: vertex pipeline and the fragment pipeline. These are very well established methods and making use of them only requires a pretty simple level of university mathematics.

    Then there are lighting paradigms like radiosity and ray-tracing. These kind of methods are used when you really need that extra level of detail, and where you do not need real-time performance like in say an animated movie, or some cut-scene intro to a video game.

    Then you have the whole area of geometry in computer graphics. There is tonnes of work being done in this area. As I mentioned before the staple of geometry in most graphics applications is the triangle, but the thing is, there is a need for parametric objects (curvy surfaces like NURBS) and objects that "create" cool looking objects like sub-division surfaces.

    Now all these parametric things are not only useful in creating geometry, but they are also used for things like camera tracking.

    Ok so now you asked for advice about CS and math. My suggestion to you is to do both. For CS do your standard courses plus a graphics course plus any project that has a good measure of complexity. For the math portion do your standard sequence (including linear algebra, multivariable calculus) and do a course on numerical calculus, a good course on extended euclidean geometry (or you can learn this yourself). On top of that do some demo work on creating 3D demos and writing custom code to do things like a simple ray-trace. If you want to do graphics, you need to be able to quickly get something up and running: it might take you a little while to get something up and running that is fast and flexible, but it will pay off.

    Alternatively if you find some good platforms out there that suit your needs (and there are a lot of good ones available), then by all means use them.

    In terms of graphics one book I can recommend is Real Time Rendering. It is a little old now but it gives you an idea of what things you need to know. Also books like the Graphics Gems series are good too.
     
  4. Oct 31, 2011 #3
    wow, that was really helpful.
    i think i will stick with the CS track and get a minor in mathematics with the classes that would help in graphics/securities. i would like to double major, but its really not an option since USC only offers a BS in CS and not a BA, which means there is very little room for anything but a minor in another field without staying another year (which i dont want to do due to the most obvious reason, money). i am not too interested in things like abstract algebra, so i imagine if i went for an all out math degree with either a BA or BS, it wouldnt be too helpful since those degrees require things like abstract algebra and analysis. and like you said i could always teach myself extended euclidean geometry

    so then i have one last question. if i go for a minor in mathematics i have to take at least 1 class from a selection of 6 (abstract algebra, vector analysis with intro to differential geometry, topology, analysis, or an abstract linear algebra class). i want to pick either vector analysis or topology and really i can take both, but if one or the other wont help, i wont take that one. i am leaning towards differential geometry, but i dont really know. so which should i pick?

    also, you have helped a ton, so thanks!
     
  5. Oct 31, 2011 #4

    chiro

    User Avatar
    Science Advisor

    In terms of the applied aspect, the vector analysis would be the better choice.

    However the thing with math is that even the pure stuff ends up having applications somewhere down the line, so even if something is classed as pure math, you can't automatically say that it has no applications, just so you know.

    Also if you want to take something even if it has no immediate application to what you want to do but are interested none the less, by all means take it: university is not purely about vocational on the job training: you can use it to explore an area even if it is only briefly. I would recommend doing this for harder subjects like math subjects, but for easier ones you could probably pull out a book and do it in your own time (I know harder and easier are not good terms, but hopefully you know what I am saying).

    If you want to get into graphics you will have to do a fair bit of work on your own learning stuff that isn't taught in university for the most part. If you end up understanding the linear algebra, vector calculus and geometry and other harder math classes you should be ok learning the other stuff by yourself.
     
  6. Oct 31, 2011 #5
    i see what your saying and i understand. its just that i have only a few class slots, but i know i can always learn something on my own (or at least do my best to learn). i already have the calc and linear algebra classes out of the way (which werent as hard as i thought they would be), so i just have to focus on the higher maths now. i am just trying to split the math classes between two subjects that i find interesting, number theory/combinatorics (which i am very interested in) and geometry based classes like topology and intro to diff. geometry, which would help me in my other interest of graphics. i know a class like abstract algebra might be useful down the road (it might have been brash to say it had no use), but like i said, it doesnt interest that much anyway while topology and combinatorics really interest me. i am interested in analysis to some extent, but i have a greater interest in some cs classes that are offered that i might not necessarily go into, like a class about compiler design and programming language translation, which doesnt seem easy at all, but i feel like analysis might be slightly easier to tackle by myself.

    so thanks for your help and i will definitely heed your advice about using the opportunity to take classes that truly interest me and maybe using the classes for stuff that might be difficult to learn on my own, so probably after i get a little farther on with my degree my class choices will change a bit once i learn more about what they entail.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook