I was a graduation student from CS. The laptop you should buy should be easy for you to run XP and Linux. Since you do some programming about C and Java, Linux is good system for that. The hard drive and memory will be large enough. You can check the website here I think they can provide a reasonable price for the laptop or other computer component stuff if you want to build a desktop by yourself. http://www.onhop.ca/Product/Search/?keyword=acer&categoryid=0&x=24&y=4