This is general advice about the type of computers students should consider to support their studies in computer science. Included is advice on: laptops, OS, and GitHub.

Laptops: What to Buy

This is often a common question from students new to the program and making the correct laptop choice can allow for a higher level of productivity. However, often the best choice depends on the individual.  But here are some things to think about:

  1.  Think about comfort. Large laptops with big screens are not worth the extra energy to carry around. Small is good because you will be more likely to have your laptop with you when you need it.
  2. Have good keyboard/mouse-track pad/screen support. A computer that you do not like to use is a useless computer. Get a laptop that you find comfortable typing on and do not mind looking at for hours at a time.
  3. Purchase a durable machine. Students are often very hard on their laptops and, given the role of that device in their life, it is easy to understand why. These machines are with you night and day, good days and bad. Purchase something that will hold up.
  4. Now think about processor speed, memory, and so on. For what will be done for home work assignments, often fast-fast is not the end all and be all. Faster is generally better, but the first three points are important to consideration first. Also, if you want to play computer games, then purchase a desktop to go along with the laptop. You will get much more power for your dollar with a desktop machine and you will have separation from your school work.
  5. Now think cost. This final point is also very important, but for a decent laptop, running Linux you do not need to spend a lot of money. Often less than $500 will get you a very good machine to run Linux.

Operating Systems:

The majority of the work done in the Department of Computer Science is done using open source tools. This means Linux, but you can do Ok with a OSX, Chromebook, or Windows machine. It is just incrementally more hassle.

  • Linux — this has become the work-horse of the computer science community. It has the greatest amount of open source software available for it, which is often first developed on Linux. The downside it has a greater learning curve, but if you want CS this is where it is at. One advantage is that you can set up the laptop to dual-boot either Linux or Windows, see the Windows option below.
  • Apple — OSX has just about everything you could ever need. You have all your MS Office tools, there is a great variety of awesome graphical programs, and support for open source is 99.999% there. So you get everything you need without rebooting your computer. The issue here is price, but there is a lot of value in this option.  Several faculty also have OSX machines as do many students.
  • Chromebook — this is an interesting option with the combination of Crouton, allowing you to run the Chrome OS side-by-side with Linux.  Definitely the least expensive option, but with a little larger learning curve.  Several faculty members use this option and the department has loaner machines of this variety.
  • Windows — open-source support is about 60% there for Windows, but it is coming along.  This support is facilitated by the inclusion of the Linux virtual environment starting with Windows 10, but this option still has some major flaws.  On the flip-side, you can dual-boot Linux with Windows. Note: dual-booting Windows 8+ was once very problematic, but now both Ubuntu and Fedora have very smooth installation process.

GitHub Accounts:

GitHub is an archival resource that is currently very popular.  The resource provides versioning options for your software and tools for examining the state of your repository.  The are also other features, like the ability to host webpages.

There are two important points to remember about using GitHub, first is do not make any of your assignments public during a course semester and second be sure to ask your professor if you can use GitHub during a course.  On the first point, if you make your programs public, then you are allowing others in a course the ability to plagiarize your work and you could be considered complicit in their misdeeds.  On the second point, instructors often have reasons for why they ask students to do what they wish, do not do something that makes your life easier assuming that this will be allowed.  Always ask the instructor teaching a course what are their desires in regards to GitHub.

If and when you do use GitHub, be sure to get a full account, allowing you to make your repositories private if you wish.  This is free to students (see GitHub on availability,) otherwise you are advised to pay the small monthly fee.