Login
Prepare yourself to be a successful programmer at The Guildhall at SMU
Even though other industries have moved on to languages like Java, the games industry is still firmly set on C++, and likely to be so for quite a while. Hence why our most important entry requirement to the Guildhall is solid C++ experience.
We say the equivalent of a bachelors degree in computer science, but that is assuming your school teaches C++. Many universities have switched to be Java only, which is fine for most students but not for those wishing to enter the games industry.
If you still have to choose your college, find one whose computer science curriculum includes plenty of C++ based classes. If you have already started or do not have the luxury of choice, try and do as many classes where you can use C++, often when doing project you can choose the implementation language. If you can't do C++ as part of your course work, make sure you spend plenty of time with it in your own projects.
The Guildhall programming curriculum assumes you already know C++, and focuses on game and engine related topics that are specific to this industry. As such, you will have a much easier time absorbing all of this if you are comfortable with your C++ already.
It is very hard to define what it means to have "solid C++ experience". There is a lot to C++, knowing the language (i.e. understanding all the syntax of all the constructs) is just the first 5% of becoming a C++ programmer. Experience in constructing larger programs, and dealing with all the issues that gives is vital.
If you come to C++ from Java, as is a common route nowadays, make sure you don't try to program C++ purely with its high level Java equivalents, embrace its more low level nature, and get intimate with memory allocation, memory layout, pointers etc. Failure to do so can make life very hard when progressing through the more complicated topics of the Guildhall program later on.
So how do you go about becoming more proficient in C++? As with many things, there is only one real way. Just do it. A lot. In the end it doesn't matter which course, which book, which project you embark on, as long as it gives you lots of exposure to all dark corners of the language. The larger the project, the more complex data structures it involves, the better. The topic does not need to have anything to do with games, in fact, it is probably better if it doesn't.
Besides writing your own code, one thing that comes highly recommended is reading other people's code. With Open Source so popular nowadays, there is a lot of C++ code out there for your reading pleasure. Pick a project, get its source to compile, and make an effort to see how it work internally. Learn from its use of C++. Step through it in the debugger to see what it does. Then when you have a decent understanding, add a small feature.
If you are serious about becoming a C++ pro, one book comes recommended because its the most thorough reference, and written by the designer of the language:
http://www.amazon.com/C++-Programming-Language-Special-3rd/dp/0201700735
It is not exactly an easy book to learn the language from scratch from, so you may want to accompany it by a more tutorial style book.
If you feel you have weak experience with C++'s low level nature, then I would recommend this book:
http://www.amazon.com/Memory-Programming-Concept-C/dp/0521520436
Wouter van Oortmersen
Lecturer of Software Development

Print This Page