<p>I just graduated from CS (Games), am returning for my Masters via Progressive Degree, and have a sweet internship this summer. Feel free to ask me questions here! Below I’ll volunteer some info and my take.</p>
<p>For computers, w/e’s your preference. When I entered USC 4 years ago I thought Macs were noob computers, but I’m now considering getting one. It has a much higher price point, but a lot of dev I do is for iOS and they can be as useful as a PC (or more with terminal). Remember dual boot or virtualization is your friend, ex: [Good</a> to Know: Windows on a Mac - Apple Store (U.S.)](<a href=“http://store.apple.com/us/browse/guide/windows]Good”>http://store.apple.com/us/browse/guide/windows)</p>
<p>For CS Games: I have really enjoying CSGM. I enjoy programming so I find it a good fit. In the USC Cinema school there’s the Interactive Entertainment degree, which is like the ‘soft’ version of CSGM (B.S. vs B.A.) Both degrees take roughly the same required game design classes, but we have more required engineering (mostly CS) classes whereas they have some required Cinema classes that we do not. If you want a little more game design and less engineering (cuz we have a few units of tech electives and they have a few units of game design electives) consider Interactive Entertainment, but I recommend CSGM. If you think about it, with an Interactive Entertainment degree you’re trained for game design and if you don’t get a job in the games industry your skills are limited in what they apply to; however, with a CSGM degree you can go into a number of non-games fields - pretty much the same as any regular CS major.</p>
<p>The CSGM curriculum was made by taking out classes unnecessary for CS, such as foreign language and biology classes, and replaced by relevant classes, such as Video Game Programming and Introduction to 3D Animation. The required CS classes for regular vs Games are different by one class I think. It’s a legit major. And [USC</a> News](<a href=“USC News - University of Southern California News”>USC News - University of Southern California News)</p>
<p>This will show you the required courses
<a href=“http://www.cs.usc.edu/brochures/ugcsgm.pdf[/url]”>http://www.cs.usc.edu/brochures/ugcsgm.pdf</a>
The curriculum layout is here (gotta rotate it)
<a href=“http://viterbi.usc.edu/assets/131/77770.pdf[/url]”>http://viterbi.usc.edu/assets/131/77770.pdf</a>
(It’s called a Bulletin, which took me months to figure out so remember that haha)</p>
<p>I feel the major has prepared me for a successful career in the game industry, but a lot of it is what you choose to do. You will graduate with skills, knowledge, & experience, a portfolio of work, and connections for a life-time (sometimes it’s not what you know but who you know). You learn a lot more than programming as you can see in the 2 above documents. You learn about everything in process of making a game from start to finish, and you get to do that in your first year! Game design, programming, art, modeling, animation, sound, publishing, etc. Several students from CS Games and Interactive Entertainment have made award-winning games while in school and/or have graduated with offers from large game companies, such as Rockstar and Riot! We take some classes with Interactive Entertainment students and it’s always great to work with them (they have similar passions and skills, etc.). Being involved in MEGA (outdated website [MEGA</a> (USC)](<a href=“http://www.megausc.com/]MEGA”>http://www.megausc.com/) ) and ACM allows more experiences with Game Jams, mini-lectures about a particular language or topic, and Hackathons. I wish I would’ve done that more because it’s a great way to network and build your portfolio through hands-on doing it. Learning a language outside of class, such as Obj-c if you want to do iOS dev is also great.</p>
<p>I had basically no programming experience coming into USC. Only HTML. The first CS class, 101, goes over the basic topics slowly so you should have no worries. I was challenged in the beginning, but then if you just stick with it and do the assignments and labs correctly you’ll get the hang of it. By the end of the semester, I was coding stuff I thought I’d never understand. There’s a learning curve but it’s worth it. Asking for help from friends and older students makes it easier. I got an A so I’m sure you’ll be fine.
If you want to get a jump start, which I’d recommend so class is easier, do these tutorial lessons (idk which is better)
[Instructions</a> for use - C++ Documentation](<a href=“http://cplusplus.com/doc/tutorial/introduction/]Instructions”>http://cplusplus.com/doc/tutorial/introduction/)
[C++</a> Tutorial - Introduction to C++ - Cprogramming.com](<a href=“http://www.cprogramming.com/tutorial/lesson1.html]C++”>C++ Tutorial - Introduction to C++ - Cprogramming.com)
About half way down the page there’s a link to a free C++ development tool called Code::Blocks (I’ve never used it tho).
It goes up to lesson 20, go that far if you can, but that’s getting into second semester material. I’d say Lesson 13 is the last one covered in CS 101. Also, CS 101 is not graded on a curve and most people get A’s. A number of people in my CS classes came to USC with more programming experience then my null experience yet I’m doing just as well as them, and sometimes better (especially if they don’t apply themselves…).</p>
<p>As previously mentioned, you learn a lot more than programming. Some programs you’ll use are Eclipse, MS Visual Studio, Maya, Audacity, Game Maker, XNA (for xbox programming), and you can learn mobile programming (like the iPhone). You’ll learn C++, Java, MIPS Assembly, C#, and maybe actionscript (if not you should try to learn that on your own during breaks, you’ll be busy during the semester, but you’ll def be able to have fun too). ITP 280 is taken second semester freshman year and the final is making your very own original game, which was a very cool experience. And I had some friends playtest my game and they got really into it which was rewarding.</p>
<p>Roughly 30 people enroll in CS Games each year (that’s how many in mine), but it’s growing and could be 50 for your class (of 2016). A nice thing is that we’re familiar with each other because we take so many classes together. After all that talking of academics, I also want to say that some people worry engineers have no social life, and that is completely wrong. College is what you make of it. Some CS Games students will get together every Friday to play some fun video game, and some go out and party (whether they’re in a frat or not).</p>
<p>It really is a unique and great program. The experience of going through it is great. Of course the endgame is getting a job, and the career opportunities are there. I’ve had multiple companies contact me for interviews, ranging from recruiters to Senior Engineers of companies. If you have any more questions, please ask me.</p>