PDA

View Full Version : Schools For Programming


Nick
2006.02.23, 11:49 AM
What are some schools that you guys are attending for programming? I'm currently getting some gen-ed credits at a community college and am trying to find a good college to transfer to for a degree. I'm not necessarily looking for a game programming degree (though if a good one exists, I'd consider it), but I want some interesting classes like an algorithms class (after seeing TomorrowPlusX's robot and reading about Skorche's) and things like that. Any recommendations? Also, can anyone mention any degrees that use programming? I know there's Computer Science and, to some extent, Computer Information Systems. Any others? At this point I'm not really going to limit any locations except that I want one in the US.

akb825
2006.02.23, 12:04 PM
I am going to UCSD right now, which has a good computer science degree program. I'm in the middle of my second year, and so far most of what I've learned I have done so on my own. :shrug: If you want to take some interesting algorithm classes (which I unfortunately haven't gotten to yet), then you will likely have to go to a 4 year school rather than a technical college.

Nick
2006.02.23, 12:13 PM
If you want to take some interesting algorithm classes (which I unfortunately haven't gotten to yet), then you will likely have to go to a 4 year school rather than a technical college.
I definitely planned on a 4 year school. Technical colleges usually are expensive and have low credit transfer rates (from what I've found).

What is Computer Science (as a degree)? Is it programming or hardware stuff or working in Assembly? I'm not 100% sure what that degree is actually teaching or used for.

Thanks.

DoG
2006.02.23, 12:33 PM
If you want to learn how to program practically, go for "software engineering". That should teach the necessary theory and practice to get coding. Computer science is somewhat less practically oriented, and may include a bunch of, for a lack of better words, academic bullshit.

Though, the only real way of learning how to program is by doing it.

I started out programming by attending a 2 week workshop during summer break, and have been pretty much self-taught ever since. I can't say the information theory classes I had in college were useless, but based on what I learnt in college alone, I wouldn't be where I am today. You pick up a lot of theory just by programming, if you are serious about it, but a few formal classes are good to let things fall into place.

Oh, and before I forget, learn MATH. A lot of the math classes you have to go through in college are full of crap, but usually it's good to have at least heard of this and that. Without solid a mathematical foundation, a lot of information theory won't make sense, either.

igame3d
2006.02.23, 12:33 PM
I'm heading to Westwood College in Denver (http://www.westwood.edu/degrees/technology/), had a visit there last week and it gave me a good feeling, compared to some other schools that turned me off. I'm going for Game Art & Design, they also have a Game Software Development degree. One of the bonuses is that after you finish your degree you can go back there for additional training, like I will learn 3D Studio Max there, but since AutoDesk owns Alias now, I can go back and learn Maya when Max is dead dead dead, for FREE!

If you are going for straight computer programming, then I think any school will do, as most of what you really need to "learn" in life is vastly what you personally do with the tiny bits of knowledge school gives you.

zKing
2006.02.23, 01:40 PM
It can also be tough to determine what a program really is just by the title. I would agree that if a school offers "Software Engineering", that would be your best choice.
Take a close look at the course requirements/offerings.

I graduated in 1994 with a degree in "Computer Science" from a smaller state university (Western Washington U). At the time (still?) this was the only computer type degree offered there. 80 miles south at the University of Washington they offered both "Computer Engineering" and "Computer Science", but if you looked the courses required by each of the programs my "Computer Science" degree was MUCH closer to UW's "Computer Engineering" degree. UW's "Computer Science" was much more theory based ... my degree was much more hands on.

To give you an idea of what classes I did for my degree, here's the stuff I remember:
- "Introduction" course (very basic programming, anyone who's done much programming has a very easy time with it.)
- Data structures x2 (building linked lists, trees, etc.)
- Assembly (we did our homework on a VMS system!)
- Graphics (OpenGL homework)
- Databases (SQL and more... this was WAY more interesting than it sounded)
- Computer Architecture (very hands on, 68000 programming on raw hardware)
- Operating Systems (we built lots of OS subsystems like a memory manager, etc.)
- Algorithms (one of the few 'more theory than programming' classes, not a fav of most people but I didn't mind it so much)
- Artificial Intelligence (neural networks, expert systems... much more practical stuff than it sounds like.)
- Various elective computer language courses
- Discrete Math (I was a double major w/Math so it's fuzzy to me which were really required for my CS degree.)

Also, to belabor a very old saw:
You will only get out of it what you put into it.

Definately get a degree, but don't sweat it the school's name too much. But definately take every opportunity to learn while there ... in class and on your own.

I think you can get a great education at almost any college if you put in the effort. MIT doesn't have any education "secrets" other than the fact that their student body will be some very bright folks and they will have some very nice equipment to work on. In fact, I'm told that the "publish or perish" nature of big name schools can actually be a big obsticle to student education. I've seen WAY too many people from big name schools (and small ones) who didn't get much out of their CS/CE degree. Remember that after your first job, almost no one is gonna care which school you went to... they are gonna want to see your skills/productivity. The software engineering biz is not like law or medicine.

I am very satisfied with the education I recieved and frankly glad I didn't transfer to a bigger (i.e. more expensive) school.

EDIT: Oh, and I'd recommend getting a more general "Software Engineering" degree than doing the "Game Programming" thing. Having the general degree doesn't prevent you from getting a Game related job (most in the industry don't have Game related degrees), but have the Game degree could make it tougher to get a programming job outside the game biz should you want/need to early on in your career. I'm sure some other people will disagree with me on this point.

EDIT 2: On Self taught programmers: I've met several really dang good self taught programmers... and a whole lotta real crappy ones. And yes, a college will NOT teach you anything that you couldn't learn on your own with a library card and a home computer. But it will pretty much _force_ you to learn a broad base of computer knowledge and may open your brain to a few things you wounldn't realize would be good to know. It's one thing to read a book and get a sketchy understanding of how a multi-process OS works... its an entirely different thing, a deeper knowledge, to be forced to BUILD a small one under deadline with a small team. And it can be a real bear to get that first programming job without a degree. Most people (myself included) don't have the discpline it takes to be a really good self taught programmer, but my hat is off to those that do.

seven
2006.02.23, 01:56 PM
From my time in college working toward a BS in CS, I would get a degree in something other than computer science or programming. It will be more valuable in the long run. Teach yourself programming, but use University to study something in the humanities, or get an engineering degree.

By the time I'm out of the Navy, I'm going to have a degree in Systems Engineering and English or Anthropolgy, not sure which humanities field yet. But as others have said, CS is academic crap.

zKing
2006.02.23, 03:02 PM
From my time in college working toward a BS in CS, I would get a degree in something other than computer science or programming. It will be more valuable in the long run. Teach yourself programming, but use University to study something in the humanities, or get an engineering degree.

By the time I'm out of the Navy, I'm going to have a degree in Systems Engineering and English or Anthropolgy, not sure which humanities field yet. But as others have said, CS is academic crap.

I disagree on both points.

1) As someone who does a lot of hiring, If you want to work as a software engineer and you hand me a resume with a humanities degree, the very first thing to pop in my head is "If this guy really wanted to be a software engineer, why didn't he get that degree... was he not interested? did he try and couldn't hack it?" The second thing that I'm going to worry about is all the little holes in that person's knowledge (this comes from my experience with these types of people.) This is especially true when I worked in the game biz and did hiring, we got STACKS of resumes... its very easy to skip over one that I don't like.

2) As for the CS degree being 'academic crap', I might have somewhat agreed with that shortly after finishing my degree, but I can't really point out any significant portion of my CS education that didn't come in handy "on the job" at one time or another. It's far more practical than most people give credit.

igame3d
2006.02.23, 03:44 PM
(most in the industry don't have Game related degrees)
Because these degrees have existed for less than five years.
Very hard for you or anyone to generalize what degree "most in the industry" have or don't have, there must be tens of thousands of people in the games industry worldwide.
For instance Danlab doesn't have a computer science or engineering degree.
I'm sure he could easily get a job with any game company just by showing his work.

I remember reading an article a few years ago where some big names in the industry had degree's in Literature another in History, and other things you'd never suspect. Basically what they said in the end of the article was it doesn't really matter what degree you have, but that you have one, showing you are willing and able to learn, and that you can demonstrate that you are capable of doing the work.

akb825
2006.02.23, 05:09 PM
If you want to learn how to program practically, go for "software engineering". That should teach the necessary theory and practice to get coding. Computer science is somewhat less practically oriented, and may include a bunch of, for a lack of better words, academic bullshit.
That only works if your school offers a software engineering degree. All my school has is Computer Science and Computer Engineering (what I'm in). Of course, the only difference between the two is one or two more EE classes for me, and one or two more random science classes for CS. In our classes, we learn the theory, but we also learn how to do it with actual coding. First in Java, but then we move to C/C++. (I'm quite pleased to see that a lot of uppder division classes merely gives you the choice of using Java, rather than only using Java, like I originally thought)

To follow zKing's example, here are the programming-related classes I've taken so far:
introduction to programming (done in Java; I opted to take the 2 quarter version rather than the accelerated 1 quarter version since I had no prior experience)
data structures (stacks, linked lists, hash tables, and trees)
discrete mathematics
assembly/computer architecture (with the SPARC architecture)

In the future, some of the classes I will need to take will be:
Advanced data structures
compilers
operating systems

I will also opt to take the optional classes for graphics (I think the first one is using a raster API such as OpenGL, but then after that it deals with ray-tracing etc.), and I'll probably take the game programming class senior year. Basically, the instructions are form teams, you have 10 weeks to create a multiplayer 3D computer game, go.

AnotherJake
2006.02.23, 05:20 PM
Just my two cents:

College sucks. Don't waste it on anything but engineering or technical specialty. Computer science counts as engineering. Game programming/design/whatever would be a technical specialty and is only worthwhile if you fully intend on working in that field. Same for a teaching degree, which is not bad, but you're stuck being a teacher. Humanities/liberal arts is a complete and utter waste of time and money. I don't know a single person who did something with a liberal arts degree. They are all making (relatively) low pay doing crappy jobs. Business degrees aren't worth much either from what I have seen, unless you are really good with it or go into accounting. In stark contrast, all the degreed engineers I know are making big bucks. The people I know without degrees are all making more than the liberal arts majors - I kid you not.

And just to add some perspective on the whole life thing, here are some successful people I know personally without degrees: A district manager for a national retail chain (and she's not even thirty yet, go figure...), a retired construction field engineer, a rockstar, and one guy is the head of an IT department of a major bank. And some successful people I don't know personally, but you may have heard of without degrees: John Carmack, Bill Gates, and Steve Jobs.

DoG
2006.02.23, 05:52 PM
Computer science counts as engineering.

Don't mention that with any engineers around, they might be inclined to mutilate you ;)

Getting a degree is indeed not as important as it might seem. The important thing is that you learn how to do your thing, and do it well. Just getting some random degree doesn't help you, nor your employer. I'm inclined to say that if you are smart, it won't matter what you end up doing, if you put your back into it, you'll be good at it. The less smarts, the more back you need.

Oh, and one more thing. The computer game industry sucks. A friend of mine got a software engineering MSc, and he started working for a big game developer. While he doesn't have any real problem, neither the working hours, nor the wages are great. He could've probably got a much easier and higher wage job doing business style stuff. Business & industrial jobs are where the money is. No rules without exception, of course.

zKing
2006.02.23, 05:57 PM
Because these degrees have existed for less than five years.
Very hard for you or anyone to generalize what degree "most in the industry" have or don't have, there must be tens of thousands of people in the games industry worldwide.


Ok, I'll put it another way: in MY experience when I did work at a big games shop and all other evidence I've heard/read says that very few who work in the biz have a games related degree. I've also had a lot of experience OUTSIDE the game biz and should you later want or need to work outside of games... that game degree isn't going to be worth as much.


For instance Danlab doesn't have a computer science or engineering degree.
I'm sure he could easily get a job with any game company just by showing his work.


Yep, if you have a stunning and relevant portfolio, its easy to get into any job reguardless of your education. But a solid education makes it even easier.


I remember reading an article a few years ago where some big names in the industry had degree's in Literature another in History, and other things you'd never suspect. Basically what they said in the end of the article was it doesn't really matter what degree you have, but that you have one, showing you are willing and able to learn, and that you can demonstrate that you are capable of doing the work.

Yep, lots of programmers in the biz don't have a programming degree. That doesn't mean that you aren't making it harder on yourself to get in (and likely taking a hit in pay) by going that route. Frankly if the hiring manager has two programmer candidates that seem even, one with the tech degree, one with the history degree... who do you think gets the job? And when you do get hired, I can assure you that the HR bean counters will use your lack of a relevant degree to keep your pay lower.

I'm not saying "if you dont' have a CS/CE/SE degree you'll never make it." I AM saying you will increase your chances and frankly your paycheck by having one.

kelvin
2006.02.23, 06:46 PM
I'm a 3rd year Software Engineering undergrad at San Jose State University.
We have Computer Science, Computer Engineering, and Software Engineering majors here. The main reason for the three separate majors is because of the way the departments evolved. Software Engineering is new (two years running so far) and is a joint major offered by the Computer Engineering Department (usually CmpE) with the Computer Science Department (usually CS).

The breakdown:
CS
- lots of math.
- lacks practical application.
- good if you want to do DSP, Audio, AI, Physics, etc.
- good if you want to persue a PhD
CmpE
- lots of engineering support courses (physics, stats, tech, etc)
- lots of low level details
- excellent preparation for work in an engineering field
- weak on math (compared to CS)
- good if you want to build commercial software for a company.
- Masters more likely than PhD
SE
- high emphasis on process
- excellent for Software Engineering management track
- lacks low level details.
- supposed to be a good mix between CS and CmpE

zKing
2006.02.23, 08:13 PM
Oh, and one more thing. The computer game industry sucks. A friend of mine got a software engineering MSc, and he started working for a big game developer. While he doesn't have any real problem, neither the working hours, nor the wages are great. He could've probably got a much easier and higher wage job doing business style stuff. Business & industrial jobs are where the money is. No rules without exception, of course.

Yep, those are some of the reasons my day job is not games. The other really big one: except for VERY few people, you don't get to pick and choose which game you work on. Don't like sports games? Don't like that lifeless movie-license title? Hate the Teletubbies? Tough, its your life for the next 18 months x 70+ hours per week.

And 90% of the time writing games is like writing any other software... might as well be paid well and have a life while doing it. For me, indie is the only way to do games. AAA corporate game making sucks and will burn you out. Been there, done that.

Josh
2006.02.24, 09:21 AM
I'm a 3rd year Software Engineering undergrad at San Jose State University.
We have Computer Science, Computer Engineering, and Software Engineering majors here. The main reason for the three separate majors is because of the way the departments evolved. Software Engineering is new (two years running so far) and is a joint major offered by the Computer Engineering Department (usually CmpE) with the Computer Science Department (usually CS).

The breakdown:
CS
- lots of math.
- lacks practical application.
- good if you want to do DSP, Audio, AI, Physics, etc.
- good if you want to persue a PhD
CmpE
- lots of engineering support courses (physics, stats, tech, etc)
- lots of low level details
- excellent preparation for work in an engineering field
- weak on math (compared to CS)
- good if you want to build commercial software for a company.
- Masters more likely than PhD
SE
- high emphasis on process
- excellent for Software Engineering management track
- lacks low level details.
- supposed to be a good mix between CS and CmpECS and CE can vary largely between universities. Make sure you check out both the CS and CE programs at whichever university you are planning to go to.

Fenris
2006.02.24, 09:48 AM
I always do this when asked this question, so please excuse the plug: Consider taking a year here in Stockholm. KTH (where I am at the moment) have really kickass educations, and the Swedish government pays the bill and gives you some handicash. You're most welcome. ;)

ferum
2006.02.24, 11:59 AM
sorry, I don't speak swedish

akb825
2006.02.24, 12:42 PM
I think most people in Sweden can speak Swedish, German, and English, though. :p (correct me if I'm wrong, though)

igame3d
2006.02.24, 12:47 PM
I always do this when asked this question, so please excuse the plug: Consider taking a year here in Stockholm. KTH (where I am at the moment) have really kickass educations, and the Swedish government pays the bill and gives you some handicash. You're most welcome. ;)

There is a 99.9% probability that the Swedish government only pays for the education of its citizens, not any old migrant scholar.
Works the same way in just about any civilized country, except America where education = $60 to $80K in debt or deployment to Iraq first which means college might literally cost you an arm and a leg or your life.

sacha
2006.02.24, 01:34 PM
Well, then hopp over to Switzerland and apply for the ETH. (http://www.ethz.ch) They have a pretty good CS department and you can take courses in other departments as well (I took some Computer Vision classes with the electrotechnicians.) plus the university is dirt cheap. Living isn't that cheap here though. We're talking less that 2000$ per year for the university. There are also student exchange programs like Erasmus or similar. You should get very easily by with English (some courses are actually held in English) and you get to learn a different country (and a different way of living) as well. So if you can finance it somehow, I'd definitely encourage you to spend a year or so abroad.

And if you'd chose Switzerland you'd be in the very center of Europe, within easy reach of several countries (France, Germany, Italy, and Austria are all only a few hours by train from Zurich (where the ETH is)). The only downside is, that you might run into me ;)

PowerMacX
2006.02.24, 10:15 PM
Humanities/liberal arts is a complete and utter waste of time and money.

http://dilbert.com/comics/dilbert/archive/dilbert-20060201.html

:p

(Not to be taken seriously ;) )

AnotherJake
2006.02.24, 10:18 PM
:lol: Dilbert rocks!

Fenris
2006.02.25, 09:11 AM
There is a 99.9% probability that the Swedish government only pays for the education of its citizens, not any old migrant scholar.
On the 0.01%, then. There was a discussion in January on whether or not the government should stop paying for the migrant scholars, but it was struck down. Also, all the exchange student courses are held in English.

zKing
2006.02.25, 05:55 PM
I don't know much about the topic, but I found this:

"Foreign students may also receive study assistance if they have been Swedish residents for two years or more and have been granted a permanent residence permit or an EU/EEA permit."

http://www.sweden.se/templates/cs/BasicFactsheet____4153.aspx

igame3d
2006.02.26, 12:41 AM
This might explain why enrollement in American schools has declined by 1/3 each year, every year since 2001.

kelvin
2006.02.27, 06:21 AM
I was interrupted while typing up my previous post...
Anyhow, somewhere along the line I forgot what I was talking about and my post ended up as above. Moreover, I actually forgot all the points I was trying to bring up. :blink:

Some how one of the points I wanted to make made its way back into my consciousness. So I'm posting again. I wanted to list the schools that have specific programs for creating games. One of which is Digipen (http://www.digipen.edu/main/Main_Page). I originally thought of others, but as of right now I still don't remember what they were.:cry:

akb825
2006.02.27, 12:26 PM
Monitor radiation finally getting to your brain? ;)

WhatMeWorry
2006.02.28, 04:24 PM
One more thing. Make sure you also find out what languages are taught in any classes. I'm old enough to remember Fortran, COBOL, and PL/I. I'd never seen C until a fellow student at a nearby terminal (this was on a VAX btw) started typing alot of squiggley
characters. Aslo PASCAL was very popular. Even did a little LISP.

I got my degree but early in my career, I sat next to a Dance Major! who was programmig. I was really pissed off. Things have gotten alittle tighter beause of
off shoring so you probably wont get to experience that.

Nowdays, I'd stick to C and JAVA followed by C++ and maybe VIsualBasic just as a backup
C will get you started with procedural based languages and Java and C++ for object
oriented. Oh, and try to squeeze in Databases. Anything with SQL and Oracle will look
great on your resume.

Don't need a degree, but that was truer in history when computers were rambing up big time in society.

Also a degree will teach you alot of things that you might miss otherwise. Also, one very important point. Take some classes in Humanities, Arts, or Business. That is
where most of the cute girls are taking class. Don't get me wrong, there are some
beautiful girls in CS, but you've got alot of competition.

igame3d
2006.02.28, 05:09 PM
I heard great things about Southern Methodist University (http://guildhall.smu.edu/index.htm), seems worth checking out if you don't mind moving to Texas.

Nick
2006.02.28, 11:41 PM
Take some classes in Humanities, Arts, or Business. That is
where most of the cute girls are taking class. I got a girlfriend so I'm not in college for that. ;)

Make sure you also find out what languages are taught in any classes. I've decided on staying around home and going to Grand Valley State University (http://www.gvsu.edu) for their CS degree. I'll be using C, Java, and LISP.

Thanks for the advice and suggestions (even from our foreign friends :)). It helped to finally look through the course descriptions.