Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

MacBook Pro-- Good for Computer Science (please don't vote if you are guessing)


  • Total voters
    126
PS- S - I was also wondering, I am basically awful at math. I mean, I don't hate it and I don't fail miserably, but I just am not the best; same with science. I honestly am actually good at writing, but that won't help me here.

Being not the best at math, is it a good idea to go for a CS degree?

Ok, you'll need to do and understand lots of math for the CS degrees around me. Algebra (not that stuff in high school) and Linear Algebra at the very least. Oh and probability and statistics.
 
I voted yes, but I don't like the way the poll options are worded at all. You always have the option to run Windows in Bootcamp. I'm a .NET developer for a local software company and everybody in my group, except for our manager/lead developer has a MacBook pro (I was the last to get one since they convinced me, which was about 2 weeks ago, when I ordered one of the new 2010 MacBook Pros for my birthday).

I installed Windows 7 Ultimate in Bootcamp, then installed VMware Fusion 3 inside OS X so that I could access my Windows install while inside OS X when I don't need to run anything natively, and virtualized will do. I'm not sure how well Visual Studio 2010 will run virtualized, but from what another co-worker told me, it runs fine. With that combination, you'll have both major platforms covered as far as development goes, so it's not a bad choice to go with the MacBook Pro if you want to spend the money.

If you don't care about OS X development, just get another brand laptop and save the money. I personally wanted to start developing iPhone apps (and probably Android/Windows Phone 7 apps too). So the MacBook Pro fit my needs.

Edit: As far as math goes, it depends on your university, but I switched from CS to Engineering to Engineering Technology (current). In engineering, I'd have to take math from Calculus 1, 2 and 3, Discreet Structures and Differential Equations. In Engineering Technology, I can get most of the software classes from CS, without the bs classes, and only need Calculus 1, but this is at the University of Memphis. But looking at the shortest path to graduation, I'm probably going to focus more on hardware than software, because I'm ready to finish school.
 
Get a Mac

I have just graduated with a degree in Computer Engineering, for which I have taken many computer science classes, and I can tell you that a Mac is probably the best computer you can own for CS. For starters, you can compile almost anything that runs on linux on a mac (I say almost, because I still have a Ubuntu vm), and use the terminal app. If you have to run Windows, I would use a vm, such as VMware fusion. I know that where I went to school, they have linux machines in the CS department that you can ssh into, and it's kinda annoying to run a terminal emulator like cgwin on windows.

List of Development tools I use:
Text Editor: BBedit or TextWrangler(Free)
Java: Eclipse
C Programming: Xcode

Other great apps:
Cyberduck, transfer files
Quicksilver: Quickly open anything
Dropbox: So you can transfer files
 
U of I

I'm majoring in Computer Engineering, and what's good about a MacBook Pro is that it's light and you can take it anywhere. The battery life is awesome as well and it seems like most of the professors here have Macs.
 
We had Silicon Graphics Indigos in the CS dept at the time (running IRIX Unix at the time) and a bunch of Sun systems - but with only 8hours of login time per week during office hours, we needed to write our gnu Pascal/C++ programs on green screen 'dumb' terminals. Often using the 'vi' editor . There was no wifi and no ethernet to the student accommodation.

That was 1995-1998.

Find out if development will be done on some Windows IDE, like .net(?) - or Visual Studio (if that's what it's still called), though a Unix terminal is always nice, but this can also be done for free using VirtualBox and Ubuntu...
 
I have just finished my second year of a Computer Science Degree using a Mac. You have to run linux and occasionally windows in virtual machines but any new mac will be able to handle running both of these at the same time.

Edit: I voted 50/50 because you will need to use virtual machines. But thinking about it now no matter what your primary operating system is your going to have to dual boot/virtualise so just get what you want.

Second edit:

PS-- what exactly do you learn? Besides programming?

PS- S - I was also wondering, I am basically awful at math. I mean, I don't hate it and I don't fail miserably, but I just am not the best; same with science. I honestly am actually good at writing, but that won't help me here.

Being not the best at math, is it a good idea to go for a CS degree?

My modules so far:

Year 1:
Algorithms & Data Structures in C
Object Oriented and Event Driven Programming (Java)
Introduction to software Development(Java)
Hardware, Software System and Graphics
Systems Modelling
Mathematics and Statistics for Computing Students
Introduction to Networking with LANS/WANS (CCNA1&2)
Introduction to Operating Systems

Year 2:
Further Programming Concepts in C++
Further Object Oriented Programming
Professional and Enterprise Development(no computing, career development)
Database Systems (SQL)
Systems Programming and Computer control (Advanced C) (My favourite so far!)
Computer Systems - Low level techniques (8086 Assembler)
Hardware and Software Systems and Networks (extension from year 1 module, mainly networking. Some network programming in C)
Principles and Practices of Software Production

As you can see i did a module in maths, this was compulsory to get everyone up to the same level. To be honest it covered some pretty hard maths that i haven't had to use yet and i don't think i will do. I was in the same boat as you with maths when i started and it has improved dramatically. The maths is not by any means the hardest part of the course. As far as science is concerned : Again, you dont need to be a genius at it but would be of great help if it interests you because as the name of the course suggests, its very scientific. :)

