New student advice

UMD CS senior here - hopefully I can offer a more specific perspective on the advice you've received so far.

UMD's campus is huge, and the CS building is about as far away from literally everything as it could be, so size/weight will probably be your biggest concern, especially if you're dorming your first year, in which case it'll be at least a 15-minute walk to CSIC - pack light!

The UMD CS curriculum uses Unix pretty heavily - for example, the 3rd major track course (CMSC216) will have you working in C for the entire semester, and the second half of that course is all about interfacing with Unix through system calls. This would be a reason to go for the MBA, but if you're comfortable virtualizing with something like Vagrant, you could be fine with a windows machine as well.

Generally though, if you go with a windows box, you're probably going to be virtualizing Linux anyways, since most languages and toolchains you'll need for classes (OCaml, Ruby, C) will be easiest to work with in a Unix environment.

However, if I may offer a different suggestion - since you have a tower already, go for an iPad and Bluetooth keyboard instead. UMD CS has two clusters of Linux machines that CS students can SSH into (linuxlab and grace) that have everything you'll need for classes below the 400-level already installed. Since the entire campus is wifi-accessible, with the iSSH app you could easily work on all your projects with just the iPad when you're away from your room, and with a stylus it'll serve double duty as a paperless notebook. I worked this way for 2 semesters before I bought my MBA and had no issues whatsoever.

The main advantage of the iPad would be that it would force you to become proficient with the Unix command line and Vim/Emacs, both extremely valuable skills that you're going to need. The one drawback of course is that it'll be a bit more difficult working in Java (which the first two courses CMSC131, CMSC132 will use), but you can easily find editor plugins to get more IDE-like features. And if iSSH supports x-forwarding, I think you could even fire up eclipse on linuxlab from your iPad. Or you could just RDP into your tower from class.

If you have any other questions, feel free to PM me. UMD is an awesome school for CS, I think you'll like it here!

/r/compsci Thread