Schools For Programming

Sage
Posts: 1,066
Joined: 2004.07
Post: #1
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.
Quote this message in a reply
Moderator
Posts: 1,140
Joined: 2005.07
Post: #2
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.
Quote this message in a reply
Sage
Posts: 1,066
Joined: 2004.07
Post: #3
akb825 Wrote: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.
Quote this message in a reply
DoG
Moderator
Posts: 869
Joined: 2003.01
Post: #4
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.
Quote this message in a reply
Member
Posts: 715
Joined: 2003.04
Post: #5
I'm heading to Westwood College in Denver, 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.
Quote this message in a reply
zKing
Unregistered
 
Post: #6
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.
Quote this message in a reply
Member
Posts: 40
Joined: 2004.12
Post: #7
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.

Jericho
Quote this message in a reply
zKing
Unregistered
 
Post: #8
seven Wrote: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.
Quote this message in a reply
Member
Posts: 715
Joined: 2003.04
Post: #9
zKing Wrote:(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.
Quote this message in a reply
Moderator
Posts: 1,140
Joined: 2005.07
Post: #10
DoG Wrote: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.
Quote this message in a reply
Moderator
Posts: 3,573
Joined: 2003.06
Post: #11
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.
Quote this message in a reply
DoG
Moderator
Posts: 869
Joined: 2003.01
Post: #12
AnotherJake Wrote:Computer science counts as engineering.

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

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.
Quote this message in a reply
zKing
Unregistered
 
Post: #13
igame3d Wrote: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.

Quote: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.

Quote: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.
Quote this message in a reply
Member
Posts: 469
Joined: 2002.10
Post: #14
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

---Kelvin--
15.4" MacBook Pro revA
1.83GHz/2GB/250GB
Quote this message in a reply
zKing
Unregistered
 
Post: #15
DoG Wrote: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.
Quote this message in a reply
Post Reply