Hope thats helped.

Third edit (I think its one of those days!!) Have you done any programming before? They will teach you from scratch (or they should) but will probably cover the basics quickly so already knowing the basics before you start is going to be very beneficial to you. :)

urgh!!! 4th Edit: Does your university offer what is know as a sandwich course? I would highly recommend you do this if they do. It's another year between your second and final year which you work for a company doing a real job earning real money. You will graduate with 1 years experience already under you belt, have a massive advantage going into your final year and have an opportunity to earn some money and pay off some debts.

I got a job working for Eurocopter in Munich, Germany starting in July. I'll be doing some programming for some of the instruments in the cockpit of the Tiger Helicopter. Like i said, real job, real money and real experience.

Many students go back to work for their placement employer after they have graduated. It's such a fantastic opportunity.
 
I can tell you that there are some people with MacBook enrolled in the same courses as me and they don't really have a problem. If you do java, C or other programming languages and you find the right environment on OSX for debugging and everything you can really need any OS. If it is web coding OSX works too.
Sometimes you get small programs or homeworks for special topics in some courses that usually work only in Windows but with BootCamp or Parallels you are fine.
Sometimes you might have to use a different programming environment than everybody else. Visual Studio is often used but you can also always run it in Parallels. In Europe they prefer Open Source and generally use Eclipse which is available everywhere.

The biggest problem I think there is that there are often Notebooks that simply not want to work together with some projectors and MacBooks are quite often in this group. Depends on the School of course if you plug in your own notebook or simply take your usb drive to a connected PC.

For most programming assignments the workload is not that high and running them in a virtual machine should work good enough.
 
As noted, with virtualization of windows and linux, it's a non-issue. I'm doing a masters degree in cs using only a Mac with vms for windows and Linux. Most of the code you'll write that is destined to compile on a Linux box can even be written and tested in mac os x and then recompiled, usually without modification, in the linux environment. That is, unless or until you start coding gui apps for X.
 
The most highly regarded Comp Sci professor on the campus of the University I attend uses a Macbook Pro so I think you are good to go.
 
It differs from university to university. We've been taught in Java and C mostly so I was fine with OSX during my studies (MSc in computer sciences and applied mathematics). Unless you're forced to use VisualStudio for VB or whatever you're fine. You're fine anyway because you know...Macs run Windows, too ;)
 
Being not the best at math, is it a good idea to go for a CS degree?

Just read that. Brutal honesty? No.

At least be prepared to be hit with a sledgehammer. I know I was in first semester. Your results may vary of course, but be prepared to work a lot. Think of computer science as "maths with computers".
 
Being not the best at math, is it a good idea to go for a CS degree?
I missed this gem the first time around.

At my university you're 4 classes away from a B.S. in Math if you go the Coumpter Science route.
 
The Mac is an ideal platform for a CS student. Powerful, reliable, secure, and based on Unix so you have the full spectrum of Unix and XWindow tools for programming. Here's a google link with lots of information.

If/when you need Microsoft Windows, there's Boot Camp and (better yet, IMHO) VMWare Fusion. I use Fusion all the time in my Windows development. It's just so nice to be able to hot-key between a virtual machine running Windows or another OS and my lovely, always-stable Mac OS X environment. My early-2010 MacBook Pro does a fine job of running several virtual machines at once, too. I have several mostly-identical VMs with different versions of my software and development tools, which helps me prevent version-itis and test in a variety of environments (including WinXP and Win7) without having a roomful of computers. I keep it all sane by sharing the same Dropbox between my Mac and all my VMs, so each of the VMs has identical, current copies of my work on them.

(If you don't know about Dropbox, it gives you a free 2GB space on their server and a special folder on your Mac, Windows or Linux machine, and anything you put into the folder gets copied up to their server and replicated across all your machines and VMs. Essential! Sign up at https://www.dropbox.com/referrals/NTQ3NzczNjk for a free 2GB account; I'll get a little referral-space bonus too if you use that link. Really wonderful stuff.)

Anyway, as to the Mac: Recommended, highly. It really is the ideal platform for development.
 
This is all good info guys.

I have indeed already started teaching myself C++ so I shouldn't be a complete noob when I get there.

I think I am required to hit Calc 2 to be done with math. ;/ (along with a lot of other things)

Well I am planning on running out in a couple hours to get the MBP now so thanks for the backup (for the most part) on this.
 
So dependent on the curriculum

I voted yes because that was my experience but a question like this is going to be very dependent on the curriculum of the university. I started school with a windows desktop, had linux running on it primarily by the end of my second year and had switched over to OSX by the end of my 3rd. In my case though most development was done in Java and C to run on Linux so having X11 and ssh running natively was a plus, in a university geared toward Microsoft development this may not be the case.

