Jump to content
  • Advertisement
Sign in to follow this  
Taran Shiro

What exactly is a Computer Science degree?

This topic is 3928 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

In less than six months I'll be applying for college in search for a good school. My plan is to graduate as a programmer and after landing a job in a game company, eventually work my way up to becoming a Game Designer. All that aside, I have a few questions on a degree I've seen mentioned on this site and how it's a good course to take when pursuing the game industry... -what does Computer Science focus on and teach you? Does it broaden into many different computer related subjects or something specific? -As a future programmer, how beneficial is it to me? -And, what kind of jobs could I land with it as my major? Thanks!

Share this post


Link to post
Share on other sites
Advertisement
Quote:
As a future programmer, how beneficial is it to me?


It's far easier to switch to other pursuits should you have a university degree than if you had focused on a purely game development oriented post-secondary.

Share this post


Link to post
Share on other sites
Quote:
Original post by Gallivan
Quote:
As a future programmer, how beneficial is it to me?


It's far easier to switch to other pursuits should you have a university degree than if you had focused on a purely game development oriented post-secondary.


Ah ok.

I've seen the requirements companies have for programmers and one of them is a degree in Computer Science.

Share this post


Link to post
Share on other sites
Computer Science is the degree that most programmers get. There are other related degrees, and some programmers have degrees in unrelated subjects.

Just to be clear... game programming and game design are completely different fields, but Computer Science is still a good degree for a game designer to have.

Share this post


Link to post
Share on other sites
to add a question, what are the exact topics that a CS degree cover?

i know that universities differ, but there are some common topics, right?

Computer Architecture, compiler theory, operating system theory, data structures and algorithms, are there any other topics that are covered that i'm unaware of?

the reason i'm asking is that i'm starting university next fall and in the mean time i'd like to familiarize mysefl with the topics, both to improve myself now rather than start learning in a year, and so i'll go in with a basic understanding of the topics


thanks

Share this post


Link to post
Share on other sites
Quote:
Original post by godsenddeath
to add a question, what are the exact topics that a CS degree cover?

i know that universities differ, but there are some common topics, right?


Maths, a lot of maths. And some physics.

Don't know how it looks in the US, but in EU you'll get some unrelated things like basic economy classes.

CS Degree takes you through majority of main Computer Science tasks, from simple devices, through OS, to artificial inteligence and graphics. At some point students usually choose their more narrow specialisation, depends on particular university though.

Share this post


Link to post
Share on other sites
Ok, I can't in good conscience keep quiet on this post. As a professional game programmer, and a computer scientist, please allow me to shine some light on this topic.

First, dont "apply for colleges in search of a good school." Find a good school, then put in an application. Generally you only get into a small handful of schools if any (this is based on your standardized test scores and GPA), so pick the ones you think provide you the best options based on course-work, and put in an application at all of them. Then you've got some choices.

Second, it's completely idiotic to spend 4+ years in school so you can graduate with a B.Sc. in Computer Science, only so you'll know how to program enough to get a job at a game company, only so you can turn around and be a game designer. It was noted earlier, but I'll re-iterate...

Game Programmers are NOT Game Designers. In the industry, these are entirely separate fields. To be a game programmer you generally need a background in Computer Science, though some companies will hire people who've graduated from a game programming trade school such as DigiPen.

However, as a programmer, your job is to implement the game systems, tools, and engines which are used to bring the design and artwork of the game to life. You have little or no say in what the artwork or style of the game is, and you have even less say in the story, game balance, game mechanics, or overall goals of the game. These are things reserved for artists and designers.

As you can see from that alone, spending 4 years training to be a programmer when your real goal is design is a waste of time and money, because as a programmer you'll be doing very little design.

Additionally, the average salary for game programmers of every level is around $80,000 a year, with most game programmers making somewhere between $55,000 and $75,000 a year. In contrast, the average income of game designers of every level is $61,538, with most making between $35,000 and $55,000.

So...in spite of the fact that it's completely idiotic to spend 4 years in college to learn to be a programmer, when what you really want to do is design, programmers are in higher demand than designers and make more money anyways.

With the above aside, let me answer your questions more specifically. Computer Science is the study and practice of solving problems with computers. Whether the problem is eCommerce systems, NASA Flight Management Software, DNA Decryption Systems, Vehicle Navigation Systems, or some other problem. In the end, the ability to conjure up a solution to a complicated problem requiring computer software, generally falls in the domain of Computer Science.

