{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Advice on Buying Computers for Data Science Students\n", "\n", "\n", "## Questions to Ask Yourself\n", "\n", "When thinking about getting a new computer, the three questions you need to ask yourself are: \n", "\n", "- how budget sensitive are you, \n", "- how long does this need to be your main computer, and\n", "- do I actually need a new computer, or can I just upgrade my current computer?\n", "\n", "The \"how long\" question is important because many modern laptops—especially Apple laptops—have a lot of components that you can never upgrade. Ram and hard drives in Mac laptops, for example, are soldered in, so if by a hard drive that turns out to not be big enough, your only recourse is to buy new laptop! Given that, you want to think about how long your laptop needs to work for you—if you think it's gonna have to last you three years, you want to get a laptop with really good specs to help future-proof your purchase. But if you expect to get a new laptop when you finish your Master's degree in two years, you don’t need to buy a computer that is nearly as future-proof. \n", "\n", "## Key Specs\n", "\n", "I think the three things you want in a Data Science computer (in order of importance) are:\n", "\n", "- **Enough RAM:** I would argue that **most** important feature of a laptop for a data scientist is RAM. You *absolutely* want at least 16GB of RAM. And honestly, your life will be a lot easier if you can get 32GB. And if you need a laptop that will last 3 years, I'd say you want 32GB or at least the ability to expand to 32GB later.\n", "- **Storage:** A relatively large, fast solid state drive (an SSD, or another form of flash storage like an M.2 drive). I'd say 512GB is an absolute minimum, though personally I wouldn't go below 1TB. Note that external harddrives are poor substitutes for internal harddrives, so don't get fooled into thinking \"oh, it's small, but I can always get an external drive!\"\n", " - If you only want this for a year or two, I'd say you probably want double the storage you currently use; if you’re gonna need this computer to last you a while I would say three times what you use now.\n", "- **A reasonable processor:** At least an intel i7, or an i9 if you can get it (for Windows), or an Apple M1 or better (on a Mac). >= 6 cores I think. Note that I'm putting processors at the bottom of this list because, perhaps surprisingly, it's probably the least critical component for a data scientist—that's because single-core processor performance has not actually been [improving all that fast over the last decade or so](parallelism.ipynb), and most things you'll do will be single core. \n", " - An Apple M-series chip will likely be noticeably faster than Intel processor these days, but I wouldn't worry too much about the differences between an M1/M1 Pro/M1 Ultra/M2. An M1 Pro or M1 Ultra will be better than an M1 or M2, but not by so much that you should stress it if you don't have a lot of cash to burn. \n", "\n", "From a data science perspective, I don't think you need to worry about GPUs very much unless you're buying a desktop. I'm not a serious GPU user, but my understanding is that laptops just don't come with \"good\" GPUs by data science standards, I wouldn't worry about the GPU in your laptop (unless you like playing games). \n", "\n", "**But don't I need a super-computer for data science?!**\n", "\n", "Nah. Don't get me wrong, you want to be able to open any reasonably sized dataset on your computer and run code easily. But any time you're doing something *really* computationally intensive—like a massively parallelized computation and GPU-based training of deep learning networks—you'll probably just do it on a cloud computer. You don't want to have to turn to a cloud computer for simple class exercises, but just be aware that you always have that as a safety net for BIG jobs." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "## Operating Systems\n", "\n", "Most MIDS students end up getting Macs, and I will admit that I prefer them too—that's because in addition to just being fond of how their desktops integrate with their phones, all Apple computers run on an operating system that is very closely related to Linux (see [discussion here](command_line_part1.ipynb)). And since nearly all cloud computers run Linux, having a personal computer that has a linux-like operating system means that the skills you learn for working on the command line on your Mac will transfer to cloud computers. But like I said—I'm addicted to iMessages, so maybe that's just Stockholm syndrome speaking. :-))\n", "\n", "Of course, Macs are also *expensive*, and while there are ways to try to get them cheaper (see notes below), you can definitely get more power from a Windows machine at the same price. Moreover, if you prefer getting a Windows machine for either price or personal preference reasons, you can actually run Linux *inside* Windows in a remarkably smooth matter with [WSL 2](https://docs.microsoft.com/en-us/windows/wsl/). It will add some complexity to your life, but it's workable!\n", "\n", "Finally, if you just want to get an actual Linux laptop, you can do that too! If you decide to go that route, I strongly suggest that you buy it from an established retailer who will make sure that everything is installed and set up when it arrives at your door like [System76](https://pop.system76.com/). But be aware that managing Linux operating system is sure to come with some frustrations, so only do this if you enjoy mucking around and learning how operating systems really work. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Saving Money\n", "\n", "### Upgrade Your Current Computer\n", "\n", "Sadly, Macs are harder and harder to upgrade (bear that in mind when you pick your Mac specs if you're buying new!), but most Windows laptops are upgradable! They come in more shapes and sizes, so it's hard to give direct guidance for a given model, but a good RAM or hard drive upgrade can make an older laptop feel new!\n", "\n", "### Go to an Education Store\n", "\n", "Most computer companies offer discounts for students! Hop on over to the [Apple Education Store](https://www.apple.com/us-edu/store), or go to the [Duke Technology store link](https://www.dukestores.duke.edu/cpustore/) for some deals on Dell, Lenovo, etc.\n", "\n", "Note the [Duke Store offers payment plans to help students](https://www.dukestores.duke.edu/compstore/purchase_plan.php) with the cost of computers!\n", "\n", "## Specific Suggestions\n", "\n", "If I, in July 2023, were getting a Mac and were trying to get the best value on a budget for a computer I hoped would last for the duration of my two-year Masters program, I'd probably get:\n", "\n", "- An M2 Macbook Air with 24GB RAM and 2x the storage I currently use on my current computer. With 1TB drive, that's about 1,839.00 dollars before taxes with education discount. \n", "- Or I'd find a used M1 Macbook Pro with 32 GB RAM and a 1TB drive. The difference between Intel processors and the M1/M2 chips is big, but the difference between M1 and M2 is not — a great way to save a few bucks!\n", "\n", "If I were to splurg a little and wanted more ports, I'd get:\n", "\n", "- A 14 inch Macbook Pro with base M1 Pro with 32GB RAM. With 1 TB drive, that's about 2,899 dollars before taxes with education discount. \n", "\n", "*Avoid the 13\" Macbook Pro if you stumble across it—[no one likes that computer](https://www.theverge.com/23177674/apple-macbook-pro-m2-2022-review-price-specs-features)*\n", "\n", "I don't know Windows *nearly* as well as Apple, so... I'm not gonna weigh in there! :)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3.9.7 ('base')", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.7" }, "vscode": { "interpreter": { "hash": "3e0a5228cb9726a24d36227c69ed0d3aac98cecda769d1c9adb080711d57f90d" } } }, "nbformat": 4, "nbformat_minor": 4 }