<p>Hi, I'm going to be an undergraduate computer science (maybe computer game science :P) major this fall. What computer/laptop would be the best for my major? Or, what should my computer/laptop HAVE in order to be able to do all the things I will need to do?</p>
<p>It does not need to be high end until possibly when you take a computer graphics course (in which case you’d want it to be high end then, not a two or three year old high end computer that will be low end by then).</p>
<p>How is a basic undergrad computer graphics course going to really tax even a ten-year-old computer? Unless you’re talking about rendering times for, say, ray-tracing and radiosity. Seems like a minor inconvenience to me.</p>
<p>I think a large monitor is more important than the system. FYI you may find it easier to install a Linux partition and do all of your programming on that. I find UNIX/Linux programming “cleaner” and more straightforward than Windows, but I’m hardly an expert so don’t listen to just me. Not to mention UNIX and C programming go together like calculus and physics.</p>
<p>But the basic bullet point is that you don’t need any kind of performance machine for undergrad computer science, the curriculum will barely have changed, if at all, from what it was ten years ago. Data structures and algorithms, C/C++, etc., are very much the same. The applications change, the theory (at the undergrad level) barely changes from one year to the next.</p>
<p>Everyone I know either has a netbook (because they can do all of their programming remotely logged in to a cluster), a laptop with a linux build, or a macbook pro. I’m personally in love with my MBP.</p>
<p>Game development is one of the few cases where you might consider using Windows and investing in a laptop with good specs (the other case being CAD and other engineering apps). DirectX, a microsoft standard, is popular for game development (you would want a decent GPU also).</p>
<p>DirectX <em>is</em> popular for game development…on Windows machines. And DirectX is, by all accounts, much better than it used to be, so I’m not discouraging anybody from using it. However, I have to point out that the universal graphics library, OpenGL, is a more widely supported standard in terms of number of platforms–you’ll find it on the PS3, the Wii, mobile gaming, and yes, even the Windows PC. And I imagine that 99% of computer graphics classes use OpenGL and Linux, for simplicity (MS keeps adding more baggage–I mean technology–to Windows software development) and cost. If you want to do CG as a career (and who doesn’t!) you NEED OpenGL. High-end graphics work is often done on Linux/UNIX, especially render farms. No DirectX there.</p>
<p>you’d be spending a lot more money if you took the advice to buy a mid-end laptop now and a high-end one later because of the graphics course, and it will take about 4 years for a high-end to become low-end, not 2. That will be just in time for when you graduate anyway, so my advice is to buy as high-end of a laptop as you can afford.</p>
<p>A cheap laptop costs about $400 to $500. A high end laptop costs $1200 or more.</p>
<p>Two years from now, a $700 to $800 laptop will probably be about as good as or better than a $1200 laptop bought now. (And if you find then that your ray tracing program is not too slow on your cheap laptop, or you don’t take the computer graphics course at all, then you don’t have to spend the money.)</p>
<p>Anything with a large screen (most important IMO…coding on a netbook is just plain awful) and decent keyboard should do. OS should not matter too much except for personal tastes.</p>
<p>I would advise against buying a laptop with a powerful GPU just for an undergraduate graphics course that you may or may not take. I support the other comments that suggest Linux (Ubuntu is especially popular these days, and very easy to get started with).</p>
<p>Just to clear some things up that others have mentioned here, if you want to speed up ray tracing and “rendering frames” in a program like 3DSMax/Maya/Blender you will want a powerful CPU, not GPU. The graphics cards are usually only used in real-time rendering (as opposed to offline rendering used for rendering films). Utilizing GPUs for general purpose computing is starting to become popular, though, and CUDA/OpenCL is starting to take off in the sciences.</p>
<p>A better GPU is useful for previewing geometry inside of an animation program and programs written in OpenGL / Direct3D (calling it DirectX is slightly incorrect). For an undergraduate graphics course, you will probably stick to OpenGL with simple programs.</p>
<p>Well it’s an added bonus that you’ll be able to play graphic-intensive games with a better GPU, but this wouldn’t matter if OP isn’t into videogames.</p>