Since I am not employed in a game studio (yet), I deliberately named this post my “initial” review–I don’t want to judge it fully without putting my skills to the test in a real environment. However, I think I have a fairly good idea of how good the course is at this point.
Let’s start with money. The course is expensive, more so than a traditional CS degree. The financial office is, for lack of better word, dumb. They have repeatedly messed things up, are usually in disarray, and try to push loans on you (initially, at least). They also overcharged me (and several others) by several thousand dollars and need about 45 days to return the money (right…). However, having seen other universities’ financial processes, financial aid and financial affairs in general seem to always be a big headache, so Westwood’s state of affairs probably isn’t unusual.
Filler classes. This includes humanities, social studies, and other non-major related classes. I hate them, I really do. They’re basically for people who don’t read, can’t write, haven’t traveled, and can’t think. They’re also for sucking more money out of you and for giving you a “well rounded education.” Right. Fortunately, the ratio of major classes to filler classes is a bit better than some schools I’ve seen. The program at Westwood changed after (well, during, I guess) I graduated to tip the balance more toward fillers; classes in the old program were split and given their own classes. Newcomers should take these comments with a bit of salt–degree programs change over time.
Now for the core classes and how well they prepare a new student to enter the game industry. To be completely brutal I’d say it does not, on its own, prepare you well enough. There’s a little phrase at almost all schools that you get what you put into it and another about college giving you the tools and the theory to help make you flexible in your future career. Basically, what those phrases mean is that they give you some vague information and expect you to learn it on your own (during which time you pay them a nice fee for a paper), which is what motivated people do anyway. Theory is important, no doubt about that, but there is so much other stuff you have to learn to become a proficient programmer–debugging methods, testing strategies, compiler idiosyncrasies, methods for doing things in different IDEs and environments, project organization, version control systems, how to use multiple languages in one project, language conventions, etc. The list just goes on and on.
The difficulty of many of the classes (the non-coding ones) is not high enough. Students who are mediocre to excellent can breeze through pretty much every course, although they may want to poke their eyes out after seeing how many essays they have to write. The difficulty of the coding courses needs to be jacked up…way up. Only a handful of courses even get near the advanced C++ topics which are required to achieve an intermediate to expert level of proficiency. This is important, because while normal schools tell you to learn it yourself, you probably won’t get a game programming job right out of school if you don’t know C++ well enough (not that you will if you do, but it helps). Companies won’t hire you because you aced your humanities classes, they’ll hire you because you’re highly skilled and can do something.
Now, in normal CS courses, there are very few classes which actually teach you languages, save for the first few classes. You’re expected to learn everything else on your own. In this manner, WOL (Westwood Online) is not much different. However, CS graduates are often unable to program anything more than small things and sometimes not even that (google for moronic CS graduate interviews). In a program which claims to prepare students for becoming entry-level programmers, the lack of extensive C++ instruction strikes me as odd. I took it upon myself to go through as much material as I could during my time at WOL to really improve my knowledge of and proficiency in C++ (and C, to a lesser degree) and it showed, especially when I had the chance to read other classmates’ code. Don’t take that as me trying to be superior–I still have a lot to learn about C++, but the difference in my knowledge versus most of my classmates’ was very apparent.
Tied in with this topic was the emphasis on project documents, UML, and OOP. Seriously, enough is enough. Knowing the concepts and how to apply them is important, but I think it was overdone. Also, almost no teacher gave code reviews, unless asked directly for one. I don’t know if normal CS courses do code reviews, but in this case I think it’s something which should be done constantly.
The teachers for the most part were all right. Some were from “normal” software development backgrounds, some were consultants, some were actually employed at game companies, and some were just annoying (but that’s normal, there’s always at least one :)). In general, I found them to be quite flexible and understanding if I encountered any problems. I usually prefer to learn things on my own, so I didn’t really talk to most of my professors that much, although I think some of my classmates did. Most of the books were all right–some were duds, some were CS-standards, and some were middle of the road. I ended up augmenting some of my school books with other titles I got on Amazon.
So, as in initial review of the program, I would say that if you need “the paper” (the degree), have lots of money to burn, are a highly-motivated self-learner (very, very important), and would really appreciate the ability to work on the degree after work or simply online from the comfort of your home (for example, to circumvent medical problems or to continue working at your current job), then Westwood’s degree might be something to consider. Already being a proficient programmer helps a lot. If you are not motivated, are not a driven self-learner, are not self-disciplined, and/or are not rolling in cash, I would suggest looking at a regular CS degree (or alternatively another game program, such as Digipen’s). I should mention that you can, of course, get student loans, but if you don’t like being in debt, like me, then the money issue is something to consider.
Also note that the career office does send a lot of placement position opportunities your way and there is the ability to retake any class in your program at any point after you graduate–if that seems like something you would take advantage of, put an extra point next to Westwood’s program. Also, there’s the fact that you’re surrounded by others who want to do the same thing–if that’s important to you, put another point by Westwood (although game clubs at normal schools serve the same purpose). Finally, if you want to complete a Master’s or PhD, wait until they are regionally certified–at present they are nationally certified, which means you probably won’t have your credits accepted by a graduate school (for me, it doesn’t matter, I’ve had it with school, and most people in the industry do not have a Master’s or a PhD–some say that it actually hurts your chances of entering at first). I do feel that I’ve learned a fair bit during my time at Westwood and am a better programmer, but I also feel that a large part of that is due to self-learning and not the school.