Regardless of the results of this poll I think you aught to talk to someone at the school you will be attending, the fact that your system works great for 90% of the curriculums out there is not going to be much consolation if it does not work well in the one you are taking...
 
"Many CS students here have macs. I also pretty much exclusively use
macs. The great thing, in my opinion, about getting a mac today is
that they are good machines (albeit a bit spendy) and allow for both
windows (e.g., using boot camp) and OS X operating systems. Also,
since it is based on free bsd, you get all of the unix tools
(including g++)."


that's pretty much your answer right there. Mac it is. :)
 
Well I am planning on running out in a couple hours to get the MBP

Enjoy! They're freakin' marvelous machines. Don't forget your student discount! And at some point in your first year (need not be today) I highly recommend purchasing AppleCare.
 
Prepared to get slated by every other computer geek that probably hasn't seen the day of light in years.

When I mentioned I'm getting a macbook, almost 90% of them went "ewwww mac" Linux pwns all.

Had the same experience when buying my Blackbook.

A year later they were all buying unibody MBs :rolleyes:
 
I missed this gem the first time around.

At my university you're 4 classes away from a B.S. in Math if you go the Coumpter Science route.

This is ironic to me. I am professional web developer and do all the server side and client side programming (minimal design and graphical) work. I was fortunate to get into the business over the course of a decade of learning without the need for a college degree. I haven't completed more than high school level algebra (advanced), entry level statistics and probability, and geometry.

I find that I use more logic in a given day than actual math. The computer does the math for me if I can set up a logical expression. I find I program in reverse to most people. I don't think I am bad at math, but I most certainly am far from an expert.

To those that say a CS degree can't be done without being good at math may be correct. But you don't need to be a math major to make a good programmer, and nor does being good at math automatically make someone good at programming. Programming is much much more than just numbers and equation...at least good programming is IMO.
 
This is ironic to me. I am professional web developer and do all the server side and client side programming (minimal design and graphical) work. I was fortunate to get into the business over the course of a decade of learning without the need for a college degree. I haven't completed more than high school level algebra (advanced), entry level statistics and probability, and geometry.

I find that I use more logic in a given day than actual math. The computer does the math for me if I can set up a logical expression. I find I program in reverse to most people. I don't think I am bad at math, but I most certainly am far from an expert.

To those that say a CS degree can't be done without being good at math may be correct. But you don't need to be a math major to make a good programmer, and nor does being good at math automatically make someone good at programming. Programming is much much more than just numbers and equation...at least good programming is IMO.
I'm a Spanish major but you might not learn that from my posts around here. I know several Philosophy majors in IT and a Psychology one that isn't half bad.

I was lucky enough to get about 4 years of IT experience while in college and still receive a Liberal Arts education. I'm not in debt either. Not that I'd consider even student loans to be a good debt.

I was in CS for two semesters but I quickly learned that I loathed the programming aspects but enjoyed the theory.
 
Most of the programming taught at my school, and I assume most others, has been OS agnostic.

I went for the Macbook Pro 15 inch and don't regret it (although I kind of wish I went with the 17inch).
 
This is ironic to me. I am professional web developer and do all the server side and client side programming (minimal design and graphical) work. I was fortunate to get into the business over the course of a decade of learning without the need for a college degree. I haven't completed more than high school level algebra (advanced), entry level statistics and probability, and geometry.

I find that I use more logic in a given day than actual math. The computer does the math for me if I can set up a logical expression. I find I program in reverse to most people. I don't think I am bad at math, but I most certainly am far from an expert.

To those that say a CS degree can't be done without being good at math may be correct. But you don't need to be a math major to make a good programmer, and nor does being good at math automatically make someone good at programming. Programming is much much more than just numbers and equation...at least good programming is IMO.

In many ways you're right, but it's job dependent. I see the math part of a CS degree as pushing the students to keep learning to think logically. Discreet math also maps directly to many CS topics.

Daily in my job I use probability and statistics, set theory, and logic. Not as frequently I use almost all the other topics listed on wikipedia as discreet math. Also, keep in mind that my job is writing software for a company to make them more competitive and not writing scientific software or anything along those lines that one might think requires math.

At a minimum learning discreet math will make you a better software engineer.
 
I am a Computer Science & Engineering major. My 2-year old MBP got me through my first year. It could probably go another year, but for personal use it's getting to be a bit dated.

You will need to run Windows once in a while depending on what software your school uses. I need to use LogicWorks for a digital design class, and it is only available for Windows. You should be able to get Windows from your university or department for free or little cost. You can run it in VirtualBox, which is a free virtual machine app.

The other software we used, MATLAB and BlueJay (Java IDE), are both available for Mac.

Also, you said that you were good at writing. At my school (UConn), the CSE major does have a few writing-intensive classes (like the Digital Design class I am taking now). Technical writing is probably different than any other writing you have ever done but it is pretty easy if you have a decent writing background.

Well I am planning on running out in a couple hours to get the MBP now so thanks for the backup (for the most part) on this.

WAIT!!! Get the free iPod, if they have the promotion again this summer like they usually do!
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.