If you’re only considering this for your computer science learning,… don’t … save your money for now.
If anything, focus on display/keyboard/portability/ergonomics, by the time you actually need something more powerful than a MacBook Air + paper notebook, whatever you buy today will be obsolete.
Instead, keep your existing hardware (MacBook + workstation) and invest in things that help you be relaxed, help your brain focus and be smart (tea, coffee, figdet spinners and other toys, low maintenance small green plants, $400 noise cancelling headphones, $1200 desk chairs are a reasonable thing, soft plush onesies that and hoodies you can put over the headphones for additional focus and concentration and a collection of angry sounding industrial metal music to drown out the campus coffee shop noises… or early 90s grunge if you’re not a metal fan).
Reason is, that most computer scientists and software engineers spend most of their professional career:
- looking at whiteboards (computers barely help with that… there’s fancy whiteboards with horrible software, and there’s phones to take snapshots)
- using a pen and a scrap paper notebook next to their keyboard (drawing and diagraming software sucks, and nobody likes fingerprints or line marks on their display).
- scrolling through text, and when typing code, 90% of the time staring around the existing text around the sometimes blinking cursor and 10% of the time actually typing into a plain text, maybe syntax highlighting editor.
- eventually they start programming humans instead of computers using design docs and slide decks.
…and you’re studying to become one of those people, and your brain will almost, always do more work than your computer.
Once you need more hardware you’ll know.
Eventually, in in a few years, when studying around year 3/4 usually, you may want to try your hand at distributed computing and ML. Even the most powerful workstations (not just laptops), while really good at compiling basic student written code and software, are crap at most distributed and ML; except toy/playground examples for this type of software today. (e.g. 10 VM k8s setups without storage etc…).
To do anything of practical value you need a thick fiber (it’s actually thin; just high bandwidth) into the internet and lots of storage for random stuff, and for practical ML research you need access to a rack full of GPU machines on top.
You can play and study on threadrippers (e.g. k8s VMs) and single/dual 3090 cards for example for ML stuff, but if you want to actually train ML models to do something other people haven’t done already, you need access to lots of data and lots of hardware to chew on that data… Usually you’d get a university or a company to sponsor your research or work, because of the costs.
-signed: a 20y professional formally trained software engineer
also, if you don’t mind spending $5k usd every 2 years on a laptop, m1 pro/32G or m1max 64G is a reasonable machine for software development, supports plenty of external displays and can even build and run a bit of code locally in a pinch.