Preparing for a Computer Science Degree (Part 3): Computer Recommendations

This is part three of the series “How to Prepare for a CS Degree”.

Introduction

As an adviser to prospective and accepted students, I often get a questions about how a high school student can best prepare for a college education in Computer Science, Software Engineering, or related programming degree.

Today’s question is:

What computer should I buy for my college student?

Accepted students and parents often ask: What should I look for when purchasing a computer for college? The following is my personal advice to students majoring in Game Programming at Champlain College:

Quality

Ensure that the computer has a good 3-year warranty. Students are tough on laptops and its not uncommon for the laptop to break. However, as an instructor, I do not accept “my laptop broke” as an excuse to miss homework. Most manufactures offer warranties that will ensure repairs are quick and free.

Portability

It’s the nature of students that many tend to do their work into the wee hours of the morning, or want to bring their laptop to work with friends.

Having a light-weight laptop ensures that students can bring their work with them anywhere: to work with friends in their dorm, in the library, or to class (when allowed by the instructor).

Comfort

Ensure that your computer is comfortable (the student will be sitting at it for long periods of time). The input and display should allow for hours of typing without getting cramped or uncomfortable.

For this reason, I highly recommend a laptop with docking station. The docking station should include:

  • Dual monitors with good resolution
  • An ergonomic keyboard and mouse

The dual monitor setup is used in the West Hall lab and is what I personally use at home and in my office. You’ll find it’s a standard across the computer programming industry.

Windows, Mac, or Linux?

You will be expected to submit your programming work using Visual Studio. (Microsoft) However, there is also an advantage to having a computer that can boot into the Mac OS. If you’re buying a Mac, ensure it’s dual boot. You will be working on other operating systems (in fact, you’ll even be writing your own operating system your senior year) … in these cases, you’ll rely on the lab computers if you can’t work on your own for these projects.

In many cases, VMWare is also a great solution, however when you’re programming to the graphics hardware, this creates one more layer to worry about.

Performance?

For programmers, performance is much lower on the list than you might expect. The times you need high performance computers is for using (not creating) visualization software (Graphics Design, Digital Film Making, etc). It is the programmers’ responsibility to ensure their code runs on lower performance computers.

Most mid-range computers have enough processing power and memory to handle everything you’ll do in class, however if you’re looking for specifics, consider that the two pieces of software that will be the hardest on your system are:

With that said, you will start to use some powerful game engines in your 3rd and 4th years. If necessary, I recommend planning for an upgrade after two or three years (see below).

One last thing to consider is that if you want to play with CUDA at any point in the future, you’ll need an NVIDIA-based graphics card. It’s not a requirement by any means, but I have had students in the past that were disappointed to find out that they couldn’t run CUDA on their own PC. (There are alternatives to CUDA like OpenCL that will run on any graphics card.) Again, this is not something you’ll likely face until your 3rd or 4th year.

Computer Labs

Remember, the computers labs have all the equipment you’ll need. Having your own computer is for your convenience (working when the labs are closed or filled). So, its not necessary to have your own computer, but it does help.

What to avoid:

High-end Gaming Machine

I advise that you do not buy a “top of the line” PC. Consider instead a a mid-range laptop meeting the advice listed above. Whatever you buy, it’s going to be “old” when you’re a senior, and that’s when you’ll really want the performance. Save the money and budget for replacing it by the junior or senior year. Parents, this can be a great incentive for ensuring good grades.

High-end laptops are expensive, your money is better spent on a good warranty and docking station. Not to mention that these high-end laptops tend to be the most heavy, breaking the ‘portability rule.’

I also advise again building your own high-end PC. When it breaks, you just won’t have the time to fix it. I’ve seen too many students fail assignments because they had to spend their weekend replacing a faulty motherboard or other component. Get the branded laptop with the warranty. You’re a professional now, let someone else worry about keeping you up and running.

And a final reason for not going with a high-end PC is that they can be a distraction when the latest game comes out. Remember, you’re coming to college to spend your time making games… not playing them.

newComputer

1 comment on “Preparing for a Computer Science Degree (Part 3): Computer Recommendations

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.