Classes to take in beyond CS?
I'm currently in college as a computer science major. I've read through many of the articles about getting into the industry to find out what other classes beyond CS will be useful. As a result I'm considering minors in math and physics, but I would still have quite a few electives to fill. I have a few questions for those in the know:
What kind of classes do you suggest, beyond computer science, math, or physics, would be useful as a game programmer or designer?
I've been studying Japanese language and culture for a few years now. Would an ability in Japanese language help in this industry?
Thanks for your time.
I'm a German university student. Since it works a little different over here, I hope I can still help you out by listing the lectures which I'm taking, and why.
I switched from CS/Physics to CS/Psychology, and I'm VERY happy with it!
Here are my choices of classes and lectures:
Maths: Linear Algebra and Analysis (aka. Calculus). Those are mandatory in Germany, and they do help a lot when it comes to 3D topics, especially Linear Algebra and multidimensional calculus. Statistics and Combinatorics may help as well, especially when it comes to game mechanics..
Theoretical CS: Computational Geometry, Complexity Theory, Algorithms & Data Structures. If this stuff gives you the horny as it does to me, go for it, otherwise still try to cover at least one of those. Computational Geometry focuses on problems such as quickly finding the closest neighbor of each and every point in a huge set of points (2D and 3D), calculating vis polygons, i.e. which walls in a room or cave are visible and which ones aren't; or how a large collection of line segments or polygons looks when you shine a light at them. Amazing stuff. complexity Theory helps you to get a general understanding at how complex some problems are, and which ones you want to avoid in your software and which ones you can solve efficiently. Algorithms and Data Structures lectures generally present a lot of basic algorithms, ranging from Hoare's Quicksort, optimal search Trees to Dijkstra's Shortest Path and A* Pathfinding. (though we did A* in AI class).
Applied CS: Artificial Intelligence, great lecture, boring prof... but that's just my Uni here. I really hope that one "Game Theory" lecture will become available again before I graduate. Algorithms & Data Structures is a good topic to cover if you're not excaclty the ideal "learning by doing" type.
Graphics: OpenGL Image Manipulation, OpenGL Programming. Two classes I took, kind of helpful (had a good clue about OpenGL before, but I did a paper and a presentation on NURBS and I really learned something)
Programming: I didn't need a programming class, been coding OOP since I was a kid. But if you're not experienced, do take one or two such classes, Java and C or better C++ are your best bets. I'm considering to take either an OOP or, preferrably, Extreme Programming course in a semester or two. both are allegedly very good here. You should ask around on your College to see which classes are worth taking, and which just suck for whatever reasons.
Psychology: That's my minor (used to be physics, but as I said before, that often doesn't work out as planned). Psychology really helps, especially classes about Perception, Social Interaction, and Development (as in childhood/adolescence development - lots of really interesting facts about why and how we play and perceive games can be learned there). I also take Scientific Methods (as in: numerical statistics and questionnaire design, conducting empirical studies), Differential Psychology (comparative, and dealing with personality traits such as extraversion, conscience, neuroticism or intelligence), Psychologic Theories and Models (what ways do exist to describe certain types of people and activities?)
Animation: Physics Based Modelling & Animation (aka. Animation II here). My University offers this class, and it absolutely rocks. "Regular" Physics classes usually don't help you much (it tells you nothing about using these formulae in a computer environment, in fact, most of those things simply are overkill or inappropriate for games and stuff!). PBMA is a CS class! Remember, it's not about complete accuracy - it's about making the user believe it's an accurate representation of physics - and at the same time maintain a decent frame rate. And in fact, Hollywood has given the average Joe a pretty skewed impression of what's "realistic"! PBMA really helped. Prof taught us to use Ordinary Differential Equation Solvers to do the work for us (where in Physics class, you'd learn how to solve them by hand, but not in a computer program - bad if you have to solve thousands of them every frame).
HTH! :)
[Edited by - Thygrrr on October 26, 2004 10:18:11 AM]
I switched from CS/Physics to CS/Psychology, and I'm VERY happy with it!
Here are my choices of classes and lectures:
Maths: Linear Algebra and Analysis (aka. Calculus). Those are mandatory in Germany, and they do help a lot when it comes to 3D topics, especially Linear Algebra and multidimensional calculus. Statistics and Combinatorics may help as well, especially when it comes to game mechanics..
Theoretical CS: Computational Geometry, Complexity Theory, Algorithms & Data Structures. If this stuff gives you the horny as it does to me, go for it, otherwise still try to cover at least one of those. Computational Geometry focuses on problems such as quickly finding the closest neighbor of each and every point in a huge set of points (2D and 3D), calculating vis polygons, i.e. which walls in a room or cave are visible and which ones aren't; or how a large collection of line segments or polygons looks when you shine a light at them. Amazing stuff. complexity Theory helps you to get a general understanding at how complex some problems are, and which ones you want to avoid in your software and which ones you can solve efficiently. Algorithms and Data Structures lectures generally present a lot of basic algorithms, ranging from Hoare's Quicksort, optimal search Trees to Dijkstra's Shortest Path and A* Pathfinding. (though we did A* in AI class).
Applied CS: Artificial Intelligence, great lecture, boring prof... but that's just my Uni here. I really hope that one "Game Theory" lecture will become available again before I graduate. Algorithms & Data Structures is a good topic to cover if you're not excaclty the ideal "learning by doing" type.
Graphics: OpenGL Image Manipulation, OpenGL Programming. Two classes I took, kind of helpful (had a good clue about OpenGL before, but I did a paper and a presentation on NURBS and I really learned something)
Programming: I didn't need a programming class, been coding OOP since I was a kid. But if you're not experienced, do take one or two such classes, Java and C or better C++ are your best bets. I'm considering to take either an OOP or, preferrably, Extreme Programming course in a semester or two. both are allegedly very good here. You should ask around on your College to see which classes are worth taking, and which just suck for whatever reasons.
Psychology: That's my minor (used to be physics, but as I said before, that often doesn't work out as planned). Psychology really helps, especially classes about Perception, Social Interaction, and Development (as in childhood/adolescence development - lots of really interesting facts about why and how we play and perceive games can be learned there). I also take Scientific Methods (as in: numerical statistics and questionnaire design, conducting empirical studies), Differential Psychology (comparative, and dealing with personality traits such as extraversion, conscience, neuroticism or intelligence), Psychologic Theories and Models (what ways do exist to describe certain types of people and activities?)
Animation: Physics Based Modelling & Animation (aka. Animation II here). My University offers this class, and it absolutely rocks. "Regular" Physics classes usually don't help you much (it tells you nothing about using these formulae in a computer environment, in fact, most of those things simply are overkill or inappropriate for games and stuff!). PBMA is a CS class! Remember, it's not about complete accuracy - it's about making the user believe it's an accurate representation of physics - and at the same time maintain a decent frame rate. And in fact, Hollywood has given the average Joe a pretty skewed impression of what's "realistic"! PBMA really helped. Prof taught us to use Ordinary Differential Equation Solvers to do the work for us (where in Physics class, you'd learn how to solve them by hand, but not in a computer program - bad if you have to solve thousands of them every frame).
HTH! :)
[Edited by - Thygrrr on October 26, 2004 10:18:11 AM]
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement