Like everyone else…
Before I started my studies in Computer Science…
I thought I would need the biggest and most bad ass machine with the latest CPU and GPU on it.
if I’m going to tinkle around with hardware and somehow improve that hardware’s performance in the future through my awesome code, I would need the best of the best right?
Most computer scientists don’t need that much hardware don’t do that! In fact, even if you plan on doing that, you don’t need hardcore hardware.
The truth is most people would be with a cheap ChromeBook from Wallmart.
I’m not saying you should buy a cheap chromebook from wallmart.
The point is that you should NOT focus on power.
But rather getting the most productive and comfortable environment to write code/programming and working on assignments.
By productive I mean…
Getting a machine that has easy access to every OS/IDE and every package/code available,
While you’re at it, since you’ll be staring at the screen with your fingers glued to the keyboard for several hours why not getting a display that’s easy on the eyes, easy to code with and a comfortable keyboard too.
Recommended Specs for Computer Science
If you still don’t believe you don’t need hardcore hardware, check the section at the end of this article where I’ve detailed the classes/assignments I’ve encountered in my four years.
You could also go to reddit or quora to verify that things haven’t changed at all in the curricula for computer science and computer science jobs in general. You might get a few joksters telling you to get ANY machine because writing code is the least hardware demanding task and that’s all you’re going to do.
I disagree with that though, you still need a to meet a few hardware requirement so you’re always lag free no matter what you code or what you code with (IDEs can be heavy).
With modern CPUs having way too much processing speed, the most limiting factor for computer scientits and writing code is basically RAM.
4GB: this is fine for coding/school projects especially if you use Windows 10S/Chrome OS/OSX. X-Code will run fine with 4GB.
8GB: this will be bullet-proof against lag. You can multitask and run heavy IDEs like Eclipse/Android Studio and still be fine. Recommended.
16GB-32GB: might only be useful for those already in the field (running VMs for software/code testing).
Like I said you’re going to be staring at this thing everytime you step outside a lecture so why not be kind to your eyeballs? Maybe you’ll graduate without having to wear glasses.
Resolution: FHD (1080p) and higher resolutions will help you tons because you’ll be able to use split screen & and see more chunks of code at a time (to follow code logic).
Finish: Anti-Glare or a Matte screen are more kind to your eyesight. But they’re hard to find, you can always buy an accessory though.
Size: at least 13. 11 only if you are on a budget.
You’re going to be typing your eyes out on this thing and the last thing you want is a messy keyboard to mess up with your workflow.
So don’t worry about capacity.
Just make sure to have an SSD. They’re virtually on every laptop these days but you never know.
Just make sure it’s recent(Ryzen/+8th gen Intel Chips).
Avoid: 6th,7th gen processors from Intel, Celeron, Pentium, MY/Y5/Y3 and AMD A9/A6/A4 or ARM/MediaTek/Atom Chips.
Only useful to speed up parallel programming. Don’t pay attention to it.
Most laptops( and consequently every laptop in this list) can run every programming language and IDE you can think of.
What makes some of these expensive (like the Dell XPS/MacBook Air) is their awesome display and its thin -lightweight design.
1. MacBook Air
Best Mac Laptop For Computer Science
M1 7 Core GPU
13” 2560-by-1600 resolution
This might come off as surprising to some of you but with the release of the M1 MacBook Air, it shouldn’t be…
MacBook Airs have been already popular way before the newest model came out.
If you’ve ever attended a coding hackathon or a programming symphonium, surely you’ve noticed A LOT of shiny apples all over the place. Some of your professors probably were there and used one too.
There are SEVERAL reasons to use one (especially now!):
- MacBooks gives you access to run code in ALL three Operating Systems: Windows, OSX and Linux.
BootCamp allows you to switch to windows and you don’t even have to install Linux on it(although you could), being a Unix based machine you can run Linux packages on the OSX platform.
- Any code or software that may not be compatible with either Mac or Linux (.NET, Visual Studio) will simply require a quick launch of bootcamp to access Windows.
- A lot of programming languages you’ll come across (Java, Python) so you don’t even have to go through the painstaking task of installing an IDE to start coding.
- Because you have access to OSX and Windows, you can also program for Android/iOS Windows/OSX devices.
Everything I just said applies to any model made from 2009.
If we add the new M1 MacBook Air into the equation:
– The M1 Chip: Completely blows any other modern “mobile” CPU out of the water. It’s been tested to outdo the 10th generation Core i7 chips.
– The fact that it has EIGHT cores and it’s multicore performance is far better than Intel/AMD and if you ever come across (I’m talking about the future when you’re already a computer scientist) parallel programming or need as many cores as possible for data science/machine learning you’ll be all set. The code behind the architecture is even optomized for “machine learning”.
If we are talking about programming, coding and computer science jobs and classes, then you don’t really need much power. It’s nice to have that M1 Chip and all but it’s kind of overkill for 99% of computer scientists.
So if budget is an issue, you don’t have to pay 999$ (849$ with an Education Discount) for the newest model. Any of the older models, will do. If you browse around Amazon, you’ll find anything from an 11 inch Core i5 to a Core i9 MacBook Pro.
You can pick any of those models and you’d still be fine. I’d recommend picking any model with a Core i5/4-8GB RAM.
If you’re going to try to do some App Development(especially for Android Devices), then make sure you get 8GB.
16GB Core i7/Core i9 or the most powerful M1 Chip with 16GB/1TB SSD it’s kind of useless UNLESS you know you are going to run several dozens of VMs (which is not the case if you are a student) which might be the case if you’re in the IT business.
Display & Design
One of the biggest reasons to go for a MacBook is their thin/lightweight form factor, it doesn’t matter what you are carrying in your bag, the MacBook , especially the Air, will find its way in.
The battery is another huge plus, older models can have anywhere from 10-13 hours with the newest model boasting 15-17 hours (for video playback and work related tasks of course).
CS students don’t have to type CODE all the time because classes do not require you to do that (unless you want to) but like any college student, you’ll surely be typing your eyes out for essays during the first year. If you’re already a computer scientist, then yes you’ll definitely be typing your eyes out. In any case, it’s always nice to have a nice keyboard.
The MacBooks have one of the best keyboards on the planet, they’re not only very responsive but have great tactile feedback without the need to put a lot of force when typing.
You can also code in the dark(all models have backlit keyboards) and it will automatically adjust brightness levels to save power, the latter feature is only available in the newest (2019-2021 models).
The resolution can be an issue with the older models, they only have an HD+ display, which is cool but it’s not ideal when you want to have several windows open to each other (it will be okay if you work with two next to each other). In other words, It should give you no issues for coding or reading any documentation at the same time, if it was you wouldn’t see programmers still using the older model.
The newest models, however, don’t have this issue, they come with 2560-by-160 pixels, which is much higher than what most windows laptops offer (FHD ~ 1920 × 1080). This is nice becase you have the option of having about three windows opened next to each AND you’ll be able to see way more code at once (reducing the need to scroll up and down).
If you can’t afford the new 13” MacBook Air, like I said, there’s no need for you to miss out all the goodness OSX offers to computer scienctists.
You can always get a refurbished model from amazon I can tell you from experience : in the apple world, refurbished pretty much means new but cheaper, if youre not convinced read the reviews. I use myself use one, check the pic below.
Heck you might even end up reselling yours after a few years (macbooks usually last you a lifetime).
Core m3 , Core i5, Core i7
128GB-1TB PCIe NVMe SSD
12” IPS 2736×1824
Truth be told, the Surface Pro isn’t a better or even a replacement to the MacBook Air if you are alerady working in the field BUT if you are a student, it’s definitely another great option.
If you are willing to give the note-taking feature a try, OneNote and the stylus of the Surface Pro can replace your entire arsenal of physical notebooks and textbooks because it’ll allow to take notes on top of PDF files/Slider or in a new blank page.
Also, OneNote is a GREAT software to go with it, it helps keeping every note/pdf file you have neatly organized and make access to each relatively easy and quick.
This means being able to read documentation or look up a piece of code/function quickly.
Like the MacBooks, hardware can be configured to your needs and budget.
I recommend getting any model with 8GB RAM just in case you are one of those that go CRAZY when multitasking.
If you must know what each configuration/model is useful for:
Core M3 Processor, 4GB RAM
You can run pretty much any code editor with no issues. Visual Studio also runs fine. All CS students will do fine withi this configuration, although it’s only found in older models (Surface Pro 4/5/6) which means its a lot cheaper.
Core i5 Processor, 4-8GB RAM
Geared more towards insane multitasking. You can even run Virtual Machines but you’ll be limited to one or two.
Core i5 Processor , 8GB RAM and Core i7/16GB RAM
Core i5/8GB models are more ideal for App development because you’ll heave to use software that eats up a lot of RUN/CPU power like Android Studio/Eclipse with the Android extension.
Core i7/16GB RAM models are just expensive and useless unless you’re into data science/IT business and even then it’s rare to need that much power.
Display & Design
The display is only 12.5” but boasts more resolution than your average premium ultrabook: 2,736×1924 vs 1920 x 1080.. It’s got a higher resolution than the MacBooks so it should make up for the missing .5 inch display.
More resolution is always good! Remember it means there will less need of scrolling down to pinpoint bad code.
The keyboard might take some time getting used to, it doesn’t feel like a regular keyboard when you put it on your lap.
But if you attach the keyboard and put your Surface Pro in any hard surface it will feel like a real laptop.
3. ASUS ZenBook
Best ASUS Laptop For Computer Science
8GB RAM DDR4
256GB PCIe NVMe SSD
13” full HD NanoEdge
This model is a great alternative to the Air.
The design is almost a replica especially with the 2020-2021 mdeo, it’s just as thin (in fact 0.1inch thinner), lightweight (2.6lb) and has a decent battery life (10hours).
The trackpad is just as big as the MacBook Air/Pro and they added a numerical keypad in their newest model.
It’s a great option if you can’t use an OSX machine or have been a Windows guy all your life.
Best Dell Laptop For Computer Science
8GB RAM DDR3
Intel UHD 620
13” full HD 1080p
The Dell XPS 13 is yet another premium lightweight laptop with a form factor similar to the Air.
This year’s model has the 10th generation CPU which just like the M1 Chip/AMD Ryzen 7 way too fast for coding purposes.
It also has a huge trackpad, a great keyboard and it’s made of full aluminum.
There’s one reason to choose one of the Dell XPS 13 models over the ASUS ZenBook and pay for the extra few hundre bucks:
- The Dell XPS Series (along with the Lenovo ThinkPads) are known to have a much more flawless compatibility with most LinuX distros. This means that most distros will support all the hardware inside of a Dell/ThinkPad, from the speakers to the touchScreen features.
Unfortunately, it’s almost as expensive as the Air. The price gets even more ridiculous if you go for a Core i7 model with 4k resolution
Again you’re not going to do any video/photo editing or even game on this thinig, so a Core i5 + 8GB should set you up and running.
Best Cheap Laptop For Computer Science
AMD Ryzen 3 3200U
4GB RAM DDR4
128GB PCIe NVMe SSD
15” IPS full HD 1080p
The Acer Aspire 5 with the Ryzen chip is currently the best selling budget laptop on Amazon and for several good reasons.
Under 350$ bucks, you’re getting a laptop with a modern CPU and FHD resolution whichi is something you find on +450-500$ laptops. It also has a thin form factor and it’s relatively lightweight/slim (3.5lb/0.7inch vs the Air’s 2.7lb/0.6inch)
Although there’s only 4GB that’s okay because it only runs on Windows 10 S.
Which brings me to the main issue with this laptop: Windows 10S.
Windows 10 S is a nerfed version of Windows 10 Home. You can still run all the usual apps and even code editors you need for computer science but any third party software that’s not on the Windows App store can’t be installed in it.
IDEs like NetBeans/Eclipse do not have a Windows 10 S version.
If it ever comes to the point you have to use something like the windows shell or Visual Studio, you will have to upgrade this machine to Windows 10 Home (which is one click away but requires you to buy a Product Key).
If you’re REALLY on a budget, I think it’d be ideal for you to try it out with Windows 10 S on it and when you see the need to have Windows 10 Home just buy a copy and upgrade it. I think this is a better option than buying the model withi Windows 10 Home installed which costs 480$ or so.
If you want to install third party software and have more freedom with what you do, you can Install the Linux Distro of your choice.
The following section will go over the CS program, curriculum, software and the classes you will encounter so you can comfortably make the decision of which laptop to buy to understand the reasoning behind the choices given above.
The Computer Science Department
It’s very crucial to check what your specific department has to say about laptops. Do that now if you haven’t.
What exactly do I need to check?
Ask what OS they use and recommend. Some schools are Microsoft all the way, but some schools teach more on the Linux side right off the bat. Either way no matter what OS, you can’t go wrong with a MacBook as you’ll see soon.
All good CS institutes and departments out there offer awesome 24/7 labs where you can work as much as you want on your homework assignments, watch youtube videos among other things…
Truthfully speaking, it’s way better to work and study on these labs since you’ll be entirely focused on your work.
If so, you might not need a laptop at all since you have lab access 24/7. But who wants to spend the entire day in a lab? If you do, by all means do it save yourself some money.
As a computer science student however it becomes extremely important to be able to code whenever and wherever so you should still get a laptop even if it’s really cheap and slow.
You won’t be compiling the next Microsoft Office, Firefox or Windows. Nothing you’ll code will take time to compile or run. There might be an instance when you’ll need to compile something heavy. Probably for independent research (if you choose to do it) and even then it’ll be a one time thing where you can use the lab for it but even then it is extremely unlikely to get assigned such a project.
Software & OS
1.Although most computer science majors will only use vim/emacs(code editors) for courses and homeworks , you should find out what specific software they might use anyways and check their compatibility with your OS of preference (Linux,Mac,Windows).
2.Speaking of computer power and how heavy a software is, as you’ll see soon virtually every CS software (99.9% of them) will run with no issues on any modern laptop.
3. Don’t go around buying all the software you’ve seen on your school website in advance, they’ll be provided for free to you.
What is it?
You can basically use your desktop or whatever laptop you currently have to connect to your school’s lab computers and use them remotely from the comfort of your door room.
Yes that means you can also run heavy software that wouldn’t otherwise run on your laptop or desktop. I know my school didn’t have back then but today I am sure it does and most schools, if not all schools, do as well.
ChromeBook + Remote Access
In theory you could just buy a cheap tough Chromebook like the ones shown here to take notes, do some research here and there, etc, and use it to remotely access any other laptop, desktop or your school’s computer labs.
In fact, you can throw in some coding with a chromebook too and you can start coding with it for every class except for the few instances in which you might need a heavy IDE such as Visual Estudio or Eclipse.
What are classes like in the CS Department anyways?
Do you really need to take notes with your laptop?
As far as I am aware, classes are still being carried the old fashioned way. That is , class hours are lectures where you listen to a professor speak and watch a presentation as you take notes with a pen and paper.
There will be some drawings here and there so taking notes with a laptop can be time consuming and difficult unless you have the Surface Pro 4 or any other laptop/tablet with a stylus.
You’ll also be given practice questions and quizzes during class and these will still require pen and paper.
There might , yes might, be classes which require you to bring a laptop. This will depend on the specialization you’ve chosen by the 2nd or 3rd year or if you got a cool professor who doesn’t mind his students not paying attention and checking on facebook.
What about Labs?
You’ll be given an assignment to complete during lab hours, this is the only instance you’ll definitely need a machine but even then you won’t need your laptop just yetn because a computer will always be provided for you.
But it is more than likely you won’t be able to finish your assignments during lab hours and you’ll end up submitting it online after class is over.That’s where a laptop comes in.
Will laptops be required to take to classes?
If you are a freshman, you’ll find out during your first semester that the time you’ll spend on computer assignments will be much less than the time you’ll spend reading, taking notes, doing your homework and studying without a computer.
Even exams are written with pen and paper .
Why are not laptops required in class for us?
As I mentioned before you’re more likely to be on facebook and checking your email than listening to what your professor has to say.
As you’ll see for yourself during your freshman year, most CS classes involve a lot of math rather than coding and you’ll be using computer programs to solve problems much much later and always away from lectures.
You’ll notice something interesting too. Unlike most of your professor for other classes, your CS professors will be more likely to have ugly-looking and cheap laptops . You can probably guess why by now, if not keep reading.
These are more or less the classes you’ll find in a typical Computer Science Curriculum that do need the use of a computer.
|Introduction to Computing||Learning advanced coding skills (might be for a device or even a robot)||Python|
|Object Oriented Programming||As the name suggests…||Java|
|Data Structures and Algorithms||You’ll learn what these are in OOP.||Java|
|Computer Organization||Learn how computers work with C .||Optional|
|Digital Design Lab||Design and implement digital devices||DAQ Board software|
|Design Operating Systems||Build an operating system with labs and/or projects||C|
|Computer Networks (Elective)||development of network applications.||C/C++, Java, or Python|
As you can see only a few classes will require you to use a software (out of the 32 you’ll have to pass).
I know I know, I didn’t specifically put a software(just a coding language). But whatever IDE you use to run your code, they will all more or less require the same specs from a laptop.
Note that professors can get very picky on what language/IDE to use too: one could be using C++ with Eclipse and another one can entirely rely on Python even though the same subject is being taught.
Luckily, you’ll find that after a few semesters down the road, the choice will become yours and you’ll have the freedom to choose whatever programming language you want for your assignments.
Anyways, whatever you code, with your IDE & language, will not require a powerful laptop to compile & run.
However you might run into heavy software such as Unity (for Animation) and lots of data analysis (for research or a crazy elective) but these projects are very unlikely to be required by your department unless you ask your professors/advisor for them.
Even if you encounter such projects, they will most likely be a one time thing and I doubt you’ll want to make your laptop more heavy and way more expensive for all four years of just for one assignment or two.
Recommended Specs for Computer Science
I suppose you get the point now, you don’t have to worry about computer power at all. You should invest your money on portability, comfort and aesthetics more than anything.
My job is now to close the deal and convince you to leave performance aside and focus on portability starting with the display.
This is probably the most important feature for a computer science student even more so than processing power and storage.
There are two things to worry about as far as display goes.
You’ll be staring at the screen a lot. Especially after the first year because you’ll end up sitting in front of the screen for hours trying to figure out what’s wrong with your code. So you may want to take care of your eyes and prevent straining them.
The best way to do it is by choosing a good resolution display. If you ignore this feature, you might need a new pair of good working eyes after you graduate.
1366 x 768 (HD)
Most cheap laptops on the market today have a 1366 x 768 widescreen resolution. This is not optimal for reading code, it’s very wide which means you see a lot of whitespace at the end of code lines (very long lines of code are frowned upon) and you don’t get a lot of vertical viewing to see multiple lines of code.
As a result you end up having to scroll a lot to see code logic. And when you’re trying to follow a logic structure , this can get inefficient making understanding your own code very difficult. To counter this get a laptop with at least a 1920 x 1080 resolution (one step below might be the limit: 1,440 x 900 ).
A huge screen is a bonus though (paired with good resolution) but it’s not necessary. In fact, it can be counterproductive as the size will affect portability.
It’s a personal preference because it’s you that’s got to carry it all over the place . Small is good because you will be more likely to have your laptop with you when you need it but too small can also kill your eyes.
Unless your are Shaquille O’Neal and don’t mind carrying a 17” screen, don’t buy a huge screen.
I started out with a 17″ laptop and ended up not even bringing it to school. Not going to make that mistake again.
What about weight? Lightweight of course this allows you to bring your laptop everywhere, in and out of lectures and to do throw in some code anywhere and anytime.
Personally I found it most important feature, even 1lb will make a huge difference because you’ll have to carry it all day.
However this might not be feasible if you need a high end laptop which is very unlikely (if you’re doing Animation as part of your CS degree). Even then you can always rely on computer laptops for any class that requires heavy duty 3D software.
But always try your best best to keep it light even if you have to sacrifice performance or pay more for it (lightweight laptops with a great performance are not cheap at all!).
Usually your classroom will have outlets for you to charge your laptop. Unfortunately not all of them will be available to you. Now that everyone has a smartphone and sucking the batteries dry faster than a girl untagging herself from a photo that makes her look fat, it will be difficult to secure one outside of classes too.
Luckily most lightweight, small laptops today have enough battery life to last an entire school day.
On the other hand heavy overpowered (for gaming machines or serious 3D work) will run out of juice by the time you get to the next lecture.
A long battery life will let you find study/work areas that are far away from outlets.This becomes very handy around exam time when libraries turn into a zoo.
Also handy for you to code wherever and whenever: in the bus, subway, the gym, hallway, etc.
There are even times you may need to go the entire day without recharging.
Also swapping out batteries cells means more to carry and interruption of work.
CPU & RAM
As a computer science student you’ll be limited to Java, Python, C++ and the like and not much more than that unless you specialize in other areas (Animation, 3D Modeling, Parallel Computing, etc).
So you are more likely going to use that ultra fast processor with 16GB for gaming than anything else because your coding assignments are unlikely to exceed more than a 1000 lines. In fact even a project in the workplace area can be several thousands of lines and still take seconds to compile on a regular modern and cheap laptop.
*(even an Intel core i3 might do the trick or a Chromebook with plenty of RAM)
But I heard I need a crazy amount of RAM
There a few rare instances in which you might need a powerful processor coupled with more than 8G RAM
Android/iOS Apps Emulation
You can still run emulations on a regular laptop (i5 Processor w/ 4GB RAM). However it will be much faster and less frustrating to run them on a high end laptop.
Try to get as much RAM/CPU power as you can without compromising the battery/weight and screen size which are much more important for a student.
Compiling Monstrous Size Code
A faster CPU and more RAM will improve compile times and make you less frustrated for sure but unless you’re building huge projects you won’t notice the difference at all and I can assure you won’t be doing those projects in school.
In the unlikely case you encounter a class focused on animation(in 3D). Animation software generally will require a far more powerful computers than the ones shown here. You’re better off reading my article on it.
Coding with Web servers and Databases
For any serious coding though (outside of school work), you will need to run IDEs regularly and database/web servers at the same time. (netbeans, eclipse, VS all take up between 500MB – 1.2 GB RAM alone) .
You should try to get a gaming laptop with a good cooling system because these tasks can run for several hours or even days.
All of the above are very unlikely for a regular computer science student.
So unless you know for sure you’ll be doing any of the above on a constant basis and away from home there’s no need to go further than i5 core and 4-8GB RAM.
It might take a few more seconds to load up and compile a program but that’s no reason to spend much more money, weight and battery life for that alone (higher end CPUs eat up battery life faster).
SDD or HDD
If there’s any money left, get an SSD instead of a HDD, it will speed up your workflow tremendously.
It is extremely crucial for a computer science student.
- Searching through all files to reuse a piece of code will be several times faster with an SSD. It was totally not doable when I tried doing this back then with an HDD when I still developing android apps of the same genre.
- It will also tremendously speed up heavyweight IDEs by loading them much faster. Yeah it’s not a must, but if you have to use large programs such as Microsoft Visual Studio (which you will), you will realize it is such a bliss to have things load up really fast.
There are also other advantages for a programmer to consider:
Regular hard drives can fail when dropped, bumped, moved while running, and when operated within 30 minutes after having been in freezing temperatures (not good in the winter).
Besides being a lot faster, lighter and more reliable, SSDs consume less power too(which translate to longer battery and less fighting for outlets).
Unfotunately, their price is still the main (if not the only) reason why we are still using old school hard drives.
If you decide to buy a laptop with an SSD, don’t worry too much about the capacity. You can always get an external hard drive for your files.
External Hard Drive
In fact an external hard drive does come in handy anyways. You might fall sleep in the library and wake up with your iphone & laptop both gone and start dropping courses the day after.
But if you’ve backed up your projects, files and everything else, you’ll just lose around 1000$ and not the entire semester.
If you do decide to stick with a traditional spinning drive, be sure to get a 7200 RPM drive.
For computer science students, the capacity needed can be very light (a couple of GB at most). So pretty much any storage device will do.
But if you have movies or music that you want to store then you might have to bump the memory to at least 256GB (128GB will be gone pretty fast with Windows 10, Office and IDEs taking most of the space) or again rely on an external hard drive.
As a computer scientist, you shouldn’t worry about graphics unless you plan to game or design games.
In other words, the typical CS student doesn’t have to worry about that unless game development with something like Unity is a must. If that’s the case you generally want something that isn’t integrated, that is a graphics card that’s attached to the CPU (these are much much weaker and struggle with 3D views).
Just remember though a regular CS curriculum does not include 3D modeling/design/animation . If you are planning to do that not only will you need a GPU but a quad core processor of the latest generation (7th or 8th) and as much RAM as you can afford (16-32GB). All these features will make it heavy and bulky in which case you might as well get a much cheaper desktop.
In fact a laptop with an Integrated graphics card has its own advantages:
- They’ll give you longer battery life: they operate more efficiently in exchange of lower quality of images(which you won’t even notice unless you deal with 3D apps) which in turn uses less power.
- It will not tempt you to play a computer games and focus on your work. Your GPA will thank you for it. 🙂
If you end up taking too many digital logic courses(designing/learning complex & physical circuitry) or maybe you want to specialize in this area, you will want a few extra USB ports.
If you want to play around with circuitry and side more towards electrical engineering, you’ll also need Windows.
Most of the IDEs for FPGAs and microcontrollers are only available on Windows as far as I am aware of.
It’s probably also worth getting an external monitor so make sure your laptop has a port for it(most laptops do unless you buy the new MacBook).
Having code on one screen and reference material/documentation/APIs on the other will make complex assignments during your later years much easier to deal with .
Whether a touchscreen is useful or not depends on how you plan to take notes. TouchScreens without a stylus are useless.
Don’t start thinking you’ll be typing notes because there will be way too many diagrams in your courses. Professors do not teach by code most of the time and much worse write the codes on the board for you to type. I personally love taking notes by hands to help me remember the material I just read.
The only situation a touchscreen might be useful for computer science is if you plan to take notes on it by using a digital pen(or a stylus) with a machine like the Surface Pro. The only con you would be having to deal with a small size screen (or tablet) for coding.
It comes down to whether or not the software you’ll use will be compatible with Windows or not.
It also depends on the school. Some schools are Microsoft all the way and believe it or not some schools are Linux all the way. No school will punish you for using Linux instead of Windows or Mac instead of both however.
Not much to say here. Everyone knows everything is supported on windows except open source stuff(about 60%?). However you can always dual-boot Linux with Windows.
As a CS student, you will invariably be required to learn Unix/Linux.
Open source programs are all available in Linux which is why at some point you have to become acquainted with it.
Ideally every CS student should learn Linux but I know that’s not something incoming freshmen are looking forward to.
Just remember they don’t really sell Linux-based computers, so if you want that option, you’ll probably have to buy a Windows computer (or a computer with no OS), and install Linux on it yourself.
Check for compatibility with the manufacturer if not you might run into issues like bricking or heating your computer too much. I’ve written a separate post on how to choose a laptop for Linux you might want to look at.
OSX and Linux work equally well for CS students, so it’s a personal preference. Linux has a steeper learning curve, and OSX is more expensive.
Why is it just as useful?
It’s Linux on disguise: OSX is based on a variant of BSD unix which is accessible under terminal.
It’s very flexible: you’ll get the OS X interface with the ability to drop down to the shell and never or rarely have a problem running any software you need for class.
So you are likely to do fine with either (OSX or Linux).
It’s code friendly: Mac OSX also includes a compiler for C, C++, Python, Objective C. Windows does not.
It’s very popular among CS folks: You’ll notice some of your professors using a Mac during lectures and you’ll see a lot of shinning apples if you try to go to a CS conference.
If you have a choice and you are a freshman, I would say go with whatever you feel comfortable with. Productivity is the best when you know your tools well. Windows, Mac, Linux are all fine as long as you know what you are doing. Of course, if you intend to develop iOS apps, Mac is your only choice.
Just remember 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 an Apple or a Windows machine. It can give you more hassle but I’m sure you’ll be happily deal with it if you really love your Windows/Mac machine.
As you can see you do not need a very expensive or a high end laptop with the latest tech available as some may suggest.
You can even do a PhD with any old school laptop if you want as long as you can install linux on it (you can run Linux on a chromebook too by the way).
My recommendation is to get something comfortable for both your eyes and hand. Also portable enough for you to bring it everywhere so you can do some coding on the go.
Sometimes you might not even have time to recharge it, so get a very portable laptop with a long battery life too. A good school will have you on the computer coding for about 4 hours a day away from lectures (homeworks, projects, etc).
Again, nothing you do is going to be super hardware intensive. So if you’re not looking forward to use your laptop for anything else (gaming, 3D design) a cheaper laptop is always a better option.
Some extra features like an SSD and a good screen resolution are almost a must. These will make your workplace area more comfortable and speed up your workflow. Lines of code won’t get written down instantly, an assignment might take you days or hours so try to aim for a comfortable laptop as well.
- i3-i5 Processor
- SSD Any Size
- 13-15’’ inch screen size; 1080p resolution
- Min 4GB RAM , 8GB recommended every application related to computer science.
- 3lb~4lb (lighter the better).
- +6 hours battery life. (8h recommended)