This is why most game companies prefer Computer Scientists for their Programmers. Because like it or not, game development is just one of millions of problem areas which are well suited for people with a background in problem solving using computers. Now, to accomplish the above discipline and problem solving skills, most computer science majors spend 4+ years of school learning some of the following:

Programming Language(s)
Data Structures
Operating Systems
Language and Translators
Analysis of Algorithms
Artificial Intelligence
Databases and/or File Systems
Networking and Network Programming
Graphics Programming and Theory
Linear Algebra, Trig, Geometry
Calculus, Differential Equations
Numerical Methods of Computation
Discrete Mathematics
Physics
Computer Architecture and Design
Statistics
Biology
... etc.

As you can see from the above list, programming is, in general, a very small part of Computer Science. The ability to program a computer to do what you tell it to is of paramount importance to someone who's job is to solve problems with computers, however, little of your time is actually spent learning to program, and much more is/should be spent on learning how to use the tool of programming effectively, as it relates to computers and other subject areas.

If you plan to be a programmer some day, a computer science degree is your best bet at guaranteeing you've got the skills necessary to succeed as a programmer. However, it's not the only path, and if you just want to know enough about programming to be able to hold an intelligent conversation, there are other easier, less committal, and far cheaper routes you can take.

If your eventual goals it to become a game designer, look at the company requirements to become a designer, not a programmer. If your eventual goal is to become a game programmer, well then, evaluate the requirements to become a programmer. But do not make the mistake of pursuing a degree in computer science because you feel it'll make you more qualified as a game designer. It wont. You will still need to attain the same qualifications as every other game designer, if you eventually want to make the transition into design. Then you're left with a Computer Science background you may or may not ever use again.

Anyways, hope this is informative. Good luck!



Share this post


Link to post
Share on other sites
wow. I can't thank you enough for taking the time to set everything straight for me :)

Quote:
Game Programmers are NOT Game Designers. In the industry, these are entirely separate fields. As you can see from that alone, spending 4 years training to be a programmer when your real goal is design is a waste of time and money, because as a programmer you'll be doing very little design.


Yes, I'm well aware. And design is really what I want to pursue above programming. However, through my reading I've been told that good game designers know a good deal about programming to communicate effectively to the programmers through the game design document. With an interest in both programming and design, I guess I was given the impression that it wouldn't be too much of a leap from one to the other. Thanks for giving me a dose of reality check and saving years of my life :)

Quote:
With the above aside, let me answer your questions more specifically. Computer Science is the study and practice of solving problems with computers. Whether the problem is eCommerce systems, NASA Flight Management Software, DNA Decryption Systems, Vehicle Navigation Systems, or some other problem. In the end, the ability to conjure up a solution to a complicated problem requiring computer software, generally falls in the domain of Computer Science.


Couldn't have asked for a more informative description. Much appreciated!

Share this post


Link to post
Share on other sites
The kind of "intelligent conversation" that a designer typically has with a programmer isn't as a member of a programming team, but is instead often something like "Here is what we can implement, and I am putting this idea forward because my background in computer science tells me that this is possible", or an understanding when the programming team says something along the lines of "We can't do that, and here's why". An educated designer won't just stare blankly at the programmer while this conversation is taking place. An educated designer with a background in computer science likely won't even put forward the ideas in the first place that are ridiculous and unimplementable, because the educated designer understands the restrictions and capacity of the medium that the programmers have to work with, thus saving countless hours of reshaping ideas.

Just like how an educated designer will be able to have an understanding of what is involved in creating the artwork for a game, so that reasonable goals and expectations can be made.

A game 'designer' doesn't have to know how to create an adaptive neural network or how to set up the low-level server code, because the designer won't be doing it.

Now. As a 'future programmer', a computer science degree is very valuable. Computer science degrees focus on technique and problem solving skills, and programming is the medium through which these problems are solved, but does not emphasize the programming or individual languages. You can think of skill in programming like a sword to a soldier. A well honed blade [well honed programming skill] is valuable, but the effectiveness of the blade is decided by the hand that holds it, and the soldiers skill. The study of computer science teaches programmers what a life of training teaches a soldier. The soldier learns that sword fighting requires finesse, a delicate touch, grace and subtlety over power, and that is what makes him a better fighter than a child hacking away at a bush with the same sword. Similarly, such is the difference between somebody who can churn out code, and somebody who has studied computer science [whether through a school, or independently. Though ask any computer scientist, the moment they stop their studies is the moment they fall by the wayside.]

By the way, well said JWalsh.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!